RobotFrameWork自动化系列:安装配置
1. RobotFrameWork安装配置
1.1. 安装环境
64位win10家庭中文版
网上很多这方面的教程,但是比较零散,这里是自己安装配置的一个简单的笔记。
1.2. 安装说明
由于Robot Framework框架是基于Python语言开发的,要想使用Robot FrameWork首先需要Python环境。
在学习和使用Python时,首先碰到的是版本问题,这在其他编程语言中是不存在的,目前Python分为Python2和Python3两个版本。之所以会有2个版本并存的情况,是因为随着近几年Python语言的逐渐流行起来,早起Python版本在基础设计上存在一些不足之处,Python3在设计的时候很好的解决了这些遗留问题,并且在性能上也有了很大的提升,但同时带来了新的问题就是不完全向后兼容,所以造成了2个版本并存的情况。
由于RobotFramework框架是基础Python2开发的,所以在这里选择安装Python2。[1]
1.3. 安装文件准备
表1 安装文件准备
|
顺序 |
名称 |
安装方法 |
下载地址 |
说明 |
|
1 |
python |
双击默认安装python-2.7.13.amd64.msi |
https://www.python.org/ |
一切的基础,安装路径不能有空格 |
|
2 |
pip |
Cmd中执行easy_install Pip |
https://pip.pypa.io/en/latest/index.html |
easy_install.exe pip |
|
3 |
wxPython |
直接双击下载的文件wxPython |
http://wxpython.org/download.php#stable |
或在cmd中使用命令pip install –U wxPython,支撑Ride的运行库 |
|
4 |
robotFramework |
直接双击安装文件robotframework-2.8.7.win-amd64.exe |
https://pypi.python.org/pypi/robotframework/2.8.7 |
robot framework本身 |
|
5 |
robotFramework-ride |
cmd命令里面执行执行pip install robotframework-ride |
https://pypi.python.org/pypi/robotframework-ride |
ride本身 |
|
6 |
Robotframework-selenium2library |
cmd中执行命令pip install robotframework-selenium2libray |
https://pypi.python.org/pypi/robotframework-selenium2library |
selenium2测试库,基于webdriver驱动 |
|
7 |
pywin32 |
exe文件,直接双击安装,注意版本对应 |
https://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/ |
AutoItLibrary安装前提 |
|
8 |
AutoItV3 |
exe文件,直接双击安装 |
http://www.autoitscript.com/site/autoit-news/autoit-v3-3-10-0-released/ |
AutoItLibrary使用前提 |
|
9 |
AutoItLibray |
cmd中执行pip install AutoItLibrary |
http://code.google.com/p/robotframework-autoitlibrary/ |
AutoItLibrary测试库 |
|
10 |
Requests |
cmd命令执行:pip install requests |
https://pypi.python.org/pypi/requests |
RequestsLibrary库使用前提 |
|
11 |
RequestsLibrary |
cmd命令执行:pip install -U robotframework-requests |
https://github.com/bulkan/robotframework-requests |
|
|
说明 |
链接:http://pan.baidu.com/s/1dFrR1QD 密码:rbwa |
百度网盘软件整理 |
由于版本的适应性问题,下载2.7.13版本即可。对于windows用户来说,如果你的系统是32位的请选择x86版本,如果是64位系统请选择64版本进行下载。下载完成之后会得到一个以.msi为后缀名的文件。
1.4. 安装步骤
1.4.1. 安装python
根据下载的python2.7文件,双击根据提示安装,这里操作时选择的默认安装。
说明:python-2.7.13中已经默认安装了setuptools,所以不用再次安装此套件。
配置
安装完成之后需要配置python的环境变量,将C:\Python27和C:\Python27\Scripts添加到环境变量path中,如图所示

安装完成之后,在cmd窗口中输入python,返回python版本号则表示安装成功,如图

1.4.2. 安装pip[4]
安装完成python之后,进入python的安装目录,如C:\Python27\Scripts
执行easy_install.exe pip,如图

则Python\Scripts文件夹下会出现一系列和pip有关的文件,其中有pip.exe,说明pip命令可以使用,如图

