Robot Framework之项目经典案例分析

当做在项目中使用Robot Framework功能自动化框架时,有时会出现需要获取界面text、做判断元素是否存在等等问题,现在做以下记录:

一、取消显示:Chrome正受到自动测试软件的控制的提示

每次执行Robot Framework时,浏览器顶部上显示,如下图

图1

解决方法:

图2

注:加了这段代码后就不用使用Open了,否则运行一次Robot Framework会出现两个浏览器页面如下

图3

二、点击按钮后判断是否存在当前元素

1、当前页面提示存在此项目

图4

项目实例:点击下一步按钮后,判断当前项目名称是否存在,存在时重新填写项目名称,不存在时跳转至另一个页面

图5

解决方法:

sleep 1

Click Element //button[contains(text(),'下一步')] #点击下一步

Comment 使用IF语句判断ZenChain名称是否存在

sleep 3

${cz} Run Keyword And Return Status Page Should Contain 添加失败,zenChain名称已存在 #判断zenChain名称是否存在

Run Keyword If "${cz}"=="True" Run Keywords 文本框输入 jquery=input#tttt.form-control.required AAAA ... AND sleep 3 ... AND Click Element //button[contains(text(),'下一步')] #点击下一步

... ELSE log 进入选择系统配置参数界面

sleep 3

图6
图7

2、弹框提示该元素已存在

图8

解决方法:

sleep 1

Execute Javascript $("button.btn.btn_save").eq(4).click() #下一步

sleep 5

Comment 使用IF语句判断弹框是否存在

${tk} Run Keyword And Return Status Page Should Contain 添加失败 ,APK ZenChain名称 已存在 #判断弹框是否存在

Run Keyword If "${tk}"=="True" Run Keyword 温馨提示弹框 #重新填写参数

... ELSE "${tk}"=="False" log 进入选择测试辅助设备界面 

图9
图10

三、执行循环操作

一般情况下很多人使用FOR循环输出,这里使用如下一行代码解决

sleep 1 Repeat Keyword 3 点击元素 jquery=button.btn.btn_add #循环3次点击添加按钮

sleep 1

图11

四、上传文件操作

项目案例:

图12

解决方法:

sleep 1

Control Send 打开 ${EMPTY} [CLASS:Edit; INSTANCE:1] C:\\Users\\admin\\Desktop\\plan.txt #输入框

sleep 1

Control Click 打开 ${EMPTY} Button1 LEFT #打开按钮

sleep 2

Execute Javascript $("button.btn.btn_save").eq(2).click() #上传

sleep 1

图13
图14

五、遇到“动态ID”的情况

1.通过text

解:Click Element //button[contains(text(),'下一步')]

2.通过其他元素如class

3.通过父子级关系进行Xpath定位

你可能感兴趣的:(Robot Framework之项目经典案例分析)