1、自动化测试
优点:通过自动化测试有效减少人力的投入,同时提高了测试的质量和效率。
也用于回归测试。随着版本越来越多,版本回归的压力越来越大,仅仅通过人工测试 来回归所以的版本肯定是不现实的,所以我们需要借助自动化测试。
2、自动化测试的分类
接口自动化测试
UI自动化测试(界面测试):
移动端自动化测试
web端自动化测试
3、selenium(web自动化测试工具)
- 为什么选择selenium作为我们的web自动化测试工具?
答:1)开源免费
2)支持多浏览器。如:Chrome、Firefox、IE浏览器等等
3)支持多系统。如:Linux、Windows、MacOS.....
4)支持多语言。如:Java、Python、CSharp、Ruby、JavaScript、Kotlin
5)selenium包里提供了很多可供测试使用的API。
4、环境部署
使用selenium实施web自动化测试,需要的环境有:
- Chrome浏览器
- 谷歌驱动(ChromeDriver)
- selenium工具包
一个简单的自动化代码示例:
首先导入selenium包:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
简单自动化百度搜索蔡徐坤代码:
public void caixukunTest() throws InterruptedException {
//打开浏览器
ChromeDriver driver = new ChromeDriver();
Thread.sleep(2000);
//在浏览器输入百度网址,访问百度网页
driver.get("https://www.baidu.com");
Thread.sleep(2000);
//找到百度首页的输入框元素,输入关键词 蔡徐坤
driver.findElement(By.cssSelector("#kw")).sendKeys("蔡徐坤");
Thread.sleep(2000);
//找到百度首页”百度一下“按钮,并点击
driver.findElement(By.cssSelector("#su")).click();
Thread.sleep(2000);
//结束会话(关闭浏览器)
driver.quit();
}
简单自动化实例的五个主要步骤:
- 创建驱动实例,创建会话
- 访问网站
- 查找元素
- 操作元素
- 结束会话
5、selenium常用方法
5.1 查找页面元素
findElement()
参数:By类(提供什么方式来查找元素)
返回值:webElement
findElements()
参数:By类(提供什么方式来查找元素)
返回值:List<WebElement>
5.2 元素的定位 By类
selector:基础选择器/复合选择器
功能:选中页面中指定的标签元素
xpath
语法:
- 层级:/子级 // 跳级
- 属性:@
- 函数:contains()......
自动化里要求元素的定位必须唯一。但是在手动复制selector或者xpath元素的时候不一定是唯一的,需要我们手动修改到唯一的。