Robotframework框架是一个通用的测试框架,他的其中的一个特性是功能全面,能够支持进行Web自动化测试(通过导入selenium相关测试库)、GUI测试、接口测试等。
本文主要介绍,在Robotframework测试框架上,实现基于Selenium的Selenium2Library的Web自动化测试。
整个教程分为3个部分:
1.环境准备
2.启动浏览器
3.在浏览器上实现网页登录
0
1
Web自动化环境准备
前提:已安装Python环境、Robotframework环境
导入依赖的Selenium2Library库
1.使用pip安装Selenium2Library库后,在Python的安装目录下存在Selenium2Library文件夹。
2.在Robotframework RIDE的测试套件上导入Selenium2Library库。
导入成功后显示正常黑色(若是导入失败或错误,则会显示红色)。
0
2
启动浏览器
注意:
Python3.8版本会和Robotframework兼容有问题,导致脚本编辑区域空白,无法编辑,如下:
此时需要重新安装Python版本,改成3.7.5版本即可。
脚本实例:
在RIDE的脚本编辑区域,编辑脚本内容如下:
脚本部分内容说明:
1.使用关键字open browser启动浏览器,第二栏即将打开的网址,第三栏为启动的浏览器类型。
2.使用关键字sleep,等待5s。
注意:在执行脚本过程中可能出现如下报错:
解决方法:
如果你的Selenium是3.X版本的,火狐浏览器需要geckodriver这个组件的支持:
1.下载geckodriver-v0.23.0-win64.zip
2.下载成功后,直接解压,赋值
到Python3的安装目录D:\Python37
3.再次执行脚本:成功打开浏览器并打开对应的网址
脚本执行成功后,测试结果如下:
0 3
实现web登录
准备
在进行Web自动化时,首先要知道Web页面元素定位方式,元素的定位方式不外乎通过id、name、xpath等,这部分内容大家可以自行查看其他教程即可。本文直接介绍实例内的通过ID定位元素的方式。
步骤:
·打开具体的登录页面
·按F12打开调试面板
·点击右侧的元素识别箭头,如下图:
在元素识别箭头模式下,点击账号或密码输入框,可以看到如下内容:
通过这里可以知道,账号文本框的id=J_d_pPhone,一般在页面设计代码里面id是唯一的,所以这边我们在脚本里面就可以通过定位元素ID的方式定位到相应的元素(当然,如果id不是唯一的,那也可以选择其他的定位方式,只要能成功定位到该元素即可)。文本里面的密码文本框、登录按钮也参考此方式获取到元素属性。
脚本说明:
1.登录模块常用关键字:
由于Selenium2Library和appium的库内可能存在相同的关键字,所在在使用Selenium2的关键字时,前面直接加上相关的库名称
·Selenium2Library.open browser:打开浏览器
·Selenium2Library.Maximize Browser Window:最大化浏览器
·Selenium2Library.input text:输入文本
·Selenium2Library.Click Button:点击按钮
·Selenium2Library.close browser:关闭浏览器
·Selenium2Library.get title:获取浏览器页面标题
·Selenium2Library.get text:获取某个元素的文本值
2.断言关键字run ketword if
run ketword if:如果条件满足,则执行...,否则执行...
具体使用规则见下文脚本。
3.延时关键字sleep
4.日志打印关键字log
脚本设计过程: 1. 打开浏览器
2.实现浏览器最大化
3.获取账号文本框的地址,并输入文本
4.获取密码文本框的地址,并输入文本
5.点击登录按钮,校验账号和密码
6.增加断言:通过登录页面的文本是否存在,判断登录是否成功
完整脚本实例:
脚本执行结果: