自动化管理Webdriver驱动文件

自动化管理Webdriver驱动文件

当我们在使用Selenium Webdriver 进行自动化脚本开发时,我们都需要先下载各浏览器对应的驱动文件,而且还需要在脚本中去设置这些文件的路径。有没有自动化的方式来解决这个问题呢,我们在初始化方法中任意选择我们想使用的浏览器类型及版本?

例如我们之前脚本中使用IE浏览器时是这么在脚本中设置的:

System.setProperty("webdriver.ie.driver",System.getProperty("user.dir")+"\\driver\\IEDriverServer.exe");

除了这些我们还要保证兼容性,这是一个很麻烦的过程。

是否可以自动的下载管理这些驱动文件呢?

我们发现Webdrivermanager可以帮助我们自动下载各种浏览器的驱动文件。它支持Chrome,Firefox,Opera,PhantomJS,Microsoft Edge或Internet Explorer等浏览器。 我们只需要在我们的mavne项目中,POM文件中添加依赖即可导入该jar包

 
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>

如何使用?

代码示例

 
public class SearchTest {

    WebDriver driver;

    BaiduHomePage homePage;

    SearchResultPage resultPage;

    @BeforeClass
    public void setUp() throws Exception{
//        System.setProperty("webdriver.ie.driver",System.getProperty("user.dir")+"\\driver\\IEDriverServer.exe");
        //这么调用即可
        WebDriverManager.iedriver().setup();
        driver = new InternetExplorerDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.get("http://www.baidu.com");
    }
    @Test
    public void testSearch() throws InterruptedException {
        //创建首页对象
        homePage = new BaiduHomePage(driver);
        //输入搜索关键字
        homePage.setKeyWords("测试");
        //点击搜索按钮
        homePage.clickSearchButton();
        //创建搜索结果页对象
        resultPage = new SearchResultPage(driver);
        Thread.sleep(3000);
        //获取搜索页标题
        String titleText = resultPage.getTitleText();
        //验证页面标题中是否包含测试关键字
        Assert.assertTrue(titleText.contains("测试"));
    }

    @AfterClass
    public void tearDown(){

        driver.quit();
    }
}

当我们在代码中使用它时,会默认下载最新对应的驱动文件。如果我们想指定驱动版本,可以这么设置:

 
WebDriverManager.chromedriver().version("2.30").setup();

有兴趣的同学可以试试,有问题可随时联系我们。QQ群:368872334

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值