使用Selenium执行自动化测试 - java版(1)

使用Selenium的准备工作

  • 安装需要的浏览器
  • 下载浏览器对应的Driver

下载浏览器的驱动

各个浏览器Driver的下载地址

ChromeDriver: http://chromedriver.storage.googleapis.com/index.html
EdgeDriver: http://go.microsoft.com/fwlink/?LinkId=619687
FirefoxDriver: https://github.com/mozilla/geckodriver/releases
InternetExplorerDriver: http://selenium-release.storage.googleapis.com/index.html
OperaDriver: https://github.com/operasoftware/operachromiumdriver/releases

SafariDriver的驱动应该已经内置在苹果系统中,无需再下载(看源码是这样,没有苹果电脑也无法尝试)

导入依赖包

在pom.xml中导入selenium的依赖包,本例使用3.9.1版本
可以在maven库中选择其他版本:https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java

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

导入后会有各个浏览器的依赖包
各个浏览器的驱动包

写一段测试代码,实现自动打开谷歌浏览器,访问百度首页,加载完成后得到标题(也就是HTML title标签中的内容)

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.chrome.ChromeOptions;

import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSortedMap;

public class TestTitle {
	
	public static void main(String[] args) {
//		WebDriver driver = new EdgeDriver();
//		WebDriver driver = new FirefoxDriver();
//		WebDriver driver = new InternetExplorerDriver();	//IE浏览器
//		WebDriver driver = new OperaDriver();
//		WebDriver driver = new SafariDriver();
		
		/*
		 * 指定浏览器驱动的路径
		 * 不指定会报 "org.openqa.selenium.WebDriverException: unknown error: cannot find Chrome binary" 异常
		 * 注意:使用不同浏览器时,此处的key也不一样
		 */
		System.setProperty("webdriver.chrome.driver", "F:\\LGC\\自动化测试\\chromedriver.exe");
		
		ChromeOptions options = new ChromeOptions();
		//指定浏览器的启动文件路径
		//不指定会报  "java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property" 异常
		options.setBinary("C:\\Program Files (x86)\\Chrome\\chrome.exe");
		WebDriver driver = new ChromeDriver(options);	//使用谷歌浏览器测试,运行后会自动打开谷歌浏览器
		
		/*
		 * 以上两个路径也可以不设置,把浏览器驱动放到浏览器的安装目录下,然后配置环境变量指向浏览器安装目录即可
		 * 注意 环境变量名必须是path,可以不区分大小写
		 * 这时就可以使用无参ChromeDriver()
		 * WebDriver driver = new ChromeDriver();
		 */
	    driver.get("http://www.baidu.com/");	//访问外网资源
//	    driver.get("file:///F:\\LGC\\workspace_cloud\\UI-Test\\html\\index.html");	//访问本地资源,开头加不加file:///都可以
	
	    String title = driver.getTitle();		//获得浏览器中的标题
	    System.out.printf(title);				//会输出“百度一下,你就知道”
	
	    driver.close();
	}

}

设置环境变量

如果使用无参ChromeDriver()实例化WebDriver 对象就需要设置环境变量,指定浏览器的安装目录和Driver的路径。环境变量名必须是“path”(可以不区分大小写)

如果为了方便可以把驱动放在浏览器的安装目录下,环境变量就指向浏览器的安装目录,这样运行时就会在这个目录下找浏览器的驱动和浏览器的启动程序



现在可以运行一下试一试,会自动打开浏览器,并访问百度,打印出标题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值