RF新手常见问题总结
RF新手常见问题总结--(基础篇)
1. 经常有人问这个元素找不到,一般先排除这两个地方,再自己找找
A:是否等待了足够的时间让元素加载 (增加sleep xx, wait Until xxx)
B: 仔细查查,这个元素是否进入到另一个frame了 (select frame xxx)
上面两点都确定了还不行,那改变下xpath的方法
下面的方法掌握了,基本上没有找不到的。
C:xpath = //div[text()='web上显示的文本'] 根据文本匹配
还有一文本前后可能有空格,特殊字符,可以用部分文本来匹配
D:xpath = //div[contains(text(),'部分文本')]
E:还有找父节点的方法: ../ 这个自己去看看,会有收获的。
2. 有同学问:如何判断这个元素disable,或者置灰了
用F12仔细看看元素灰了和没灰,disable和enable的区别,基本都能看到有的属性发生了改变, class的值多了或者少了checked, 或者disable等
一般这种我都用到 get element attribute关键字,如下获取class的属性
${class_value} Get Element Attribute xpath=//div[@id=’123’]@class
你再判断 ${class_value}是否包含 disable,或者 check就可以得到其状态了
3. 有人说:我这个log怎么是乱码
[ {‘dst': u'\u6cb3\u5317\u77012'}, {"xxx": "bbb"} ]
取出u'\u6cb3\u5317\u77012', 然后log就是中文了
4. 还有人问,我怎么没这个Get from Dictionary关键字,
其实是你没加载这些库,我建议:新手必须加载的库
BuiltIn RF系统内部的,最基础的Run keyword xxx都在这里
String 字符串处理的库,文本处理必备
Collections 字典,列表的库,必备
Selenium2Library web测试入门库
OperatingSystem 操作windows系统命令,处理文件时要用到
AutoItLibrary 鼠标、键盘操作windows控件用这个
5. 还有人问我的数据库获取的怎么是乱码 ????? 一堆问号啥的
请在connect数据库时增加 charset=utf8 (我没弄过数据库的自动化,这个是看雪霁大神回答他人后记录下来的,还有其他可能的乱码,我不知道,请后续补充)
6. 还有人问,怎么设置全局变量
我们就谈谈RF变量的内部变量
${aaa} Set Variable haha 这个${aaa}是普通变量,就本case能用
Set suite variable ${aaa} 这个${aaa}就是测试suite变量
set global variable ${aaa} 全局变量${aaa},在哪都能传
Set Test Variable ${aaa} (这个我还没用到过)
7. 有人说,我的日志输出想改个路径
在运行界面:Arguments右边输入框这样写 -l E:\Robot_log\smoke_test_log -r E:\Robot_log\smoke_test_report
-l 是log的路径参数
-r 是report的路径参数
如果还有其他执行脚本的需求,请命令行pybot -? 自己看看,都在这里
8. 还有人问:我的脚本assert,我还想继续执行,不想停下来
用这个几个,保证让你停不下来的节奏。。。
Run Keyword And Return Status,
Run Keyword And Ignore Error
Run Keyword And Continue on Failure
9. 有新手经常问,我的浏览器怎么打不开
这种有提示:你的chromedriver没找到路径,我就不说了。
如果没这种提示的,基本就是你的ride,或者robotframework太旧了,还有就是你的浏览器版本太高了,
这种问题在道长经常在群里回答,我只是作为记录了,道长别找我要版权费哈。。。
10. 新手常见错误:If… Else if… Else 怎么不行
这个确实是rf的坑,平时keyword都没区分大小写,但是这套IF语句一定要大写。
还有比较的时候,${aaa} == ${bbb}报语法错误,
因为你比较的时候没这样 ‘${aaa}’ == ‘${bbb}’ (请加上英文的单引号)
11. 还有,我导入库怎么是红色的
第一:请确定你是用pip在线安装的,其他下载文件安装很可能没安装好。
第二:请注意库命的大小写
第三,如果是你自己的自定义库红色,先运行下,看提示log,报错误在哪行,自己搞定语法错误
12. 这个弹出框怎么处理
一般处理弹窗先增加等待,容错处理
先用这个试试:Dismiss Alert
不行再用下面的
Choose Ok On Next Confirmation
Confirm action
顺便:get alert message --- 获取弹出窗的信息
13. 需要验证提示信息,(提示输入非法等等)用到鼠标悬停
Mouse Over xxx这样鼠标就挺在那了
马上去获取提示信息,get text xxx
14. 日期控件怎么办,是否有关键字
RF没有日期控件的关键字,(我们是自己封装的)。
最简单的用js来执行 (我也不会js,找你们开发吧)
15. 这个下拉框我怎么选不上。
在浏览器F12下拉框
【正规的长这样 <option xxx> ,像下面这么用:
Select from List xpath=//xxx/xxx 灯姐
Selct from List by value xxxx 萤草奶妈
非正规的下拉一般长这样: <div xxxx >,
你就用下面方式
Click Element xpath = //xxx/div[2] ##先点下拉按钮
Click Element xpath=//xxx/xxx//div[text()='坦克程咬金'] ##再点下拉框中的元素
16. 那种2选1的按钮怎么做
官方称为Radio Button,在RF的selenium库中F5搜索 radio就有了
Select radio button xxx 男
17. 多选按钮怎么做
Select checkbox
18. Click Button点不到元素
可以尝试下: click element
19. 没有这样的关键字咋办
没错,在你没有办法的时候,RF找来了他的经纪人“Python老宋”来帮忙。
Evaluate 后面接你的python代码就可以了。
20. 有人问:为什么我的IF … ELSE 跑到一行了,写的时候我是分开了的。
这个不用担心,RF就是这样自动的弄到一行了,不影响的。
21. 有人问:For循环怎么写?
就下面这样写,注意for前面有个冒号
:For ${i} IN RANGE 10
Log ${i} --- for循环内的语句在ride中前面要空一格
Log 循环可以多行
22. 我写了IF语句,RF中如果让他执行多行关键字
对不起,rf的Run Keyword If语句后面不能像下面这样:
Run Keyword If ‘xxx’ == ‘xxx’ 语句1
语句2 //这样是不行的
语句3 //这样是不行的
下面这样是可以的
Run Keyword If ‘xxx’ == ‘xxx’ 语句1
Run Keyword If ‘xxx’ == ‘xxx’ 语句2
Run Keyword If ‘xxx’ == ‘xxx’ 语句3
RF新手常见问题总结的更多相关文章
- RF新手常见问题总结--(基础篇)
1. 经常有人问这个元素找不到,一般先排除这两个地方,再自己找找A:是否等待了足够的时间让元素加载 (增加sleep xx, wait Until xxx)B: 仔细查查,这个元素是否进入到另一个f ...
- Java程序的编写与执行、Java新手常见问题及解决方法|乐字节Java学习
今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法. 一.HelloWorld的编写 ① 新建一个XXX.java (文件的扩展名显示出来) ...
- ROS 新手常见问题汇总
版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5772469.html 该博文致力于汇总ROS常见问题及解答,让更多的人少走弯路,避免 ...
- JEECG 新手常见问题大全,入门必读
大家还有什么问题,请跟帖,谢谢支持.. JEECG常见问题大全 原文地址:http://t.cn/RvYsEF61. jeecg数据库脚本问题 注意:jeecg3.5.2之前版本,不需要数据库脚 ...
- React-Native hello word 搭建及新手常见问题
参考文档:http://reactnative.cn/docs/0.20/getting-started.html cmd 打开 敲入 1. npm config set registry https ...
- Bootstrap新手常见问题
题记 bootstrap这个开源的UI库确实很方便,用了两日,觉得不错,但也有些问题比较头疼! 主题 1.怎么使用?怎么定制?下面是一个范例,修改了navbar的颜色,重新设置了select控件的默认 ...
- python 新手常见问题
1.python 三元运算符 无,用 if else 2.python 设置代码缩进 全选..然后按tab 3.记录程序运行时间 import time time_start=time.time() ...
- Linux新手常见问题
yum与apt的区别 参考:https://blog.csdn.net/qq_26182553/article/details/79869666 ubuntu下su: Authentication f ...
- Android新手常见问题(一)
[1]AAPT2 error: check logs for details File->Settings->Build->Gradle一看path里有中文 最根本的原因是因为use ...
随机推荐
- (转)如何在maven的pom.xml中添加本地jar包
转载自: https://www.cnblogs.com/lixuwu/p/5855031.html 1 maven本地仓库认识 maven本地仓库中的jar目录一般分为三层:图中的1 2 3分别如下 ...
- acure使用
打开,选择用IE浏览器,如果选择Chrome浏览器会提示让安装插件
- 雷林鹏分享:jQuery EasyUI 数据网格 - 创建复杂工具栏
jQuery EasyUI 数据网格 - 创建复杂工具栏 数据网格(datagrid)的工具栏(toolbar)可以包含按钮及其他组件. 您可以通个一个已存在的 DIV 标签来简单地定义工具栏布局,该 ...
- Python字符串 --Python3
Python语言中,字符串是用两个双引号或者单引号括起来的词汇表或多个字符. 1.Python字符串的两种序号体系 反向递减序号:-- -9 -8 -7 -6 -5 -4 -3 -2 -1 正向递增序 ...
- Robin Hood CodeForces - 672D (二分)
大意: 给定数组$a$, 每次操作使最大元素减小1最小元素增大1, 求k次操作后最大值与最小值的差. 二分出k次操作后最大值的最小值以及最小值的最大值, 若和能平分答案即为$max(0,R-L)$, ...
- SWUST OJ(1103)
删除顺序表中指定区间的数据 #include <iostream> #include <cstdlib> using namespace std; int main() { i ...
- 52. N-Queens II N皇后II
网址:https://leetcode.com/problems/n-queens-ii/ 方法1:按照逻辑思路,通过回溯法解决问题.速度较慢! class Solution { public: vo ...
- sql server中的varchar和Nvarchar有什么区别?
很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大 ...
- Spring Http Invoke 请求过程图
Spring Http Invoke 请求过程图:
- 微信 + weui 框架记录
WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一: 包含button.cell.dialog. progress. to ...