在cmd下输入pip,如图能识别pip命令,则说明pip安装成功了。如图

1.4.3. 安装wxPython
方法一
安装wxPython则直接使用pip命令安装即可。
在cmd中执行命令pip install –U wxPython,如图

可以下载wxPython文件直接双击安装,这里采用的是第二种方法安装。
1.4.4. Robotframework安装
直接双击下载的robotframework2.8.7文件,默认安装即可
安装完成之后在cmd中使用pip list,可以查看安装的套件,如图

1.4.5. Robotframework-ride安装
ride的安装直接使用pip进行操作
在cmd中执行pip install robotframework-ride命令,如图

1.4.6. Robotframeworkwork-selenium2library安装
在cmd中执行命令pip install robotframework-selenium2library,如图

1.4.7. Autoit安装
下载autoit-v3-setup.exe,双击默认安装即可,安装完成之后本机上会出现auto v3图标,如图

1.4.8. AutoItLibrary安装
直接使用pip安装
在cmd中,执行命令pip install AutoItLibrary,如图

安装完成之后可以使用pip list查看安装的套件,如图
这样robotframework+selenium整个环境配置已经完成,接下来就是自动化的实际操作。
1.5. Robotframework+jenkins配置
假设我们完成了一个模块的用例设计,可是想晚上9点或凌晨运行,这时候该怎么实现呢?jenkins可以很好解决我们的疑难。
1.5.1. Jenkins安装
这里简单说下安装,建议下载war包在tomacat中启动或是直接在cmd中使用命令启动jenkins(如果已经使用.msi安装成windows服务了,下面会提到解决方法)。
1.5.2. 配置
- 基本信息
在jenkins主页中,新建 一个自由风格的项目,配置项目的名称等基本信息如图

因为这里没有使用svn或git,文件直接保存在本地,所以没有使用源码管理,如果使用了源码管理的可以根据实际情况配置源码管理的配置信息。
- 构建触发器
这里选择使用Build periodically,进行定时构建,如图

这里设置的是每天凌晨2点进行构建。
这里注意选择的是build Periodically,选择的是定时构建,不管代码是否有更新;而另外一个构建方式Poll SCM,则是svn或git代码有更新才会再制定的时间内进行构建
- 构建
接下来就是构建过程,这里是windows环境,所以使用的是Execute Windows batch command
使用命令执行要运行的用例如pybot.bat -d F:\outputdir F:\test\cswx\,这里-d是将执行结果保存在F:\outputdir目录下,而F:\test\cswx\是需要执行用例的文件夹

- 构建后操作
这里提前需要安装一个插件Public Robot Framework test result

如果构建的时候,使用的是默认的输出目录,那么这里的Directory of Robot output 默认为空。
- 执行结果
构建之后查看结果如图




说明
出现提示selenium脚本打不开浏览器[Keyword 'Capture Page Screenshot' could not be run on failure: No browser is open]
如果使用的jenkins的是windows服务,那么建议停止该服务,然后执行cmd命令,重新启动,命令格式java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar D:\Jenkins\jenkins.war[5]
执行用例的时候提示robotframework提示gckodriver相关信息,如截图所示

