博主主页: 码农派大星.
数据结构专栏:Java数据结构
数据库专栏:数据库
JavaEE专栏:JavaEE
软件测试专栏:软件测试
关注博主带你了解更多知识
目录
1. ⾃动化
1.1 自动化概念
1.1.1 回归测试
1.2 ⾃动化分类
接⼝⾃动化
UI⾃动化
1.3 ⾃动化测试⾦字塔
2. web⾃动化测试
安装驱动管理
3. Selenium
安装selenium库
使⽤selenium编写代码
selenium+驱动+浏览器的⼯作原理
自动化是指使用技术来执行以前由人工完成的任务或流程,以提高效率、准确性和可重复性。自动化可以减少人力需求,降低错误率,节省时间和成本,并提高整体生产力
自动化测试常用于回归测试
回归测试是一种软件测试方法,旨在验证最新的代码更改有没有破坏原有的功能。这通常在软件开发过程中,特别是在功能增强或缺陷修复后进行
回归测试的目的是确保:新引入的代码没有引入新的错误,原有的功能仍然按预期工作
UI测试也称为界⾯测试,常⻅的UI⾃动化测试包含web⾃动化测试、移动端⾃动化测试等
理想的⾃动化测试⾦字塔表达了⾃动化测试的理想情况,利⽤较少的时间和精⼒在单元测试上就能够 发现更多有效的问题。
然后实际上在企业中,⾃动化往往是“冰淇淋蛋筒反模式”
软件进⾏⾃动化的实施,包含但不限于软件所有界⾯的UI⾃动化测试、所有接⼝的接⼝⾃动化测 试,接下来我们将正式步⼊web⾃动化测试的学习
Web自动化测试是指使用自动化测试工具或框架来模拟用户在Web应用程序上的操作,以验证应用程序的功能、性能和用户体验是否符合预期。Web自动化测试可以显著提高测试效率,减少手动测试的时间和成本,并能够更容易地执行重复性测试和回归测试
WebDriverManager是⼀个开源Java库,以完全⾃动化的⽅式对SeleniumWebDriver所需的驱动程 序(如chromedriver、geckodriver、msedgedriver等)进⾏管理(即下载、设置和维护),⾃版 本5起,WebDriverManager还提供了其他相关功能,如发现本地系统中安装的浏览器的能⼒,构建 WebDriver对象(如ChromeDriver、FirefoxDriver、EdgeDriver等)
io.github.bonigarcia
webdrivermanager
5.8.0
test
selenium是⼀个web⾃动化测试⼯具,selenium中提供了丰富的⽅法供给使⽤者进⾏web⾃动化测 试
org.seleniumhq.selenium
selenium-java
4.0.0
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class Test {
void test() throws InterruptedException {
WebDriverManager.chromedriver().setup();
ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*");
WebDriver driver = new ChromeDriver(options);
Thread.sleep(4000);
driver.get("https://www.baidu.com");
Thread.sleep(4000);
driver.findElement(By.cssSelector("#kw")).sendKeys("2025大年三十倒计时计时器");
Thread.sleep(4000);
driver.findElement(By.cssSelector("#su")).click();
Thread.sleep(6000);
driver.quit();
}
}
1. 通过selenium编写的⾃动化脚本代码中在ChromeDriverService中创建⼀个服务
2. 通过创建好的服务打开webdriver,安装在本地的驱动服务IP为localhost,PORT为 ChromeDriverService中创建的端⼝号,该服务地址为selenium向webdriver发送请求的服务地 址。
3. 向浏览器驱动程序发送HTTP请求,浏览器驱动程序解析请求,打开浏览器,并获得sessionid,如 果再次对浏览器操作需携带此id
4. 打开浏览器后,所有的selenium的操作(访问地址,查找元素等)均通过创建好的服务链接到 webdriver,然后使⽤execute发送请求
5. 驱动收到请求并对请求进⾏解析,转成浏览器能够解析的脚本并发送给浏览器,浏览器通过请求的内容执⾏对应动作
6. 浏览器再把执⾏的动作结果通过浏览器驱动程序返回给测试脚本