vlambda博客
学习文章列表

UI自动化测试--webdriver驱动浏览器

  今天来谈一下使用Webdriver+selenium 框架来实现PCUI自动化,关于UI自动化,目前在他的效果,成本等方面都存在很多争议,尽管他有很多的缺点,但是合理利用之下,还是能帮助我们解放一定的劳动力的。

 

本篇不在于讨论其优缺点,所以我们直接展示方法。前期我们需要做一些准准备工作

 

1. 下载驱动

https://www.selenium.dev/downloads/

可以看到,selenium支持大部分常用的浏览器,我们以Chrome浏览器为例,下载驱动chromedriver.exe

还可以下载AndroidIOS驱动,用来实现手机wap端的UI自动化

 

2. pom.xml中配置相关jar包依赖

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>3.141.59</version></dependency>

3. 加载驱动,设置浏览器属性

ChromeDriver是Chromium team开发维护的,它是实现WebDriver有线协议的一个单独的服务。ChromeDriver通过chrome的自动代理框架控制浏览器

public class chromeDriver{  System.setProperty("webdriver.chrome.driver","webdriver.path");  // 创建一个新的ChromeDriver的实例  Webdriver webdriver = new ChromeDriver(); // 设置打开的浏览器窗口最大化  webdriver.manage().window().maximize();  // 使用get()打开一个网站  webdriver.get("https://www.baidu.com/");  webdriver.quit();    } }}

4. 通过设置属性来实现,在PC端模拟wap浏览器

public WebDriver chromeDriverForWap() {
//设置webdriver.chrome.driver属性 System.setProperty("webdriver.chrome.driver", "webdriver.path"); //声明ChromeOptions,主要是给chrome设置参数 ChromeOptions options = new ChromeOptions();
//设置user agent为iphone6plus options.addArguments("--user-agent=iphone 6 plus"); options.addArguments("lang_zh_CN.UTF-8"); //这步是关键哦,指定的浏览器size,对应手机型号的size options.addArguments("window-size=375,667"); options.addArguments("user-agent=\"Mozilla/5.0 (iPhone; CPU iPhone OS 11_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0 Mobile/15C114 Safari/604.1\"");
WebDriver driver = new ChromeDriver(options);
driver.get("https://m.baidu.com/"); driver.quit();}