当前位置:网站首页>RobotFramework 之 数据驱动
RobotFramework 之 数据驱动
2022-08-09 13:06:00 【沉觞流年】
RobotFramework 之 数据驱动
RF数据驱动
用例逻辑相同,每次输入的数据不同,并且数据量很大的时候,这时候就要使用到数据驱动。
比如测试输入框的内容,页面上有很多输入框,在输入框中要输入很多次数据进行验证,负数、0、小数、整数、中文、英文、特殊字符及组合输入。
总不能说每个输入框、每次输入都写一个测试用例进行验证,通过复制粘贴去修改内容,多麻烦。这时候用上数据驱动,就会省事很多
在RF中,通过使用 [template]用户关键字自发实现数据驱动
没有这种类型的例子进行很好的说明,依旧使用163邮箱登录进行举例验证
common.robot
*** Settings ***
Library SeleniumLibrary
*** Keywords ***
登录网易邮箱
[Arguments] ${
账号} ${
密码}
# 打开chrome浏览器访问163邮箱
open browser https://mail.163.com/ chrome
sleep 5
maximize browser window
# 切换到iframe
select frame xpath=//iframe[contains(@id,'iframe')]
# 用户名输入框中输入 用户名
sleep 2
input text xpath=//*[@name="email"] ${
账号}
sleep 2
# 密码输入框中输入 密码
input text xpath=//*[@name="password"] ${
密码}
sleep 2
# 点击登录按钮
click element xpath=//*[@id="dologin"]
sleep 10
关闭浏览器
close browser
[Template]关键字后的内容是定义的用户关键字,语法要求是后面接关键字
而此时用例的主体变成了要传递的参数的内容,对应的是${账号}、${密码}
(编辑器会识别不了该语法,因为第一个参数不是关键字,会报红,但运行是不会报错的)
test.robot
*** Settings ***
Library SeleniumLibrary
Resource common.robot
*** Test Cases ***
网易邮箱
[Template] 登录网易邮箱
用户名1 密码1
用户名2 密码2
注意,此时用例主体就不能再有其他关键字内容了,因为都变成了默认对应的参数${账号}、${密码},如果还有其他关键字内容,会被当成是对应的参数进行传递,或者参数不对应,产生报错
test.robot
*** Settings ***
Library SeleniumLibrary
Resource common.robot
*** Test Cases ***
网易邮箱
[Template] 登录网易邮箱
用户名1 密码1
用户名2 密码2
sleep 10
log 账号密码输入正确 登录成功
此时 sleep和 log都不被当成关键字了,而是当成是参数传递,因为 log一行相当于有3个参数,所以会产生报错
RF中的数据驱动没有python中来的方便,RF中没有关键字去读取excel中的数据,如果要在RF中使用比较复杂的数据驱动功能,还是推荐写成python模块,然后再进行引用
边栏推荐
- 快来扔鸡蛋。
- Realization of RTSP Protocol
- 时间序列分析课程实验报告
- uni-app - uview Swiper 轮播图组件点击跳转链接(点击后拿到 item 行数据, 取出数据做操作)
- Q_06_03 表达式
- 【瑞吉外卖】day05:增、删、改、查分类以及公共字段自动填充
- 绘制混合密度函数图以及添加分位数线
- Professor Chen Qiang's "Machine Learning and R Application" course Chapter 14 Assignment
- Process/Thread related in Sandbox - 1
- IDEA Gradle 常遇问题(一)
猜你喜欢

Unicom network management protocol block diagram

Q_04_05 使用Qubits

eslint语法规则报错

群组行动控制--自动队列化实现策略

19、学习MySQL 索引

How to solve the 0x80070005 error when the computer is reinstalled and the system is restored

render解析

FFmpeg multimedia file processing (the basic concept of ffmpeg processing stream data)

程序员的七夕怎么过?不会是写代码吧

GIN a preliminary study, the environment is installed
随机推荐
CPU-MIPS32 instruction architecture (unlocked pipeline microprocessor)
R语言kaggle 游戏数据探索与可视化
Oracle Recovery Tools修复空闲坏块
Draw a histogram with plot_hist_numeric()
Q_06_02 类型模型
[极客大挑战 2019]Upload
Anta and Huawei Sports Health jointly verify the champion running shoes and lead Chinese sports with innovation
PO、DO、TO、VO、DO、DTO、DAO、POJO都是什么?
GIN初探,环境安装
【奖励公示】第23期 2022年7月奖励名单公示:社区明星评选 | 新人奖 | 博客同步 | 推荐奖
面试攻略系列(四)-- 你不知道的大厂面试
Q_04_04 Q#类型模型
Q_06_03 表达式
NFS pays special attention to the problem of permissions
R 语言 2010.1至2021.12艾滋病每月发病人数 时间序列分析
IDEA Gradle 常遇问题(一)
时间序列分析课程实验报告
Map mixed density function and quantile added line
Record the system calls and C library functions used in this project-2
Q_06_04 语句和其他构造