RFS自动化测试工具安装与使用总结

news2024/9/24 6:02:46

一,调试

1,在调试时,总时提示“无法打开浏览器”
解决办法:
1,把浏览器的代理关闭
2,把浏览器的显示比例调到100%
3,在IE设置的安全选项中,把启用保护模式开启
4,去除进入系统弹出的登录提示
在浏览器中—工具—internet选项—安全—把只在intranet自动登录,改为匿名登录

二,安装加载库

1,RequestsLibrary
先安装Requests工具,再安装RequestsLibrary
再在robot中进行加载lib,如果加载的库还是红色的,重启就可以了

三,常用关键字

open browser 打开浏览器
input text 在文本框中录入内容
input password 在文本框中录入密码
click button 点击按钮
page should (NOT)contain (link,button,element,checkbox,list) 页面是否出现指定的内容

close browser 关闭浏览器

多个打开浏览器切换
open browser http://127.0.0.1:8000/ ie local
switch browser local

针对页面弹出窗口的确认键
confirm action----类似于点击弹出窗的确认或OK键

alert should be present 当前弹窗的内容 -----判断当前指定内容的弹窗是否存在

get alert message—获取弹出窗的信息

${msg}= get alert message

should be equal as string ${msg} *****

在弹窗中选择取消操作

a,choose cancle on next confirmaction

b,confirm action

设置日志级别
Set Log Level TRACE

下拉列表
select from list xpath value
select from list by value xpath value
select from list by index xpath value

框架
select frame id=fra
unselect frame

复选框
select checkbox id=CheckYes
unselect checkbox id=CheckNo

checkbox should not be selected
select checkbox
checkbox should be selected

单选框
select radio button radio1—单选框名称 A–value)

click element id=registerGenderMale

Oracle数据库
connect to database using custom params(关键字) cx_Oracle 用户名,密码,SID
${row} row count select * from 表1;

等待页面加载
wait until page contains element
sleep
reload page—刷新

注释
Comment

几个关键字的区别
Wait Until Keyword Succeeds
wait until page contains element
SLEEP
element should contain
page should contain element
page should contain
Element Should Not Be Visible

判断的使用

判断条件—数字对比
Run Keyword If ${res} == 0 执行的关键字
… ELSE 执行的关键字2

判断条件—字符对比
Run Keyword If ‘ r e s ’ = = ‘ t t t t t ′ 执行的关键字判断条件 − − − 布尔类型对比 R u n K e y w o r d I f ′ {res}’ == ‘ttttt' 执行的关键字 判断条件---布尔类型对比 Run Keyword If ' res==ttttt执行的关键字判断条件布尔类型对比RunKeywordIf{res}’ == ‘${true}’ 执行的关键字

HTTP接口
create session httpserver http://localhost:8000
${addr} Get request httpserver users/s
should be equal as strings ${addr.status_code} 200
log ${addr.content}
${resp} tojson ${addr.content}

四,常见问题解答

1,定位不到元素
Element locator ‘//input[@id=“registerName”]’ did not match any elements.
前端代码

解决方法: 先从最里面的元素开始一级一级往上找,找到iframe,然后先select frame这个ID就可以定位到里面的元素了。

2,InvalidElementStateException: Message: u’Element must not be hidden, disabled or read-only’
针对根据复选框的状态,解决文本框中默认带出内容时。如果这样写就会报错
select checkbox id=noLicenseFlag
input text id=registerName 湘A*
像这样的组合,后面那句input text id=registerName 湘A*直接删除就可以了。

3,页面操作按钮提示找不到elements
click button id=carInfoSubmitBtn
改为click element id=carInfoSubmitBtn

4,根据录入框内容弹出框框,定位不到元素
采用相对路径的方式定位,用firefox浏览器打开地址,按F12获取元素位置,右击—选择复制XPATH
放在脚本中形式为:xpath=/html/body/div[9]/div[2]/table/tbody/tr[4]/td[4]

6,InvalidElementStateException: Message: u’Element must not be hidden, disabled or read-only’
出现这个现象是因为脚本执行快,而页面的元素还没有加载完成造成的。
等待页面加载
wait until page contains element或sleep

7,页面执行时没有报错,但一直停在那里了
利用Mouse out 关键字,移开鼠标动作。

8,使用close broswer关闭浏览器不起作用
首先安装pywin32-217.win32-py2.7.exe,再安装AutoItLibrary库,在close broswer关键字
下一行,增加删除进线的关键字: process close iexplore.exe

