一. 什么是自动化测试
将人工要做的测试工作进行转换,让代码去执行测试工作,这样是为了提高测试效率,提高测试产品得质量.
自动化分离
单元自动化测试
接口自动化测试
UI自动化测试
二. 什么是Selenium?
做UI自动化测试的一个工具
三. 为什么使用Selenium?
1) 免费,可以去查看源码
2) Selenium支持各大浏览器(Edge,Chrome.Opera....)
3) 跨平台(在Linux,Windows.Mac)
4) 有丰富的API
四. Selenium工作原理
三个角色:
1) 自动化脚本代码(idea里面写的代码)
2) 驱动:有了这个驱动就可以对页面进行操作
3) 浏览器
五. Selenium环境搭建 (Chrome+Java)
1. 下载Chrome浏览器
https://www.google.cn/intl/zh-CN/chrome/
2.查看chrome浏览器版本
3.下载chrome浏览器驱动
(1) 下载对应版本的chromedriver
Chrome for Testing availabilityhttps://googlechromelabs.github.io/chrome-for-testing/
(2)将下载好的exe文件复制到chrome浏览器的安装目录下
4.配置环境变量
将该地址复制到环境变量中
5.验证环境是否搭建成功
创建java项目,添加pom文件中添加依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
编写代码运行
import org.openqa.selenium.chrome.ChromeDriver;
public class Main {
public static void main(String[] args) {
WebDriver webDriver = new ChromeDriver();
webDriver.get("https://www.baidu.com");
}
}
若成功打开浏览器则成功.
六. Selenium相关的API
1.定位元素
1) CSS选择器定位元素
CSS 选择器参考手册 (w3school.com.cn)https://www.w3school.com.cn/cssref/css_selectors.asp
就是一个语法.
类选择器 : .class值(.s_ipt)
id选择器 : #id值(#kw)
父类选择器 子类选择器 : 父类选择器表达式 子类选择器表达式(#s_kw_wrap #kw)
标签选择器 : 标签名(form)
2) xpath定位元素
也是一个语法
绝对路径 : 通过 / 开头
/html/body/div/div/div (不常用)
相对路径 : 通过 // 开头
①相对路径+索引 : //form/span[1]/input
②相对路径 + 属性值: //input[@class="s_ipt"]
③相对路径+通配符: //*[@*="s_ipt"]
④相对路径+文本匹配://span[text()="xxxx"]
3) 标签定位元素
关闭浏览器更推荐webDriver.quit(),更彻底干净!
问题:css选择器和xpath选择器之间的区别?
答: css选择器定位元素的效率更高
七.操作测试对象
click 点击对象
send_keys 在对象上模拟按键输入
clear 清除对象输入的文本内容
submit 提交
text 用于获取元素的文本信息
问: submit和click区别:
答:submit操作的元素需要放到form标签中,否则会报错.
click没有限制
推荐使用click
八.添加等待
推荐使用隐式等待