Selenium+Java+Chrome进行web自动化实例

本文用一个简单的例子来说明从环境搭建到实现web自动化的整个过程,让初学者快速入门。网上很多文章可能只介绍过程中的某一部分,初学者往往一头雾水,而本文则是详细介绍,根据本文一步一步能成功执行自动化测试。

一、环境搭建

1. Eclipse
2. Chrome及对应的Chromedriver
网上搜索的很多映射都是几年前的,扎心!最新的映射如下:
Selenium+Java+Chrome进行web自动化实例_第1张图片
映射(全)请参考:

https://chromedriver.storage.googleapis.com/2.37/notes.txt

3.查看chrome版本,下载对应的Chromedriver,配置环境变量

1)下载chromedriver
2)将WebDriver复制到Chrome的安装目录
    安装目录可以通过在Chrome地址栏中输入chrome://version/来查看
3)将WebDriver的路径复制到系统环境变量PATH中 
即将C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe添加到PATH中

二、自动化测试实例

1.新建Maven Project,在pom.xml加入dependency

        <dependency>
            <groupId>org.seleniumhq.seleniumgroupId>
            <artifactId>selenium-javaartifactId>
            <version>3.0.0version>
        dependency>
        <dependency>
            <groupId>org.testnggroupId>
            <artifactId>testngartifactId>
            <version>6.14.2version>
            <scope>testscope>
        dependency>

需要注意的是,保存后一般下载失败!设置一下镜像下载地址即可,步骤如下:
1)新建一个settings文件
Selenium+Java+Chrome进行web自动化实例_第2张图片

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                        http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <mirrors>
            <mirror>
              <id>alimavenid>
              <name>aliyun mavenname>
              <url>http://maven.aliyun.com/nexus/content/groups/public/url>
              <mirrorOf>centralmirrorOf>        
            mirror>
        mirrors>
    settings>

2)Eclipse>>Window>>Preferences>>Maven>>User Settings:
在右侧的User Settings下选择该文件
Selenium+Java+Chrome进行web自动化实例_第3张图片
点击ok,此时再保存pom.xml会下载成功

2.新建TestNG class,编写脚本

功能:打开浏览器,进入百度,输入CSDN,点击搜索,关闭浏览器
package com.bond.SeleniumProj;

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;

public class WebAutoTest {
    public WebDriver driver;
    String baseUrl = "http://www.baidu.com/";
  @Test
  public void testBaiduSearch() {
      driver.get(baseUrl+"/");
      WebElement inputBox = driver.findElement(By.id("kw"));
      Assert.assertTrue(inputBox.isDisplayed());
      inputBox.sendKeys("CSDN");
      driver.findElement(By.id("su")).click();    
  }
  @BeforeMethod
  public void beforeMethod() {
      System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
      driver = new ChromeDriver();
  }

  @AfterMethod
  public void afterMethod() {
      driver.quit();
  }

}

当然,代码中的findElement等元素定位,将在以后的章节进行介绍,敬请期待~~

3.Run as >>TestNG Test
Selenium+Java+Chrome进行web自动化实例_第4张图片

控制台输出:

Starting ChromeDriver 2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7) on port 11747
Only local connections are allowed.
四月 10, 2018 10:21:23 上午 org.openqa.selenium.remote.ProtocolHandshake createSession
信息: Attempting bi-dialect session, assuming Postel’s Law holds true on the remote end
四月 10, 2018 10:21:25 上午 org.openqa.selenium.remote.ProtocolHandshake createSession
信息: Detected dialect: OSS
PASSED: testBaiduSearch

===============================================
Default test

===============================================
Tests run: 1, Failures: 0, Skips: 0

===============================================
Default suite Total tests run: 1, Failures: 0, Skips: 0

同时,可以看到浏览器自动打开,并搜索CSDN,浏览器关闭。

你可能感兴趣的:(自动化测试)