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的更多相关文章

  1. 多测师讲解自动化测试 _RF自定义关键字_高级讲师肖sir

    RF自定义关键字 在rf中叫关键字 在python中就叫做函数 或实例方法 我们自己可以写自定义关键字 自己创建一个库===库里面去创建模块===模块里面创建类和实例方法==>rf导入和引用 库 ...

  2. 多测师讲解自动化selenium___定位元素002___高级讲师肖sir

    高级自动化测试python+selenium教程手册 --高级讲师肖sir(Harm) 第 2 章8种定位方法 总结: selenium 的 webdriver 提供了八种基本的元素定位方法,前面六种 ...

  3. 多测师讲解RF自动化测试实现流程_高级讲师肖sir

    1.环境搭建过程?­­整套环境需要哪些工具包,以及工具包的作用?因为我搭建的RF框架是基于Python的,所以肯定要先安装Python,python安装完之后,开始安装自动化测试框架rf3.0-在do ...

  4. 多测师讲解selenium _enter弹框_高级讲师肖sir

    enter # from selenium import webdriver# from time import sleep# drvier=webdriver.Chrome()# url='file ...

  5. 多测师讲解自动化测试 _RFalert弹框._高级讲师肖sir

    alert弹框定位 Open Browser file:///D:\\bao\\baoan\\alert弹框.html gc sleep 2 Handle Alert accept #点击确定 Han ...

  6. 多测师讲解selenium--常用关键字归纳-_高级讲师肖sir

    常见的定位方式: 1.通过id定位 id=kw 2.通过name定位 name=wd 3.通过xpath相对路径定位:xpath=//*[@id="kw"] 4.通过两个属性值定位 ...

  7. 多测师讲解selenium_alert弹框定位_高级讲师肖sir

    from selenium import webdriverfrom time import sleepdrvier=webdriver.Chrome()url=r'F:\dcs\DCS课程安排\se ...

  8. 多测师讲解 _接口自动化框架设计_高级讲师肖sir

    背景:因为把传入接口参数.组建测试用例.执行测试用例和发送报告,都放入一个.py文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进 ...

  9. 多测师讲解自动化 _rf自动化需要总结的问题(2)_高级讲师肖sir

    1.口述整个自动化环境搭建的过程.以及环境搭建需要哪些工具包以及对应的工具包的作用?2.RF框架的原理?常见的功能?3.公司自动化测试的流程?1.自动化需求的评审2.自动化场景的选择3.自动化工具的选 ...

随机推荐

  1. ubuntu18.04 docker安装mongo

    问题 在docker中安装的mongo连接不上,报错信息 feng@ubuntu:/etc/docker$ mongo MongoDB shell version v3.6.3 connecting ...

  2. 163net邮箱,对商务办公人士有哪些帮助?

    在职场当中,无论是沟通交流,还是文档对接,电子邮箱都是是必不可少的办公助手,163net付费邮箱作为很多人的首选工作邮箱,相较于免费邮箱而言,究竟有哪些优势呢?        1. 专属网络空间,有容 ...

  3. 《Java从入门到失业》第四章:类和对象(4.1):初识类和对象

    4类和对象 在第一章曾经简单介绍过,在面向对象的世界里,一切事物皆对象,当解决一个问题的时候,我们先会考虑这个问题会涉及到哪些事物,然后把事物抽象成类,当时还画了一张图如下: 从本章开始,我们一点一点 ...

  4. xss的变形--如何绕过xss过滤

    我们可以通过构造xss代码进行各种变形,以绕过xss过滤器的检测 1.大小写检测 将payload进行大小写转化 如<Img SRC='#'  Onerror="alert(/xss/ ...

  5. vue父子组件状态同步的最佳方式续章(v-model篇)

    大家好!我是木瓜太香!一名前端工程师,之前写过一篇<vue父子组件状态同步的最佳方式>,这篇文章描述了大多数情况下的父子组件同步的最佳方式,也是被开源中国官方推荐了,在这里表示感谢! 这次 ...

  6. Mybatis和Mybatis-Plus时间范围查询,亲测有效

    一.mysql 1.传入时间范围参数类型是字符串 <if test="startTime!=null and startTime.trim() neq ''"> and ...

  7. HBase启用压缩

    1. 压缩算法的比较 算法 压缩比 压缩 解压 GZIP 13.4% 21MB/s 118MB/s LZO 20.5% 135MB/s 410MB/s Snappy/Zippy 22.2% 172MB ...

  8. js动画之轮播图

    一. 使用Css3动画实现 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  9. JVM七大垃圾回收器上篇Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1

    GC逻辑分类 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商.不同版本的JVM来实现. 由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本. 从不同角度分析垃圾收 ...

  10. 关于java基础_方法的简单习题

    package day05; import java.util.Arrays; /** * 方法作业 * @author ASUS * */ public class Demo6 { /* * 1.定 ...