10,查看所有有关robot相关库的版本
pip list

11,通过pip升级库或程序版本
1,Python -m pip install --upgrade pip
报错:
You should consider upgrading via the ‘python -m pip install --upgrade pip’ command.
2,根据提示,执行命令
python -m pip install --upgrade pip
报错:Requirement already up-to-date: pip in c:\python27\lib\site-packages
3,找到c:\python27\lib\site-packages下这个目录pip-8.1.1.dist-info并删除,重新执行
python -m pip install --upgrade pip
4,查看是否更新成功
pip list后显示最新版本

12,利用pip更新库或RIDE或robot
pip install robotframework-ride --upgrade
再用pip list可以看到升级成功的版本号了

13,Run Keyword And return status关键字识别不了
利用pip更新RIDE,robot,selenium2Library

14,ImportError:No module named cx_Oracle
根据连接oracle客户端的版本如:11G,操作系统是32位还是64位
安装对应的cx_Oracle安装包,如:cx_Oracle-5.1.2-11g.win32-py2.7

15,Unable to acquire Oracle environment handle
在oracle客户端的目录中把oci.dll,oraocci11.dll,oraociei11.dll文件复制到C:\Python27\Lib\site-packages目录中

16,日志目录
Log: d:\users\liujun~1\appdata\local\temp\RIDEwzyfth.d\log.html
Report: d:\users\liujun~1\appdata\local\temp\RIDEwzyfth.d\report.html

17,在IE中如果click不起作用,用如下关键字
press key id=kw \13

18,单选框实例

select radio button register.gender M

19,下拉列表实例

select from list class="pa_ui_dropselect_inner paui-clearfix" 江北区

20,通过PIP安装Selenium2Library报错
C:\Users\Administrator>pip install Selenium2Library
Collecting Selenium2Library
Could not find a version that satisfies the requir
versions: )
No matching distribution found for Selenium2Library

解决办法:
pip install robotframework-Selenium2Library
就可以了

21,安装IEDriver报错
WebDriverException: Message: ‘IEDriverServer.exe’ executable needs to be in PATH. Please download fromhttp://selenium-release.storage.googleapis.com/index.html and read up athttps://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver
解决办法:
下载对应系统版本的IEDriverServer.exe放在IE的安装目录下和Python的根目录下,并设置PATH。

22,滚动鼠标拖动滚动条到最顶部或最底部
execute JavaScript id.scrollTop其中id为滚动条区域对应的id,用法:
如:execute javascript J_introCon.scrollTop=0是拖到最顶部,execute javascript J_introCon.scrollTop=100000是拖到最底部

23,在CASE中的setup中可以设置运行CASE前,运行SETUP里面的关键字。teardown中可以设置运行CASE后,指定要运行的关键字

24,满足条件结束脚本
exit for loop
如:如果count值为0,则结束CASE
run keyword if ${count}==0 exit for loop

25,执行SQL时报错:DatabaseError:ORA-00911:Invalid character
去掉SQL后面的 ;

26,执行SQL查询
Execute sql String select * from 表名

最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/376812.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

layui框架学习(12:进度条)

进度条是应用系统中的常见元素,无论是上传文件、下载文件、加载内容时都会显示进度条,Layui支持设置线条形进度条的样式,同时支持通过element模块动态操作进度条。   进度条样式分为两级结构,顶层一般为div元素,其cl…

【Opencv项目实战】背景替换:动态背景移除与替换(cvzone)

文章目录一、项目思路二、环境布置2.1、cvzone安装2.2、MediaPipe安装2.3、常见问题2.4、注意事项三、算法详解3.1、segmentor.removeBG():去除背景(抠出图像中的人)3.2、cvzone.stackImages():堆叠图像3.3、fpsReader.update()&a…

Hot Chocolate 构建 GraphQL .Net Core 服务

Hot Chocolate 是 .NET 平台下的一个开源组件库, 您可以使用它创建 GraphQL 服务, 它消除了构建成熟的 GraphQL 服务的复杂性, Hot Chocolate 可以连接任何服务或数据源,并创建一个有凝聚力的服务,为您的消费者提供统一的 API。 我会在 .NET 应用中使用…

mysql一两种索引方式hash和btree

1. Hash索引: Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索…

FFmpeg 编译和集成

