当前位置:网站首页>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模块,然后再进行引用
边栏推荐
- Q_04_04 Q#类型模型
- handwritten big pile
- FPGA - Summary of bugs in ISE (in update)
- ArcEngine(八) 选择要素并高亮显示
- GIN Bind mode to get parameters and form validation
- npm install失败
- 5G China unicom AP:B SMS ASCII Transcoding Requirements
- Map mixed density function and quantile added line
- NC192 二叉树的后序遍历
- FFmpeg多媒体文件处理(FFMPEG日志系统)
猜你喜欢
随机推荐
缓存和数据库一致性问题
NC192 二叉树的后序遍历
陈强教授《机器学习及R应用》课程 第十五章作业
【NVIDIA】Tesla V100安装NVIDIA-Driver驱动程序适配CUDA-Toolkit-11.6
Professor Chen Qiang's "Machine Learning and R Application" course Chapter 16 Assignment
An Offer 21. Adjust the array in order to make odd in even the front (loop invariant)
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(循环不变量)
FFmpeg多媒体文件处理(ffmpeg操作目录及list的实现)
NC7 买卖股票的最好时机(一)
Realization of RTSP Protocol
ftplib+ tqdm upload and download progress bar
5G 联通网管设计思路
IDEA Gradle 常遇问题(二)(持续更新)
telnet+ftp to control and upgrade the device
[MRCTF2020]套娃-1
Q_07 词汇表
剑指 Offer 56 - II. 数组中数字出现的次数 II(位运算)
Q_06_02 类型模型
NC84 完全二叉树结点数
LeetCode 37.解数独









