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. vue实现侧边导航栏

    <div class="sidebar"> <el-menu class="sidebar-el-menu" :default-active= ...

  2. springboot x.x.x RELEASE不同版本的差异

    springboot 1.x.x RELEASE的 application.properties配置 server.context-path=/ server.port=8080 server.ses ...

  3. 文件压缩跟解压(本地&Linux服务器)

    远程解压需要的jar包: <dependency> <groupId>commons-net</groupId> <artifactId>commons ...

  4. leetcode刷题-66加一

    题目 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: ...

  5. Mybatis-多对一和一对多

    多对一和一对多 目录 多对一和一对多 1. 复杂表的构建 2. 测试环境搭建 1. 导入Lombok 2. 新建实体类 3. 建立Mapper接口 4. 建立Mapper.xml文件 5. 在核心配置 ...

  6. Java中String.strip()和String.trim()方法

    strip和trim String.trim() 可以去除字符串前后的"半角"空白字符 String.strip() 可以去除字符串前后的"全角和半角"空白字符 ...

  7. Matrix Power Series(POJ 3233)

    原题如下: Matrix Power Series Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 28044   Acce ...

  8. ajax之---“伪”ajax

    views.py def ajax1(request): ret={'status':'true','message':'successful'} return HttpResponse(json.d ...

  9. 内存管理初始化源码5:free_area_init_nodes

    start_kernel ——> setup_arch ——> arch_mem_init ——> |——> bootmem_init  |——> device_tree ...

  10. 关于java for循环常见练习题

    使用for循环方式计算2+4+6+…+100的值 package day02; /** * 使用for循环方式计算2+4+6+…+100的值 * @author mu * */ public clas ...