刚进入九月,slenium4版本4.0.0-rc-1正式发布,RC(ReleaseCandidate)发布候选版本,基本不会增加新功能,主要是bug修复,是最终发布的作为正式版的前一个版本,这意味着Selenium4的正式版即将发布!在这里试用过Selenium4,对其新功能做一个简单的总结,方便大家快速上手。环境搭建1.Maven方法org.seleniumhq.seleniumselenium-java4.0.0-rc-12.jar包下载https://www.selenium.dev/downloads/这里要强调一下,大家使用各个浏览器的一定要下载最新的浏览器驱动,否则脚本会报错!浏览器在Selenium3驱动中可以正常驱动,在Selenium4中,大概率会驱动失败!(我在这里调试浪费了很多时间)新特性概述Webdriver协议已经成为W3C标准。官方文档已经全面更新。文档的更新方便大家学习。读后感觉非常有力量。详情请参考:https://www.selenium.dev/documentation/webdriver/SeleniumIDE的升级(重点)同时支持chrome和Firefox,显然是针对Katalonrecorder。SeleniumGrid4的升级(重点)不再需要单独设置和启动Hub和Node。Selenium服务器启动后,SeleniumGrid将充当Hub和Node。支持CDP协议(??关键)Selenium4通过DevTools接口提供对ChromeDevToolsProtocol(CDP)的原生支持。它允许使用Chrome开发属性,如Fetch、Network、Profiler、Performance、Applicationcache等。此功能可帮助开发人员和测试人员快速测试和解决特定网页的严重错误。测试团队还可以利用ChromeDevTools提供的API来模拟不利的网络条件并执行地理定位测试。此功能还允许测试人员检查产品在3G、4G、5G等不同网络条件下的性能。核心api如下:org.openqa.selenium.devtools.DevTools.DevTools(Functionprotocol,Connectionconnection)但是如果我们只是将Selenium用于基础的web自动化测试,那么这个函数的使用场景就极其有限了。相对定位器的使用(重点)顾名思义,我们也可以获取相对于任何其他定位器的定位器,主要包括上面下面的方法toLeftOftoRightOfnear使用相对定位器的例子如下:importstaticorg.openqa.selenium.support.locators.RelativeLocator.with;WebElementpasswordField=dr.findElement(By.id("password"));WebElementemailAddressField=dr.findElement(with(By.tagName("input")).above(passwordField));新增处理浏览器窗口的API(关键点)在新Tab页打开网页dr.switchTo().newWindow(WindowType.TAB);dr.get("https://www.hao123.com");在新窗口中打开网页dr.switchTo().newWindow(WindowType.WINDOW);dr.get("https://www.baidu.com");浏览器全屏截图在Firefox中,您可以使用getFullPageScreenshotAs()方法来获取浏览器全屏截图。目前仅支持火狐浏览器。个人觉得这个功能没什么用。核心代码如下:filesrc=((FirefoxDriver)driver)).getFullPageScreenshotAs(OutputType.FILE);