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. CSAPP =2= 信息的表示和处理

    思维导图 预计阅读时间:30min 阅读书籍 <深入理解计算机系统 第五版> 参考视频 [精校中英字幕]2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频 参考文章 ...

  2. Vue中vue.config的配置

    vue-cli 3.x 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动在根目录中创建 vue.config.js. vue.config.js 是一个可选的配置文件,如果 ...

  3. [计算机网络]TCP/IP协议-运输层

    TCP/IP体系结构 TCP/IP四层协议 五层协议 协议 作用 应用层 应用层 HTTP超文本传输协议.FTP文件传输协议 - 运输层 运输层 TCP(面向连接的,可靠的).UDP(无连接的,不保证 ...

  4. [Java核心技术]第九章-集合(Java集合框架、具体的集合、映射)

    9.1Java集合框架 一些有的没的 可以使用接口类型存放集合的引用.一旦改变了想法,只需要在调用构造函数的地方做一处修改. add方法用于向集合添加元素,如果添加元素确实改变了集合就返回true. ...

  5. archaius(1) 概述

    archaius作为配置管理工具,内部主要定义了下几个模块: 配置源 配置源的主要功能是将配置从目标位置加载到内存中.详见:archaius源码分析之配置源 配置管理器 配置管理器的主要功能是管理内存 ...

  6. java基础整理总结篇(1)

    >>java数据区域,大致分以下几种 寄存器:位于cpu内部,寄存器的数量有限,所以寄存器根据需求分配.不能直接控制它. 堆栈:位于通用RAM(随机访问存储器)中,通过堆栈指针可以从处理器 ...

  7. Java源码赏析(一)Object 类

    写这个系列的原因,其实网上已经有无数源码分析的文章了,多一篇不多,少一篇不少,但为什么还要写这部分文章呢?于私,其一,上班族已经很久没有打过完整的一整段有意义的话,算是锻炼个人的书写.总结能力,其二, ...

  8. @RequestParam,@RequestBody,@ResponseBody,@PathVariable注解的一点小总结

    一.前提知识: http协议规定一次请求对应一次响应,根据不同的请求方式,请求的内容会有所不同: 发送GET请求是没有请求体的,参数会直接拼接保留到url后一并发送: 而POST请求是带有请求体的,带 ...

  9. WAF的那些事

    介绍WAF 本节主要介绍WAF (Web Application Firewall, Web应用防火墙)及与其相关的知识,这里利用国际上公认的一种说法: Web应用防火墙是通过执行系列针对HTTP/H ...

  10. spring ioc 源码分析(三)--finishBeanFactoryInitialization(beanFactory)

    之前的博客专门分析了一个类到BeanDefinition的创建过程,现在分析BeanDefinition 到一个bean的创建过程:从refresh() 方法的---->finishBeanFa ...