使用idea+java+maven+selenium创建自动化测试的demo

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39513166/article/details/85103270

使用selenium之前需要去下载对应的浏览器驱动,并且下载的浏览器驱动的版本要和你的浏览器版本相对应。不然的话会报错的。
如何使用idea创建maven项目步骤
我这里使用的是谷歌的浏览器(版本是:68)。

各种版本的chromedriver下载:
http://chromedriver.storage.googleapis.com/index.html

selenium之 chromedriver与chrome版本映射表:

chromedriver版本 支持的Chrome版本
v2.40 v66-68
v2.39 v66-68
v2.38 v65-67
v2.37 v64-66
v2.36 v63-65
v2.35 v62-64
v2.34 v61-63
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48
v2.19 v43-47
v2.18 v43-46
v2.17 v42-43
v2.13 v42-45
v2.15 v40-43
v2.14 v39-42
v2.13 v38-41
v2.12 v36-40
v2.11 v36-40
v2.10 v33-36
v2.9 v31-34
v2.8 v30-33
v2.7 v30-33
v2.6 v29-32
v2.5 v29-32
v2.4 v29-32

引用的maven包

<dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.13.0</version>
</dependency>
<dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-api</artifactId>
      <version>3.13.0</version>
 </dependency>

等maven引入完成之后就可以在新建好的项目里写代码了。

package com.test1;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

/**
 * @Classname Test1
 * @Description TODO
 * @Date 2018/12/19 15:26
 * @Created by Administrator
 */
public class Test1 {
    public static void main(String[] args) throws Exception {

        ///////////如下为对百度网页进行一次搜索的过程;///////////
        //driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);    设置下 全局等待时间
        //webdriver.chrome.driver:固定的,指谷歌驱动,D:/chrome/chromedriver.exe:驱动的位置
        System.setProperty("webdriver.chrome.driver", "D:/chromed/chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("http://www.baidu.com/");
        //显式等待, 针对某个元素等待(等元素加载起来后才触发)
//        WebDriverWait类是由WebDirver提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。具体格式如下:
//        WebDriverWait(driver, 10, 1)
//        driver: 浏览器驱动。 10: 最长超时时间, 默认以秒为单位。 1: 检测的的间隔(步长) 时间, 默认为 0.5s。
        WebDriverWait wait = new WebDriverWait(driver, 10, 1);
        wait.until(new ExpectedCondition<WebElement>() {
            @Override
            public WebElement apply(WebDriver text) {
                return text.findElement(By.id("kw"));
            }
        }).sendKeys("selenium");
        //创建鼠标属性方法,然后获取id为kw的元素并点击。
        //Actions action = new Actions(driver);
        //action.moveToElement(driver.findElement(By.id("kw"))).perform();
        //通过元素属性id=kw找到百度输入框,并输入"Selenium java";
        driver.findElement(By.id("kw")).sendKeys("Selenium java");
        Thread.sleep(1000);
        //通过元素属性id=su找到百度一下搜索按钮,并对按钮进行点击操作;
        driver.findElement(By.id("su")).click();
        //移动到页面最底部
//        ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 10000)");
        Thread.sleep(1000);
        for (int j = 1; j < 10; j++) {
            Thread.sleep(2000);
            ((JavascriptExecutor) driver).executeScript("window.scrollBy(0, " + j * 100 + ")");
        }
        System.out.println("退出循环了");
//        //刷新页面
//        driver.navigate().refresh();
        driver.quit();
    }

}

猜你喜欢

转载自blog.csdn.net/weixin_39513166/article/details/85103270