为什么选择Selenium作为测试工具:
- 开源免费
- 容易与单元测试框架结合
- 代码可自主掌握,对于搭建框架,平台等有不可替代的优势
Selenium也是一个用于Web应用程序测试的工具,支持多平台,多浏览器,多语言去实现自动化测试,目前在Web自动化领域应用越来越广泛
什么是Selenium?
Selenium是专门为Web应用程序编写的一个自动化验收程序工具。
Selenium工作流程
- 测试代码:自动化测试代码发送Http请求给浏览器驱动
- 浏览器驱动:解析这些自动化测试的代码
- 浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作
Selenium三大组件
- Selenium WebDriver: client端通过代码编写指定特定的url通过API具体实现,以http请求的方式发送给server端(Web Driber相当于Web Server)(各浏览器厂家提供的驱动),server接受请求,操作浏览器指令并将操作结果返回给驱动。
- Selenium IDE:实现简单的浏览器操作的录制与回放功能
- Selenium Grid:是一种自动化的测试辅助工具,Grid通过利用现有的计算机基础设施,能加快Web应用的功能测试。利用Grid可以很方便地实现在多台机器上和异构环境中运行测试用例。
Selenium环境配置步骤
-
浏览器FireFox的安装(下面的是绿色版的FireFox)
RunningCheeseFirefox (lanzoui)
-
JDK的安装
-
IDEA的安装
-
安装Selemium Webdriver类库
配置自动化的浏览器,首先,你需要为自动化项目安装Selenium绑定库,库的安装过程取决于你选择使用的语言。
java语言:
可以使用Maven安装java的Selenium库。打开IDEA,新建一个maven项目,然后打开pom.xml文件,添加标签,将以下代码复制进去然后刷新界面出现的蓝色的m就可以了。
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.0.0</version> </dependency>
-
安装浏览器驱动
设置你的系统去实现浏览器自动化,尽管Selenium WebDriver支持所有主要的市面上的浏览器,例如Chrome、Firefox、Edge等。下面的是Firefox的驱动下载地址如果想下载别的可以去官网查。记得把驱动放在自己能找到的地址下,编写脚本的时候用System的setProperty(“浏览器”,“路径”)方法需要填写此路径。
Releases · mozilla/geckodriver (github)
编写一个自动化脚本
自动化用例的步骤:
- 声明driver对象(将要启用什么浏览器)。
- driver去打开浏览器并输入你要测试的网页地址(使用get方法打开测试站点)。
- 找到需要操作元素(利用WebElement声明元素对象)。
- 对元素进行输入,点击,断言操作。
- 关闭浏览器,释放资源
自动化脚本演示:
public static void main(String[] args) throws InterruptedException {
//设置Firefox驱动的环境变量
System.setProperty("webdriver.gecko.driver","D:\\software\\RunningCheeseFirefox\\Firefox\\geckodriver.exe");
//如果下载的是绿色版的Firefox,需要添加这句话。
System.setProperty("webdriver.firefox.bin","D:\\software\\RunningCheeseFirefox\\Firefox\\firefox.exe");
//打开浏览器
WebDriver driver=new FirefoxDriver();
//地址栏输入URL
driver.get("https://www.baidu");
//模拟真实的网络延迟操作
Thread.sleep(3000);
//实现自动在百度的搜索栏中填写“淘宝”
driver.findElement(By.id("kw")).sendKeys("淘宝");
//实现自动点击百度的查找按钮
WebElement login_link=driver.findElement(By.id("su"));
login_link.click();
//关闭浏览器释放资源
driver.close();
}
更多推荐
开源测试框架-UI自动化测试工具Selenium的安装与常用操作-Java语言
发布评论