大家在做UI自动化的时候,最烦的是什么呢,是元素定位还是浏览器与驱动兼容调试?我们接着往下看
一.SeleniumWebDriver
SeleniumWebDriver是一个允许以编程方式控制Web浏览器的库。它提供了一个跨浏览器的API,可用于驱动使用不同编程语言(如Java、JavaScript、Python、C# 或Ruby)的浏览器(如Chrome、Edge或Firefox等)。Selenium WebDriver 的主要用途是实现Web应用程序的自动化测试。
SeleniumWebDriver使用每个浏览器的本机支持实现自动化。出于这个原因,我们需要在使用Selenium WebDriver API的测试和要控制的浏览器之间放置一个名为Driver的二进制文件。现在主流网页浏览器的驱动程序有ChromeDriver (Chrome) ,geckoDriver (Firefox) ,或者msededriver (Edge)。WebDriver API和驱动程序二进制文件之间的通信是使用名为W3C WebDriver(以前称为JSON Wire Protocol)的标准协议完成的。然后,使用每个浏览器的本机功能完成驱动程序和浏览器之间的通信。
我们根据不同浏览器以及浏览器版本去手动下载对应浏览器的相应版本的driver,设置系统属性。
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
System.se