使用Selenium IDE自动化测试可以模拟人在网页上进行操作,所以我们可以使用Selenium代替我们做一些重复的人工测试。本文将介绍如何安装和使用selenium IDE,包括:“在chrome浏览器安装selenium ide插件”、“Selenium IDE工具的使用”、“Selenium脚本文件转Java代码”。
一、在chrome浏览器安装selenium ide插件。
官网下载地址:
http://seleniumhq.org/download
由于是国外的服务器,如果在官网下载不了,可以在下面的地址下载:
https://www.crx4chrome.com/crx/107238/
找到并点击下载:
点击在chrome浏览器的右上角图表,选择更多工具->扩展程序:
将我们下载好的文件拖进去即可安装。
安装好之后,打开扩展程序找到我们安装好的selenium ide,打开:
选择Open an existing project,可以打开我们录制到的脚本:
二、Selenium IDE工具的使用。
为了方便简洁,我们就按照上图的数字标记介绍:
1、菜单栏,文件:创建、打开和保存测试案例和测试案例集。编辑:复制、粘贴、删除、撤销和选择测试案例中的所有命令。
2、用来填写被测网站的地址
3、速度控制:控制案例的执行速度
4、运行所有:运行一个测试案例集中的所有案例。
5、运行:运行当前选定的测试案例。
6、暂停/恢复:暂停和恢复测试案例执行。(时髦版的6测试时才会出现)
7、单步:可以运行一个案例中的一行命令。
8、录制:点击之后,开始记录你对浏览器的操作。
9、案例集列表。
10、测试脚本;table标签:用表格形式展现命令及参数。source标签:用原始方式展现,默认是HTML语言格式,也可以用其他语言展示。
11、查看脚本运行通过/失败的个数。
12、当选中前命令对应参数。
13、日志/参考/UI元素/Rollup。
常用命令
Selenium IDE的command、target、value、comment可手动输入。
1、run:可调用一个已录制好的脚本,在target中写入所调用脚本的单名称。比如先录制好一个login的脚本,然后在其他页面操作用例开始前调用这个login脚本,再右键insert new command,选中新增加的command行,右键选择record from here,就不用在每个用例都去录制登录的操作。这样一来,测试不同场的博销宝时,就只要修改login脚本里的登录网址就行了。
2、execute script:执行自己写的脚本,一般用于做结果验证的时候。比如测试全部类别展开时,人工测试是可以肉眼观察所有类别是否都已展开的,单selenium没提供相关的内置命令去让你验证所有类别是否都已展开。此时可以先使用该命令,自己编写脚本(如原生js),先获取类别个数,然后展开后再获取展开的类别个数(一般展开的会有另一个css类名),将两者进行对比即可以做结果验证。
3、store text & store value:存储文本,一般用于做结果验证的时候与assert text & assert value搭配使用。比如查看一个商品详情时,先用store text保存该商品在表格中显示的商品名称,再用assert text验证详情区域的商品名称是否与所保存的商品名称一致。使用store text时,target是写所保存内容的单所在位置,value是所保存内容的变量名,验证时在assert text的value写法是${变量名}。store value和assert value一般用于操作对象是input的时候。
4、assert text & assert value:验证文本。一般用于验证接口调用后返回的提示信息(错误码)对不对,如果不对,当前的用例脚本会停止并报错,但不影响下一个用例的继续运行。
5、pause:用于暂停脚本,target中写需要暂停的时间,单位为毫秒。因为页面响应速度与脚本执行速度并不一致,有时脚本执行完了但是页面还没响应,就会由于下一个命令找不到需要的内容而报错。一般在请求数据多的时候暂停一下脚本,等页面加载完。
6、wait for element visible & wait for element not visible:一般用于显示标签或隐藏标签的结果验证,target里写操作的标签,value中需填写等待的时间。
注意事项:
1、录制时需考虑该脚本运行完一次后,再下一次是否可以继续正常运行,比如创建商品,如果商品名称写了固定值,就会导致下次运行脚本时由于商品名称重复导致运行失败,所以创建商品时需要添加随机数到商品名称中。
2、在录制selenium过程中可以右键查看可以快捷使用的命令。
3、录制脚本较多时,养成做一部分就保存的习惯,以免IDE卡死导致录制的脚本无法保存;
4、对于录制好的脚本,可以根据需求进行增删或者修改;
5、目前暂时未找到使用IDE录制上传图片的方法,所以上传图片的功能一般需要人工测试;
6、对于需要人工测试的用例可以在对应用例的selenium脚本的command命令中加入文字描述,使其运行时出错,到时测试人员就能通过中文知道需要人工测试;
其他命令参考:https://www.cnblogs.com/x3d/p/selenium-ide-command.html。
三、Selenium脚本文件转Java代码。
选中测试用例,右键点击Export,然后选择Java,即可导出为Java单元测试:
默认使用的junit单元测试,可以改成我们产品用的testng:
Java运行测试需要下载chrome的驱动chromedriver.exe,驱动的版本要与浏览器的版本相对应:
@BeforeClass
public void setUp() {
System.setProperty("webdriver.chrome.driver", "D:\\BXERP\\trunk\\doc\\自动化测试\\Selenium\\chromedriver.exe");
driver = new ChromeDriver();
js = (JavascriptExecutor) driver;
vars = new HashMap<String, Object>();
}
查看chrome浏览器的版本号。
点击右上角3个点图表->帮助->关于Google Chrome:
下载chomedriver.exe地址:
http://chromedriver.storage.googleapis.com/index.html
找到对应的版本并下载,存放到对应目录: