Robotframework自动化新手常见问题总结--(基础篇)

转载 2018年04月16日 23:37:12
转载自:@

qq_20032133

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测试入门库
OperationSystem     操作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/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
上面那样太麻烦,我有很多语句那咋办?
恭喜你,那只能自己封装关键字了,正好练习下封装技能!哈哈。。。
 

2000年4月全国计算机等级考试三级(B)笔试试卷(下)

2000年4月全国计算机等级考试三级(B)笔试试卷(下)(51) 网络协议的三个要素是语法、语义与  A) 工作原理 B) 时序 C) 进程 D) 服务原语    (52) TCP/IP参考模型中,电...
  • ghj1976
  • ghj1976
  • 2001-04-11 09:32:00
  • 1541

robotframework自动化系列:删除操作流程以及总结

之前已经完成了登录、新增和修改的操作流程,这一节主要说明删除操作流程以及自动化的过程中出现的问题,算是对这个项目自动化的一个总结。 删除操作流程 对于系统账号管理中删除功能,删除的测试点主...
  • qq3401247010
  • qq3401247010
  • 2017-11-22 19:47:26
  • 368

阿里云新手入门篇

阿里云初次使用遇到的问题
  • RodJohnsonDoctor
  • RodJohnsonDoctor
  • 2015-04-17 09:53:46
  • 954

Appium+Robotframework iOS自动化测试

Appium+Robotframework iOS自动化测试环境搭建
  • u013921325
  • u013921325
  • 2016-03-03 09:40:29
  • 2461

Appium+RF实现手机应用的自动化测试-iOS篇

  • 2017年03月12日 14:43
  • 1.7MB
  • 下载

RobotFramework客户端RIDE完成对Android系统的自动化测试示例

说明:下载AndroidDemoProject.apk包,下载地址:http://pan.baidu.com/s/1gdH27pp,此包为未签名 步骤一:首先启动Appium Server 与and...
  • WHACKW
  • WHACKW
  • 2015-09-28 16:54:47
  • 3327

Appium+Robotframework实现手机应用的自动化测试-1:Appium简介

使用Appium已经有一段时间了,我是结合之前用了很久的Robotframework来写Appium的自动化脚本,对Android和iOS的原生应用都已经实现了自动化测试,现把自己的一些经验和心得分享...
  • wd168
  • wd168
  • 2016-06-08 22:02:40
  • 1299

学习鸟哥的Linux私房菜基础篇总结(上)(0-9章)

最近学了鸟哥的Linux私房菜基础篇,然后把自己觉得自己用得到的命令,做了一个总结。希望能帮到其他小伙伴们。...
  • WSYW126
  • WSYW126
  • 2016-04-29 16:30:22
  • 756

RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第一篇【安装】

首先我们先罗列一下我们要安装的软件 1. JDK ,本人用的是1.7的版本; 2. SDK; 3. Appium; 4. Python27; 5. wxPython,科普:wxPython是Pytho...
  • deadgrape
  • deadgrape
  • 2016-01-22 17:00:12
  • 8748

python+robotframework --第一个UI自动化脚本

第一个脚本拿百度查询来做示例 脚本内容如下: *** Settings *** Documentation   A test suite containing tests related to...
  • qialinlong
  • qialinlong
  • 2017-04-26 15:19:17
  • 1096
收藏助手
不良信息举报
您举报文章:Robotframework自动化新手常见问题总结--(基础篇)
举报原因:
原因补充:

(最多只允许输入30个字)