解决方法:需要名为geckodriver.exe的一个火狐浏览器driver在path中,当然解决办法就是,下载一个geckodriver.exe并将存放的路径添加在path中,简单点就直接放python的根目录下即可,下载地址 https://github.com/mozilla/geckodriver/releases,另外需要注意下,geckodriver分32及64位的版本,版本需与浏览器对应。
[1] 百度文库:https://wenku.baidu.com/view/3875735f6bec0975f565e207.html
[2] 博客园http://www.cnblogs.com/Ming8006/p/4998492.html
[3] 博客
http://www.blogjava.net/lijun_li/archive/2016/10/25/431926.html
[4] 博客园http://www.cnblogs.com/yinrw/p/5837828.html
RobotFrameWork自动化系列:安装配置的更多相关文章
- robotframework自动化系列:随机下拉框
robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没 ...
- robotframework自动化系列:删除操作流程以及总结
之前已经完成了登录.新增和修改的操作流程,这一节主要说明删除操作流程以及自动化的过程中出现的问题,算是对这个项目自动化的一个总结. 删除操作流程 对于系统账号管理中删除功能,删除的测试点主要如图所示 ...
- robotframework自动化系列:操作mysql数据库
随着项目自动化深入和不断完善,大部分功能都已经能完成了自动化的操作:但是在设备添加的时候,遇到了难题.添加设备的时候mac必须是服务器设备管理中已经存在的mac地址,且是没有关联或绑定用户的设备信息. ...
- robotframework自动化系列:新增流程
刚接手项目的时候,要求所有流程在上线之前必须确保正向操作是正确的:这个时候又有新的模块需要测试,所以引入自动化测试是非常有必要的!通过对比,尝试使用RF进行自动化的回归测试. 测试中最常见的操作就是增 ...
- robotframework自动化系列:修改流程
在上一小节中,新增流程操作已经完成.那么接下来就是修改的流程操作了,对于一个页面的修改如何操作呢? 针对修改修改操作是在一个已经存在的账号直接修改还是新添加一个账号再修改呢?从用例设计健壮性出发,我们 ...
- robotframework自动化系列:文本类型的下拉框
对于下拉框定位和输入,这里主要遇到有两种类型的下拉选择. 其中一个类型是select-options格式,如图 这种方式的定位可以使用select from list by value或select ...
- Centos6.x/Oracle11G 自动化静默安装配置脚本
部分脚本截图如下,要想玩转联系Ruiy哥提供脚本下载路径,附件在本博客的文件栏中维护,为了避免懒人一味的索取别人的劳动成果特此如此; 想玩的Ruiy mail to you! 快6.1了,6.1娃子们 ...
- Robotframework自动化系列:筛选结果数量统计
Robotframework自动化系统:筛选结果数量统计 上一个节点已经可以随机选中某一个下拉框的值,我们在使用evaluate随机数的时候需要计算下拉选项总数,这时候我们是手工计算输入的:这时候如果 ...
- robotframework自动化系列:登陆操作
robotframework自动化系统:登录 robotframework对于编程能力比较弱的测试人员而言,真的是雪中送炭!我们可以使用robotframework根据之前完成的测试用例,一步步完善自 ...
随机推荐
- iOS文件的管理(添加,删除,拷贝,移动)
#import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super vie ...
- PHPMailer发送邮件乱码
PHPMailer发送邮件乱码, $mail->CharSet="GB2312";$mail->Encoding = "base64"; 设成这样不 ...
- WPF使用HierarchicalDataTemplate绑定Dictionary生成TreeView
Dictionary中的<string, CustomeType>CustomeType是一个集合,将其绑定生成一棵树,树的第一层节点是Dictionary的Key,第二层是Custome ...
- asp对中文编码及解码,Decode和Encode中文网址处理
<%'-------------------------------------------------------------------------- '================== ...
- 每天一个JavaScript实例-apply和call的使用方法
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- CH 5302 金字塔(区间DP)
CH 5302 金字塔 \(solution:\) 很神奇的一道题目,当时看到还以为是一道字符串求回文子串的题目.但是数据范围很小,而且只知道回文串也不好做.但是我们观察可得,如果是深度搜索便利,那么 ...
- 51Nod 1282 时钟 —— 最小表示法 + 字符串哈希
题目链接:https://vjudge.net/problem/51Nod-1282 1282 时钟 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难 ...
- codeforces 691D D. Swaps in Permutation(dfs)
题目链接: D. Swaps in Permutation time limit per test 5 seconds memory limit per test 256 megabytes inpu ...
- JSON --- 一种轻量级的数据交换格式
目录 1. 语法 2. 解析与序列化 JSON.stringify( jsData[, filter, indent] ) JSON.parse( jsonData[, reduction]) JSO ...
- AJAX --- 一种创建交互式网页应用的网页开发技术
目录 AJAX 创建XHR实例 指定readyStatechange事件处理程序 启动请求 发送请求 接收数据 取消XHR请求/响应 AJAX ajax核心技术就是 XMLHttpRequest 对象 ...