多测师讲解自动化_rf框架搭建_高级讲师肖sir
robot framework:自动化测试框架(简称RF框架)
Python3.7
RIDE(可视化界面)、 Wxpython pip(在线下载) 、 setuptools(在线安装) 、 第三方库
第三方库:selenium2library (ui自动化)、requestlibrary(接口自动化)、databaselibrary(数据自动化)、appium
搭建自动化环境
自动化测试
广义:拿某一个工具测试某一个软件
拿某一个程序测试某一个程序
狭义:通过录制或者编写脚本,然后通过回放或执行脚本来执行测试用例
什么是自动化测试?
自动化测试就是使用某种工具或自己化脚本代替手工测试,实现自动测试;
常见几种自动化工具:
1、QTP:前几年主流
2、Selenium:用 selnium 做自动化要求会语言,写代码 selnium支持多种语言,方便,扩展性 高,开源版
3、RobotFramework+Selenium2Library:(RF是测试框架),Robot Framework是一款python编写的功能自动化测试框架,
4、自动化测试分层,金字塔
ui自动化:模拟用户操作的自动化 ,按整个流程跑
api 层 接口测试
Unit后端代码层
Q:自动化测试如何维护(待回答)
自动化测试流程:了解需求、写自动化测试用例、调试用例、
5、RIDE的结构:工程(项目)-->套件(suite)-->用例(test case)-->资源(齿轮形状)-->元素
open test suite 导入本地已有的套件
comment 相当于#,表示注释
F8 执行用例
view RIME Log 查看日志
RF的工作原理:
rotoframwork是开源,通过 加载一下第三方库的组成测试环境
webdirver通过对原生api进行封装来 操控浏览器,使用具体关键字操作网页上的元素
需要的工具
python3.7 (python语言环境)
注意:安装 robotframework 时指定安装 3.1.2 版本,否则易出现关键字缺失的问题
安装 robotframework==3.1.2 (在线安装)
Wxpython4或 (GUI(图形用户界面)工具)
robotframework-ride(图形可视化工具)
Setuptools(安装第三方工具:目的方便在下安装,下载,编译)
Selenium2library(第三方库:做自动化的第三方库)
Requestlibrary(第三方库:做接口测试用)
databaselibrary(第三方库:做接口数据库用)
第三方库:selenium2library (ui自动化)、requestlibrary(接口自动化)、databaselibrary(数据自动化)、appium
搭建自动化环境
安装步骤1.安装python2.7(之前安装过)
第一步 :环境变量配置
环境变量path配置1: D:\Python3.7
环境变量path配置2: D:\Python3.7\Scripts
确认环境变量已配置成功,在dos中执行python,有交互页面,显示python版本号
2.安装robotframework
第一步:pip install robotframework==3.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
确认是否安装成功,可以在D:\Python37\Lib\site-packages看到(以自己真实的python安装路径为主)
robotframework-3.0-py3.7.egg-info或者robotframework-3.0-py3.7.egg
表示已安装成功;
3、安装robotframework-ride
在线安装:
pip install robotframework-ride -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
ride安装成功,会在D:\Python27\Scripts下生成一个ride.py文件
4、. 安装wxpython(gui库)
Gui:图形化界面或图形用户接口
wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。
***直接通过命令安装(推荐使用)
注意:安装 robotframework-ride 后,wxPython 可以不需要再去安装
pip install -U wxPython -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
第四步:双击ride.py 打开robotframework-ride可视化图形工具
第五步:创建桌面图标(可做可不做)
新建快捷方式,点击快捷键,鼠标右键属性,在目标中输入如下
\Python37\pythonw.exe -c "from robotide import main; main()"
这里注意D:python27 是你自己的python安装路径
、
5、
选择图标,点击更改图标,输入如下
D:\Python37\Lib\site-packages\robotide\widgets\robot.ico
C:\python37\Lib\site-packages\robotide\widgets\robot.ico
这里注意D:python37是你自己python安装路径
最终:快捷键配置正确,可以通过快捷键打开robotframework-ride可视化图形工具
6. easy_install安装第三方库(自动下载、编译和安装)
第一步:在DOS中进入
安装 robotframework-selenium2library
- pip install robotframework-selenium2library -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
安装成功后:D:\Python37\Lib\site-packages路径下会有selenium2library
7. 谷歌驱动存放路径设置
第一步:把chromedriver驱动放到c:python37/Scripts
8、
搭建环境遇到的问题及解决方法:
1、python要添加到环境变量的path中
2、错误:command: pybot.bat --argumentfile c:\users\keikei\appdata\local\temp\RIDEama2ym.d\argfile.txt --listener D:\Python27\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py:52418 E:robot\测试项目
解决:将“C:\Python37\Scripts ”添加到PATH环境变量中。命令提示符号查看,RF版本。提示pybot 不是内部命令,说明环境变量设置有问题。
3、RIDE的属性目标需要修改:C:\Python37\Python.exe -c "from robotide import main; main()"
4、我们常常会遇到,安装完成RIDE 后,双击桌面的RIDE 不能启动的情况,这是由于RIDE 所依赖wxPython 版本不一直造成的。重新安装相应的版本
二、rf工具使用
在你安装好RF-ride之后,桌面就会生成一个RIDE图标。双击启动,界面如下:
下面我们就一步一步的创建第一条用例,至于细节不多解释,只是对RF框架写用例有个感性的认识。
创建测试项目
选择菜单栏file----->new Project
Name 输入项目名称。
Type 选择Directory。
注意:父目录必须存在。(parent Diretory)
创建测试套件
右键点击“测试项目”选择new Suite 选项
Name 输入项目名称。
Type 选择File。
创建好显示如下
创建测试用例
右键点击“测试项目”选择new Test Case
用例只需要输入用例name ,点击OK即可。
导入selenium2library库
因为RF框架编写基于web 的测试用例,所以,我们需要selenium 的库支持。所以,我们在使用的过程中需要加载selenium2library库。
在“测试套件”的Edit标签页,点击“Library”按钮,弹出输入框,Name输入:Selenium2Library ,点击OK 完。
如果导入的库显示为红色,表示导入的库不存在。如果是黑色则表示导入成功。
编写用例
下面就可以开始写我们的用例了,可是怎么写呢?我们可以通过按F5 快捷键来查询脚本的关键字。如果你接触过QTP 或 selenium IDE 等自动化工具的话,应该会有一些思路。
如上图,自动化脚本从打开浏览器开发,如上图,我想打开一个浏览器,想的是“open”为关键字进行搜索,结果找到了一个“Open Browser”的关键字,点击这个关键字,想显示它的用法和说明。
根据说明,我们来尝试创建这个打开浏览器的操作吧:
ctrl+atl+空格键:联想功能
“Open Browser”变蓝了,说明它是一个合法的关键字,后面有一个方框是红色的,表示这个参数不能缺省的。通过说明信息中,我发现它需要一个url 地址是必填的,当然还需要指定browser (默认不填为 friefox)
更多关键的使用,请参考相关API 文档。这里不过多介绍。按照上面的方法。创建百度搜索用例如下:
ctrl+s 保存,运行
保存
注释和取消注释
输入open 在输入ctrl+alt+空格键 联想关键词
运行测试用例
勾选当前需要运行的测试用例,点击工具栏运行按钮,如果只运行单个用例的话,也可以切换到用例的Run标签页,点击“start”按钮。
运行信息:
运行信息显示会生成三个文件:Output.xml、Log.html、Report.html
我们重点查看Log.html和Report.html ,Log.html更关注脚本的执行过程的记录,Report.html更关注脚本的执行结果的展示。
赶快打开你的测试报告看看效果吧!
错误:
command: pybot.bat --argumentfile c:\users\keikei\appdata\local\temp\RIDEama2ym.d\argfile.txt --listener D:\Python37\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py:52418 E:robot\测试项目
解决:
将“C:\Python23\Scripts ”添加到PATH环境变量中。命令提示符号查看,RF版本。提示pybot 不是内部命令,说明环境变量设置有问题。
多测师讲解自动化_rf框架搭建_高级讲师肖sir的更多相关文章
- 多测师讲解自动化测试 _RF自定义关键字_高级讲师肖sir
RF自定义关键字 在rf中叫关键字 在python中就叫做函数 或实例方法 我们自己可以写自定义关键字 自己创建一个库===库里面去创建模块===模块里面创建类和实例方法==>rf导入和引用 库 ...
- 多测师讲解自动化selenium___定位元素002___高级讲师肖sir
高级自动化测试python+selenium教程手册 --高级讲师肖sir(Harm) 第 2 章8种定位方法 总结: selenium 的 webdriver 提供了八种基本的元素定位方法,前面六种 ...
- 多测师讲解RF自动化测试实现流程_高级讲师肖sir
1.环境搭建过程?整套环境需要哪些工具包,以及工具包的作用?因为我搭建的RF框架是基于Python的,所以肯定要先安装Python,python安装完之后,开始安装自动化测试框架rf3.0-在do ...
- 多测师讲解selenium _enter弹框_高级讲师肖sir
enter # from selenium import webdriver# from time import sleep# drvier=webdriver.Chrome()# url='file ...
- 多测师讲解自动化测试 _RFalert弹框._高级讲师肖sir
alert弹框定位 Open Browser file:///D:\\bao\\baoan\\alert弹框.html gc sleep 2 Handle Alert accept #点击确定 Han ...
- 多测师讲解selenium--常用关键字归纳-_高级讲师肖sir
常见的定位方式: 1.通过id定位 id=kw 2.通过name定位 name=wd 3.通过xpath相对路径定位:xpath=//*[@id="kw"] 4.通过两个属性值定位 ...
- 多测师讲解selenium_alert弹框定位_高级讲师肖sir
from selenium import webdriverfrom time import sleepdrvier=webdriver.Chrome()url=r'F:\dcs\DCS课程安排\se ...
- 多测师讲解 _接口自动化框架设计_高级讲师肖sir
背景:因为把传入接口参数.组建测试用例.执行测试用例和发送报告,都放入一个.py文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进 ...
- 多测师讲解自动化 _rf自动化需要总结的问题(2)_高级讲师肖sir
1.口述整个自动化环境搭建的过程.以及环境搭建需要哪些工具包以及对应的工具包的作用?2.RF框架的原理?常见的功能?3.公司自动化测试的流程?1.自动化需求的评审2.自动化场景的选择3.自动化工具的选 ...
随机推荐
- IDEA 2020 集成 Activity插件
我按照教程打开settings-plugins,搜索actiBPM搜索不到, 于是我就去下载插件,然后再安装,具体步骤如下: 下载插件: 到http://plugins.jetbrains.com/, ...
- 用 Shader 写个完美的波浪
前言 皮皮最近接到了一个小需求: 美术小姐姐:皮皮皮皮,你能不能做奶茶? 我:??? 美术小姐姐:就是那种,奶茶的轮廓加上动态水波纹~
- 烂大街的 Spring 循环依赖问题,你觉得自己会了吗
文章已收录在 GitHub JavaKeeper ,N 线互联网开发.面试必备技能兵器谱,笔记自取. 微信搜「 JavaKeeper 」程序员成长充电站,互联网技术武道场.无套路领取 500+ 本电子 ...
- leetcode刷题-75颜色分类
题目 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红色.白色和蓝 ...
- cannary
canary是Linux为防止栈溢出的一种保护机制,接着我们分析glibc对canary的实现过程,首先给出跟canary相关的调用栈: security_init() //在elf/rtld.c中 ...
- 2.1 Spring5源码编译
一. 准备工作 1. . 编译环境 maven jdk8 idea 2. 编译版本: SpringV5.2.7RELEASE+GradleWapper+jdk1.8.0_131编译 二. 源码下载 g ...
- 智慧出行--maas
未来智慧出行新生态——MaaS系统的解读与畅想 -城市交通:观察与思考 - 未来智慧出行新生态——MaaS系统的解读与畅想 在货运领域,有一种承运方式叫“多式联运”,它是由承运人与货主签订一份货运合同 ...
- Mybatis是如何将Mapper接口注册到Spring IoC的
1. 前言 有时候我们需要自行定义一些注解来标记某些特定功能的类并将它们注入Spring IoC容器.比较有代表性的就是Mybatis的Mapper接口.假如有一个新的需求让你也实现类似的功能你该如何 ...
- Nginx【常见知识点速查】
文章更新时间:2020/04/10 一.简介 定义:Nginx是一个高性能的HTTP和反向代理web服务器 作用: 反向代理 正向代理 负载均衡 HTTP静态资源服务器(动静分离) 二.正向代理与反向 ...
- 使用eclipse启动tomcat,正常模式下可以启动tomcat,却在debug模式下无法启动tomcat 问题解决
这个问题可能是由于eclipse和tomcat的交互而产生的,在以debug模式启动tomcat时,发生了读取文件错误,eclipse自动设置了断点,导致tomcat不能正常启动. 解决方法把brea ...