当做在项目中使用Robot Framework功能自动化框架时,有时会出现需要获取界面text、做判断元素是否存在等等问题,现在做以下记录:
一、取消显示:Chrome正受到自动测试软件的控制的提示
每次执行Robot Framework时,浏览器顶部上显示,如下图
图1解决方法:
图2注:加了这段代码后就不用使用Open了,否则运行一次Robot Framework会出现两个浏览器页面如下
图3二、点击按钮后判断是否存在当前元素
1、当前页面提示存在此项目
图4项目实例:点击下一步按钮后,判断当前项目名称是否存在,存在时重新填写项目名称,不存在时跳转至另一个页面
图5解决方法:
图6 图7sleep 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
2、弹框提示该元素已存在
图8解决方法:
图9 图10sleep 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 进入选择测试辅助设备界面
三、执行循环操作
一般情况下很多人使用FOR循环输出,这里使用如下一行代码解决
图11sleep 1 Repeat Keyword 3 点击元素 jquery=button.btn.btn_add #循环3次点击添加按钮
sleep 1
四、上传文件操作
项目案例:
图12解决方法:
图13 图14sleep 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
五、遇到“动态ID”的情况
1.通过text
解:Click Element //button[contains(text(),'下一步')]
2.通过其他元素如class
3.通过父子级关系进行Xpath定位