Selenium Java启动国内Chromium系浏览器360、QQ等
近期有同学有需求,他们要求只能在国产浏览器如360、QQ等上进行测试。
Selenuim支持谷歌Chrome浏览器我们都是知道的,但是selenium是国外团队开发的,它能支持国内的360、QQ等浏览器吗?
答案当然是Yes!因为它们都是基于Chromium开发的。
Chromium是一个开源并且免费的项目,谷歌浏览器就是基于Chromium定制开发的,国内浏览器市场也大都基于Chromium开源架构,如360、QQ、UC、猎豹、搜狗等。Selenium支持谷歌浏览器,同样也支持都是基于Chromium开源架构的国产浏览器。
那如何启动360、QQ等这些国产的浏览器呢?
Selenium Java中启动Chrome浏览器的核心步骤是:
WebDriver driver = new ChromeDriver( );
启动360、QQ等国产浏览器只需要加多一个步骤就可以了,就是要指定360、QQ等浏览器在电脑上的具体安装路径。这个路径的指定需要用到ChromeOptions类,及类中的setBinary方法,具体代码如下:
ChromeOptions option = new ChromeOptions();
option.setBinary("C:\\Users\\yoyo\\AppData\\Roaming\\360se6\\Application\\360se.exe");
WebDriver driver = new ChromeDriver(option);
使用360浏览器打开百度的完整代码示例如下:
public class UseBrowserChromium {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "D:\\browserdriver\\chromedriver.exe");
//通过ChromeOptions类和setBinary方法指定360浏览器的具体安装路径
ChromeOptions option = new ChromeOptions();
option.setBinary("C:\\Users\\yoyo\\AppData\\Roaming\\360se6\\Application\\360se.exe");
//在启动浏览器的步骤中,把上面的option做为参数传入
WebDriver driver = new ChromeDriver(option);
driver.get("https://www.baidu.com");
}
}
运行上面的代码,即可以看到selenium成功启动了360浏览器,并且打开了百度首页。
注意事项:
因为启动谷歌浏览器时涉及到浏览器版本和浏览器驱动chromedriver的对应关系,所以要注意一下自己安装的360、QQ等浏览器具体的谷歌内核是什么版本,这个可以从浏览器的“关于”部分看到:
如果版本不匹配,会报如下错误:
谷歌版本和chromedriver的对应关系,可参照我的博客文章:
https://blog.csdn.net/yoyocat915/article/details/80580066
********************************************************************************************************
近期我会在博客中系统的更新一些关于Selenium的文章,也请大家多多关注下我的视频课程:
入门:基于Java的Selenium3自动化测试完整教程
高级:Selenium Java高级架构课程
*********************************************************************************************************
阅读更多精彩文章,请大家关注我的测试公众号:火烈鸟测试