自己学习自动化的话,除了要选好一款框架之外,还要选好一个用来练习的项目。这里小编推荐新手入门可以考虑一下Robotframework这个框架,原因:该框架的学习成本比较低,很多功能都是现成的,而且脚本易于维护,而且同时支持web端,移动端以及接口自动化,用例套件管理以及用例执行和报告查看,日志记录等功能都比较完善,而且可扩展性强。对于企业来说的话 ,选用这款工具,对将来招聘的时候的成本没这么大,如果每个人都选择自己手写脚本封装框架去实现自动化的话,以后人员离职,要找个人来维护现有脚本,有一定的难度,每个人的编码风格和能力参差不齐,选用脚本的方式的话,对测试人员的能力要求比较高。
练习的项目的话,这里我从网上找了一个开源的项目,部署在自己的机器上,项目可以在gitee上搜索linjiashop,上面有写怎么部署 ,我也写了一篇文章简单介绍怎么部署:你们要的测试练习网站来了
工具 项目选好之后,接下来以项目的登录功能为例,演示一下如何使用Robotframework工具实现登录模块的自动化
1、RobotFramework环境搭建 ,建议使用Python3.7的版本,不要使用3.8及以上的版本,以免RIDE出现兼容性问题
2、安装做web端的自动化所需依赖的第三方插件:
代码语言:javascript复制pip install -U robotframework-selenium2library
新建项目
菜单File->New Project,输入项目名称,选择脚本存放路径,Type选择Directory,表示以文件夹的方式去存储项目数据,Format任选一个都可以,表示用某个格式的文件去存储用例。
新建测试套件
在项目下新建测试套件(Suite),命名为login_testsuite
新建测试用例
测试套件建好之后,接下来就可以在测试套件下开始新建测试用例了。
下面以我从网上找的一个开源网站部署到服务器为例,演示一下如何实现打开浏览器实现自动登录的这样一个过程。 练习网站部署教程
Robotframework是一个关键字驱动,做web端UI自动化的话,底层还是用的selenium框架,因此,需要先用pip命令安装robotframework-selenium2library 插件,安装之后,在测试套件中可以引入Selenium2Library的Library:
这里先了解一下web自动化的几个常用的关键字:
- Open Browser 打开浏览器
- Maximize Browser Window 最大化浏览器
- Close All Browsers 关闭浏览器
- Input Text 文本框输入
- Click Element 点击元素
- Sleep 设置等待时长
通过以上几个关键字,就可以完成 自动启动浏览器,输入账号密码登录。
用例编写如下:
代码语言:javascript复制*** Test Cases ***
login1
Open Browser http://8.129.162.225:9528/#/login Chrome
Maximize Browser Window
Input Text name=username admin
Sleep 1
Input Text name=password admin123456
Sleep 1
Click Element xpath=//*[@id="app"]/div/form/button/span
Sleep 3
Close All Browsers
用RIDE查看用例的话,显示如下:
用例的话,本身就是存储在一个文本文件中,因此,也可以用pycharm或者其他编辑器去进行编辑。
执行用例
查看报告
到这就完了?那肯定还没完,做自动化测试,除了要考虑场景和用例的设计,还要考虑用例的管理,用例的执行,报告的生成。自动化测试的脚本一般都是集成到jenkins持续集成平台上面,结合测试环境的自动部署,触发自动执行用例。那接下来,让我们一起看一下如何将RF的脚本集成到jenkins平台中去运行。
RF脚本集成Jenkins运行
准备工作
1、搭建jenkins持续集成环境,并安装好推荐的插件
2、注册一个gitee帐号/公司内部搭建的git仓库帐号,将自己的测试脚本上传到git进行管理(主要是考虑到团队协作,可能多人修改脚本)。
3、准备一台linux服务器/虚拟机,在上面安装谷歌浏览器,并下载好对应版本的浏览器驱动文件,并将驱动文件所在目录加入到环境变量中去。
- 以阿里云上面Centos 8.2的镜像为例,演示一下如何安装谷歌浏览器来运行UI自动化的脚本
cd /etc/yum.repos.d
vim google-chrome.repo ,内容如下:
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
保存文件后,输入下面的命令在线安装
yum -y install google-chrome-stable --nogpgcheck
安装完成后,输入google-chrome --version即可查看谷歌浏览器的版本:
下载浏览器对应版本的chromedriver驱动,解压后存放在服务器某个目录下,并将驱动文件所在目录配置环境环境,并注意驱动文件是否具有可执行权限。
4、安装jenkins上的Robot Framework插件,用来展示报告
jenkins中job的关键配置:
运行后的效果:
如果在线查看报告的时候出现以下错误:
可以用下面的方式进行解决:
打开jenkins的脚本命令行,然后执行下面的命令后,就可以正常查看报告
代码语言:javascript复制System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;")
到这里,RF脚本持续集成差不多就配置完了,可以根据自己的需要加上邮件提醒以及定时构建,环境更新后自动触发等操作,对jenkins相关操作不熟悉的,可以关注小编的其他文章喔。