背景FFmpeg 是一款知名的开源音视频处理软件,它提供了丰富而友好的接口支持开发者进行二次开发。FFmpeg 读作 “ef ef em peg” ,其中的 “FF” 指的是 “Fast Forward”,“mpeg” 则是 “Moving Picture Experts Group” (动态图…

隧道代理的工作原理是什么,为何爬虫使用起来更高效?

在网络爬虫领域,使用HTTP代理是非常普遍的一种技术手段。而隧道代理则是HTTP代理中的一种,它是指将请求通过隧道传输到代理服务器上,并由代理服务器向目标服务器发送请求,从而达到隐藏真实IP的目的。那么,隧道HTTP代理…

告别空指针让代码变优雅,Optional使用图文例子源码解读

一、前言 我们在开发中最常见的异常就是NullPointerException,防不胜防啊,相信大家肯定被坑过! 这种基本出现在获取数据库信息中、三方接口,获取的对象为空,再去get出现! 解决方案当然简单,只…

华为OD机试模拟题 用 C++ 实现 - 最优资源分配(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明最优资源分配题目输入输出描述备注示例一输入输出说明示例二输入输出说明Code使用说明 参加华为od机试,一定要注

2023 Java 分布式 面试 大纲

前段时间 ,公司部门的HR找到我,说来了几份简历 ,都是三年所有的开发 让我面一下, HR那边 一面核对了基本的信息 二面技术,是由我来接手,然后问了 一些分布式的问题 ,大部分都是在围绕着SpringCl…

这回稳了!电力巡检低功耗摄像头全新来袭

最近的狂飙成为大家的话题,互联网的发展让很多信息都很透明,这个也是我比较喜欢和各位技术大咖一起分享一些当下比较前沿的解决方案 春回大地,疫情远去,我们也没有理由逃避不去努力,在互相网的各种平台去获取各种自己需…

安全配置检查的必要性?以及检查流程

随着行业信息化建设的不断深入,生产、业务支撑系统的网络结构越来越复杂,由此带来的各种应用和服务器的数量及种类也日益增多,一旦发生维护人员错误操作,或者采用一成不变的初始系统设置,就可能会带来安全隐患&#xf…

〖大前端 - 基础入门三大核心篇②〗- 前端开发工具和环境准备

大家好,我是 哈士奇 ,一位工作了十年的"技术混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 &#x1f4e…

2020蓝桥杯真题跑步锻炼(填空题) C语言/C++

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝每天都锻炼身体。 正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝…

TCP协议原理三

文章目录七、延时应答八、捎带应答九、面向字节流粘包问题十、TCP异常情况总结七、延时应答 如果说滑动窗口的关键是让窗口大一些,传输速度就快一些。那么延时应答就是在接收方能够处理的前提下,尽可能把ack返回的窗口大小尽可能大一些。 如果在接受数据…

关于事务的理解

事务的概念 事务处理几乎是每一个信息系统中都会涉及到的问题,它存在的意义就是保证系统中的数据是正确的,不同数据间不会产生矛盾,也就是保证数据状态的一致性(Consistency)。 关于一致性,我们重点关注的…

MySQL —— 基本查询

文章目录1. 向表中插入数据2. 查询操作2.1 全列查询2.2 指定列查询2.3 查询字段带表达式2.4 为查询结果指定别名2.5 去重操作3. where 条件3.1 比较运算符和逻辑预算符的运用3.2 like的细节3. 3 null查询4. 对查询的结果进行排序4.1 对单一字段进行排序4.2 对多个字段排序4.3 对…

密码学基础概念

把一段原始数据通过某种算法处理成另外一种数据(原始数据为明文,处理后的数据为密文)。明文->密文:称之为加密。密文->明文:称之为解密。 在加密过程中我们需要知道下面的这些概念: 1)明文…

操作系统——10.进程通信

这篇文章我们来讲一下进程通信的相关内容 目录 1.概述 2.什么是进程通信 2.1进程通信——共享存储 2.2进程通信——管道通信 2.3进程通信——消息传递 3.小结 1.概述 首先,我们来看一下这节内容的大体框架 2.什么是进程通信 顾名思义,进程通信就是…

QML 鼠标事件

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 QML 中有一些元素本身是不具备交互能力的(例如:Rectangle、Text、Image 等),那么如何通过鼠标来控制它们的行为呢?这里就需要用到 MouseArea 元素了,它继承于 Item 且不可见,通常需要与可见元素结合使…

【vue2小知识】路由守卫的使用与解决RangeError: Maximum call stack size exceeded问题的报错。

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:当我们在路由跳转前与后我们可实现触发的操作 【前言】当我们在做类似于登录页面的时候&…