Java selenium学习笔记
1.了解selenium
- selenium RC
- selenium IDE:录制脚本的工具
- selenium webdriver
- selenium Grid:分布式的工具,如果需要在不同电脑上同时跑脚本,或者在不同的浏览器运行脚本时就需要使用到
用火狐来做selenium测试的必备工具
- Firebug:用来帮助定位元素
- Firepath:帮助找到元素的xpath
2.selenium IDE安装和使用
2.1 安装
2.2 使用
- 录制:右上角的录制开始和停止按钮
- 以百度搜索selenium为例
- 录制过程中输入有误,可以点击某一项进行修改
- 录制完后需要再添加新的command,右键点击insert new command
- 录制好后就可以点击运行了
- 运行过程中如果报错了,可以查看对应的log
- 默认的运行速度比较快,可以调节运行速度
- 录制完一个脚本后可以在文件中导出测试脚本
3.Java+selenium Webdriver
3.1 环境搭建
- 安装eclipse
- 安装java环境
- Webdriver环境配置
- java环境
- 下载selenium Webdriver jar包(压缩文件)
- 并在对应的项目中导入jar包
3.2 启动不同浏览器的方式
- FireFox浏览器:selenium自带驱动,不需要配置驱动
注意:如果安装FireFox的路径是默认的路径,则不需要配置驱动;但是如果安装的路径非默认路径的话,则需要配置firefox“.exe”文件所在路径的文件驱动 System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe"); => 配置安装路径
- Chrome浏览器
- 下载Chrome驱动
System.setProperty("webdriver.firefox.driver","D:\\webdriver\\chromedriver\\chromedriver.exe"); => 与firefox不同,需要直接配置驱动,即.driver 而不是 .bin
- 下载Chrome驱动
- IE浏览器:同Chrome浏览器的启动步骤,下载好ie浏览器的驱动,并启动就ok了
3.3 元素定位
1.元素定位的方式
- id
- class
- name
- xpath
- …
- 说明:层级定位、子父节点定位方式,当根据id、name等方式不能够定位到元素时,可以先通过id定位它上一级的元素,再定位它的下一级元素
2.Chrome浏览器几种快速定位元素的方法
-
1.启动Chrome浏览器,打开“开发者工具”,切换到console标签,通过 document.querySelector() 方法使用CSS语法定位元素。
-
2.打开Chrome浏览器,打开“开发者工具”,切换到Elements标签,选中要定位的元素,并点击右键,选择Copy->Copy Xpath,即可获取该元素的xpath,可以根据xpath语法定位元素。
4.其他
- 所有的自动化测试都是针对于页面元素的
- 在用webdriver做自动化测试时,不能用太高版本的firefox,一般27-32左右的就可以了
- firefox会自动更新,所以在安装了较低版本的firefox浏览器之后,要记得禁用自动更新功能,否则会自动更新,导致在运行脚本时报错。我用的方法是先在
选项->高级—>firefox更新
中禁用更新,再将firefox安装目录下的update文件删除,见链接中的方法2——>禁用firefox自动更新参考链接