软件测试(三)中涉及哪些高级测试技术?

摘要:Web自动化测试 驱动 web系统的测试前提是需要打开浏览器,通过访问web服务器来对服务器界⾯进⾏⼀系列的操作。程序想要打开web浏览器就需要安装web驱动(即WebDriver),WebDriver以本地化⽅式驱动浏览器。 安装驱动管理
Web自动化测试 驱动 web系统的测试前提是需要打开浏览器,通过访问web服务器来对服务器界⾯进⾏⼀系列的操作。程序想要打开web浏览器就需要安装web驱动(即WebDriver),WebDriver以本地化⽅式驱动浏览器。 安装驱动管理 WebDriverManager是⼀个开源Java库,以完全⾃动化的⽅式对Selenium WebDriver所需的驱动程序(如chromedriver、geckodriver、msedgedriver等)进⾏管理(即下载、设置和维护),自版本5 WebDriverManager还提供了其他相关功能,如发现本地系统中安装的浏览器的能⼒,构建WebDriver对象(如ChromeDriver、FirefoxDriver、EdgeDriver等) <dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.8.0</version> <scope>test</scope> </dependency> Selenium selenium是⼀个web⾃动化测试⼯具,selenium中提供了丰富的⽅法供给使⽤者进⾏web⾃动化测试。 ⼀个简单的web⾃动化示例 安装selenium库 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.0.0</version> </dependency> 使⽤selenium编写代码 public void example_test() { //驱动程序管理的⾃动化 WebDriverManager.chromedriver().setup(); ChromeOptions options = new ChromeOptions(); //允许访问所有链接 options.addArguments("--remote-allow-origins=*"); //1、打开浏览器 WebDriver driver = new ChromeDriver(options); //2.输⼊百度⽹址:https://www.baidu.com driver.get("https://www.baidu.com"); //3、找到输⼊框并输⼊“迪丽热巴” driver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("迪丽热巴"); //4、找到“百度⼀下”按钮并点击 driver.findElement(By.xpath("//*[@id=\"su\"]")).click(); //5、关闭浏览器 driver.quit(); } selenium+驱动+浏览器的⼯作原理 通过selenium编写的⾃动化脚本代码中在ChromeDriverService中创建⼀个服务 通过创建好的服务打开webdriver,安装在本地的驱动服务IP为localhost,PORT为ChromeDriverService中创建的端⼝号,该服务地址为selenium向webdriver发送请求的服务地址。 向浏览器驱动程序发送HTTP请求,浏览器驱动程序解析请求,打开浏览器,并获得sessionid,如果再次对浏览器操作需携带此id 打开浏览器后,所有的selenium的操作(访问地址,查找元素等)均通过创建好的服务链接到webdriver,然后使⽤execute发送请求 驱动收到请求并对请求进⾏解析,转成浏览器能够解析的脚本并发送给浏览器,浏览器通过请求的内容执⾏对应动作 浏览器再把执⾏的动作结果通过浏览器驱动程序返回给测试脚本 ⾃动化测试常⽤函数 元素的定位 web⾃动化测试的操作核心是能够找到⻚⾯对应的元素,然后才能对元素进⾏具体的操作。常见的元素定位方式⾮常多,如id,classname,tagname,xpath,cssSelector,常⽤的主要由cssSelector和xpath。
阅读全文