本文用一个简单的例子来说明从环境搭建到实现web自动化的整个过程,让初学者快速入门。网上很多文章可能只介绍过程中的某一部分,初学者往往一头雾水,而本文则是详细介绍,根据本文一步一步能成功执行自动化测试。
1. Eclipse
2. Chrome及对应的Chromedriver
网上搜索的很多映射都是几年前的,扎心!最新的映射如下:
映射(全)请参考:
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文件
<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下选择该文件
点击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等元素定位,将在以后的章节进行介绍,敬请期待~~
控制台输出:
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,浏览器关闭。