初学自动化测试工具Selenium

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

前言

Selenium是一个用于Web应用程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样。因此使用Selenium则可以实现模拟真实用户测试web应用程序。

如何使用

从上面可以看到Selenium是用来测试web应用程序的,那么自然离不开浏览器。那么下面看看使用的步骤:

选择浏览器

对于IE浏览器和Chrome浏览器都需要下载driver。由于墙过于坚实,此处可提供chromedriver的一个下载地址

firefox只需指定firefox.exe的路径

添加maven依赖组件

        
            org.seleniumhq.selenium
            selenium-java
            2.42.2
        
        
            org.seleniumhq.selenium
            selenium-chrome-driver
            2.42.2
        
        
            junit
            junit
            4.11
        

当然本文是以选择Chrome浏览器为例,如果你选择其他浏览器的话则需要添加其他浏览器的driver 包,例如selenium-firefox-driver 和selenium-ie-driver

创建一个用例

此处用Unit Test作为启动selenium的程序,同时也表示一个case。

  • 对于Chrome浏览器在执行case之前必须指定chromedriver.exe的路径

System.setProperty("webdriver.chrome.driver", "D:\\tool\\chromedriver.exe");
  • 创建一个case

    创建WebDriver实例

WebDriver webDriver = new WebDriver();

        指定url地址

webDriver.get("http://zhangjun817.duapp.com");

        为了防止程序启动浏览器时响应超时,设置请求超时时间,此处以秒为单位

WebDriverWait wait = new WebDriverWait(webDriver, 5);

接下来就可以调用webdriver里的findElement方法选择页面元素了,个人觉的这个方法跟js里的document.getElementBy方法很相似。唯一的区别是需要给与传的参数为特定的类By对象,例如:

        //通过文字查找元素,并触发单击事件
        webDriver.findElement(By.linkText("Sign in")).click();
        //通过元素name查找元素并填充数据
        webDriver.findElement(By.name("username")).sendKeys("[email protected]");
        webDriver.findElement(By.name("password")).sendKeys("buglife.cn");
        //通过Id查找元素
        webDriver.findElement(By.id("login")).click();
        //通过class属性值查找元素
        webDriver.findElement(By.className("glyphicon-log-out")).click();

当然也可以通过webDriver.findElements查询多个元素,此处不再一一列举,关于webdriver的方法可查看源码。

Demo示例

可访问源码地址

转载于:https://my.oschina.net/crazyharry/blog/368345

你可能感兴趣的:(初学自动化测试工具Selenium)