robot framework:自动化测试框架

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. 安装第三方库(自动下载、编译和安装

第一步:在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”的关键字,点击这个关键字,想显示它的用法和说明。

根据说明,我们来尝试创建这个打开浏览器的操作吧:

  “Open Browser”变蓝了,说明它是一个合法的关键字,后面有一个方框是红色的,表示这个参数不能缺省的。通过说明信息中,我发现它需要一个url 地址是必填的,当然还需要指定browser (默认不填为 friefox)

  更多关键的使用,请参考相关API 文档。这里不过多介绍。按照上面的方法。创建百度搜索用例如下:

输入open 在输入ctrl+ait+空格键  联想关键词

运行测试用例                                                

勾选当前需要运行的测试用例,点击工具栏运行按钮,如果只运行单个用例的话,也可以切换到用例的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:\Python27\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py:52418 E:robot\测试项目

解决:

将“C:\Python27\Scripts ”添加到PATH环境变量中。命令提示符号查看,RF版本。提示pybot 不是内部命令,说明环境变量设置有问题。

多测试讲解_009肖sirRF自动化框架安装教程的更多相关文章

  1. 转载:python + requests实现的接口自动化框架详细教程

    转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...

  2. python + requests实现的接口自动化框架详细教程

    前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...

  3. Scarpy框架安装教程

    在一切之前,建议升级pip,如果版本太低,安装会失败 升级pip命令: python -m pip install --upgrade pip 如果上面的命令不能用,用下面这个 easy_instal ...

  4. Pygame 框架安装教程(Python3.6为例)

    1.python版本是3.6,最新的pygame是1.9.3,这两个最好都用32位的. pygame1.9.3下载地址:http://www.lfd.uci.edu/~gohlke/pythonlib ...

  5. python接口自动化框架

    接口测框架 安装教程 需要3.5及以上版本的python pip install -r requirements.txt 使用说明 运行manage.py创建项目 创建的项目在projects目录下 ...

  6. yii2框架安装运行init.bat报错php.exe不是内部或外部命令

    在安装yii2框架的时候,遇到一个很纠结的问题.就是当我把安装包下载下来之后,在公司的电脑安装可以正常,当我回家用自己的电脑安装就报错,提示 php.exe 不是内部或外部命令,也不是可运行的程序.这 ...

  7. 多测师讲解a'pi自动化框架设计思想_高级讲师肖sir

    API自动化框架API自动化框架分为conf.data.utils.api.testcase.runner.report.log8个模块.conf是用来储存系统环境.数据库.邮件等的配置参数.项目的绝 ...

  8. 多测师讲解ui自动化框架设计思想_高级讲师肖sir

    UI自动化框架:UI自动化框架可以分为8个模块,conf.data.public.pageobject.testcase.runner.report.log.conf是用来储存系统环境.数据库.邮件的 ...

  9. Android自动化框架 模拟操作 模拟测试

    转自:http://bbs2.c114.net/home.php?mod=space&uid=1025779&do=blog&id=5322 几种常见的Android自动化测试 ...

随机推荐

  1. vue中实现后台管理路由标签页

    <template> <section> <div class="navTabList el-tabs__nav-scroll" id="t ...

  2. 测试JsonAnalyzer2的12个测试用例:

    测试用例如下: 01. Compact json text={"status":"","message":"success&quo ...

  3. postgres 无法删除表

    起因 在postgress下删除表的时候报错 解决 简单的百度了一下,有些人说是用户权限的问题,需要切换到库的拥有者下删除,但是切换后还是没有解决··· 最后换了一种方式搜索,不直接搜索报错命令,直接 ...

  4. MVC中将枚举类型数据应用到下拉列表中的方法

    例如: public enum ItemTypes   {      Movie = 1,      Game = 2,      Book = 3   }    在MVC2.0中如何将以上枚举类型使 ...

  5. LongAccumulator类的BUG——reset方法并不能保证初始值正确赋值

    LongAccumulator.reset方法并不能重置重置LongAccumulator的identity:初始值正确,使其恢复原来的初始值.当初始值为0是不会发生这个问题,而当我们设置初始值如1时 ...

  6. HTML5总结整理

    (仅供大家学习分享交流) 一.简介 1.前端开发最核心技术 我们知道,用所谓的网页三剑客已经不能满足需求了,那前端开发究竟要学习什么技术呢?网页最 主要由3部分组成:结构.表现和行为.网页现在新的标准 ...

  7. 初识ABP vNext(9):ABP模块化开发-文件管理

    Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 创建模块 模块开发 应用服务 运行模块 单元测试 模块使用 最后 前言 在之前的章节中介绍过ABP扩展实体,当时在用户 ...

  8. Jack Straws(POJ 1127)

    原题如下: Jack Straws Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5555   Accepted: 2536 ...

  9. Redis源码笔记--服务器日志和函数可变参数处理server.c

    前言 Redis源码中定义了几个和日志相关的函数,用于将不同级别的信息打印到不同的位置(日志文件或标准输出,取决于配置文件的设置),这些函数的定义位于 server.h 和server.c 文件中,包 ...

  10. [程序员代码面试指南]字符串问题-字符串匹配问题(DP)

    问题描述 字符串str,模式串exp. 必须保证str中无'.'和'星号'字符,并且exp中'星号'不出现在首位,且无连续两个'星号'.PS星号是字符只是暂时没找到markdown的星号转义字符. ' ...