实践 - Robot Framework自动化测试框架搭建
参考资料
- Python3+RIDE+Robot Framework自动化测试框架搭建 (opens new window)
- Docker + Jenkins 部署完整node项目 (opens new window)
Robot Framework搭建详细过程
安装环境
- python 3.6.3
- windows 10
pip安装过程可能过慢,可以直接使用国内的镜像地址
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣 http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
使用方法:pip install robotframework -i https://pypi.tuna.tsinghua.edu.cn/simple/
1
2
3
4
5
6
7
2
3
4
5
6
7
配置webdriver: 下载 chromedriver 驱动,把 chromedriver.exe 放到 /python27/Scripts 路径下 下载地址 (opens new window)
安装过程
RobotFramework安装
RF测试框架:
- 安装方法:CMD命令窗口运行pip命令。
pip install robotframework
1
WxPython安装
Wxpython是python非常有名的一个GUI库,RIDE就是基于这个库开发的。
pip install wxPython
1
RIDE安装
RIDE是一个图形界面工具,用于创建、组织、运行测试案例。
pip install robotframework-ride
1
安装过程中会提示是否创建桌面快捷方式,选择是,安装完成后,双击桌面“ride.exe”即可打开。若未生成图标,参考资料 (opens new window)
各种库安装
RF的selenium库,借助Selenium,可以模拟浏览器端的测试,通常用于Web自动化测试。
- Selenium测试可以在Windows、Linux上的 IE、Chrome和Firefox中运行。
RF的Requets库,Requests是Python的HTTP客户端库,可以通过调用request库发送GET、POST、PUT、DELETE请求。
- HttpLibrary当然也可以了。都可以应用到接口自动化中。
pip install robotframework-selenium2library
pip install robotframework-requests
pip install robotframework-httplibrary
1
2
3
2
3
参数说明:
-d 标识是让 docker 容器在后台运行
--name 定义一个容器的名字,如果没有指定,那么会自动生成一个随机数字符串当做UUID
-p 9090:8080 端口映射,我本地的8080被占用了,所以随便映射了一个9090
-p 50000:50000 端口映射
-v /home/jenkins/data/jenkins_home:/var/jenkins_home 绑定一个数据卷,/home/jenkins/data/jenkins_home是刚才创建的本地数据卷
1
2
3
4
5
2
3
4
5
总结
cd /home/jenkins/
mkdir -p ./data/jenkins_home/
chown -R 1000:1000 /home/jenkins/data/jenkins_home/
docker run -d --name jenkins -p 9090:8080 -p 50000:50000 -v /home/jenkins/data/jenkins_home:/var/jenkins_home
1
2
3
4
2
3
4
运行测试
1)New Project,名字可自定义(type:Directoy;Format:ROBOT)
- 若选择Directoy,目录下面可以新增Suite,Suite下可新增CASE
- 若选择FILE,目录下只能创建CASE
- New Suite,名字可自定义,可配置CASE中使用的关键字。(type:File;Format:ROBOT)
- 若选择Directoy,目录下还可以创建suite
- 若选择FILE,目录下只能创建CASE
- New Test Case》名称可自定义,用例设计主要在这里。
一组相关的测试用例(Test Case)就是一个测试套件(Test Suite)。
也就是说,一个测试套件由多个测试用例串连组成,可以将测试套件理解为测试用例组。
测试程序:
- 测试访问百度网站,搜索指定关键字
*** Settings ***
Library Selenium2Library
*** Test Cases ***
chormeTest
Open Browser http://www.baidu.com Chrome
Input Text id=kw robot framework学习
Click Button id=su
sleep 2
Close Browser
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
定位元素位置:可以参考 (opens new window)