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
上面那样太麻烦,我有很多语句那咋办?
恭喜你,那只能自己封装关键字了,正好练习下封装技能!哈哈。。。
 
【特别说明】
  因为文档是在word中写了copy来的,其中编码的地方如果是引号,请全部用英文符合

原文地址:https://www.cnblogs.com/xiaohuhu/p/9321047.html

时间: 2024-11-15 13:50:56

RF新手常见问题总结--(基础篇)的相关文章

【新手学Python】一、基础篇

由于以前处理数据用Matlab和C,最近要处理大量文本文件,用C写实在是太繁琐,鉴于Python的强大文本处理能力,以及其在Deep Learning上有着很大优势,本人打算从即日起学习Python,谨以此系列博客记录学习点滴.文中如有错误,还望大牛们指出! Section 1: 本文是第一篇,当然也是基础,有了编程基础的我们都知道,学习一门语言什么最重要?当然先搞清楚数据类型和数据结构,有了这些,你才能去谈面向对象,才能去设计程序. Python的数据类型比较简单:1.整数;2.长整数;3.浮

小白C#窗体基础篇

逆天最近身体出了点问题,回家只想好好轻松一下,就写小白基础篇吧,相信这一篇对初学者才有大用:希望各位亲们,能看完,看完你就会了,就会懂的更多好了,不多说了,步入正轨: 先说一下怎么创建WinFrom窗体——看图:  框架:(一般情况下)2.0——xp    3.0——win7旗舰版本或以上版本(专业版,企业版)4.0——win8    用的是GHOST系统就另说,装了框架的系统也可以运行对应框架的软件 左边的工具箱是控件,那个自动生成的窗口就是一个简单的WinFrom了 右边的是列表和菜单属性,

Centos6.5 x86_64系统安装kvm虚拟机—基础篇

KVM简介: KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机). 是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案. 它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko). KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面. KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,

WebBug靶场基础篇 — 03

基础篇 6 - 16 关... 在记录之前,先说一件事 = =! 小学生真多 = =!好心提供一个靶场,玩玩就算了,他挂黑页 ?现在好了,以后这个靶场不对外啊!你高兴了?爽了吧? 都是新手过来的,好心搭个公网的漏洞网站,还真有挂黑页的... 第六关... 这个关卡设置的有点问题,只有一个登陆框,也没给提示账号密码,弱密码也试了好几波,都没进去 = =!然后我就去数据库里看看密码 = =! 毕竟源码设计的还是有问题,然后我就开始登陆了. 看到这里,直接抓包,毕竟不就是一个修改参数的漏洞嘛... 是

Hybrid APP基础篇(二)-&gt;Native、Hybrid、React Native、Web App方案的分析比较

说明 Native.Hybrid.React.Web App方案的分析比较 目录 前言 参考来源 前置技术要求 楔子 几种APP开发模式 概述 Native App Web App Hybrid App React Native App 分析 各大开发模式直观对比 如何选择开发模式 另类的app方案 微网页 微信小程序 其它 前言 参考来源 前人栽树,后台乘凉,本文参考了以下来源 对当前主流hybrid app.web app与native app工具的初步比较与分析 H5.React Nati

《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) <量化投资:以MATLAB为工具>简介 <量化投资:以MATLAB为工具>是由电子工业出版社(PHEI)下属旗舰级子公司——北京博文视点资讯有限公司出版的<量化投资与对冲基金丛书>之一,丛书主编为丁鹏博士,<量化投资:以MATLAB为工具>由李洋(faruto)

Spark学习体系整理(基础篇、中级篇、高级篇所涉及内容)

新手刚开始学习比较迷茫,参考下面,然后找相关资料学习 1 Spark基础篇      1.1 Spark生态和安装部署          在安装过程中,理解其基本操作步骤.          安装部署            Spark安装简介            Spark的源码编译            Spark Standalone安装            Spark Standalone HA安装            Spark应用程序部署工具spark-submit      

Mvc中使用MvcSiteMapProvider实现站点地图之基础篇

MvcSiteMapProvider 是针对 ASP.NET MVC 中,提供菜单. 网站地图. 站点地图路径功能,以及更多的工具.它提供配置使用一个可插入的体系结构,可以是 XML. 数据库或动态生成导航结构的能力. 如图: 在MvcSiteMapProvider 中有三种方式来实现站点地图:XML,.NET Attributes,IDynamicNodeProvider. 下面,我们先通过XML方式来实现站点地图. 1.新建Mvc4项目,选择Internet应用程序.然后通过Nuget来安装

风雨java路之【基础篇】——异常的那些事儿

异常,说白了,就是不正常,就是由于种种原因产生了非正常的结果.生活中此现象比比皆是,举个简单的例子: 去ATM机取钱,插入银行卡,没反应,这就是异常,可能是机器坏了,也可能是卡消磁了等等:读卡成功,输入密码时,铵错按钮,这也是异常:密码正确,想取¥1000,结果余额不足,这又是异常:钱取完了,卡被吞了,这还是异常:-- 拿人来说,沙尘迷眼了,这是异常情况:喝水呛着了,这也是异常:水指不小心划破流血了,这也是异常:-- 出现这些情况该怎么办?那就需要"异常机制",对于ATM机,他有自己的