【Selenium】使用selenium进行自动化测试(上)

selenium的下载地址

Selenium官网:
https://docs.seleniumhq.org/download/
Selenium各版本下载:
http://selenium-release.storage.googleapis.com/index.html

IE驱动文件:
http://selenium-release.storage.googleapis.com/index.html

chrome driver下载
https://chromedriver.storage.googleapis.com/index.html
chrome浏览器各版本下载
http://www.chromedownloads.net/chrome64win/

我的百度云盘分享:
链接:https://pan.baidu.com/s/1R2DdAI8RIExvstC_-0RaJg 密码:e1zc

在eclipse中导入selenium的jar

在eclipse的java project中创建一个新的文件夹(folder),命名为lib,然后将刚刚下载的selenium中的如下jar全部拷贝到lib文件夹下。
在这里插入图片描述
将上图lib中的所有jar和下面两个jar一起拷贝到java项目中lib文件夹下。
在这里插入图片描述
拷贝完成后全选这些jar,右键加到libraries中,操作如下图:
在这里插入图片描述
这样这些jar就添加到了类库中。

一个简单的例子(基于火狐浏览器)

下面我们写一个简单的例子,步骤如下:

  1. 打开火狐浏览器
  2. 打开百度
  3. 输入关键字
  4. 点击百度一下按钮
  5. 退出浏览器

代码如下:

public static void main(String[] args) {
		// 自动启动浏览器
		System.setProperty("webdriver.firefox.bin", "C:\\Program Files\\Mozilla Firefox\\firefox.exe");
		WebDriver driver=new FirefoxDriver();
		//自动输入url
		driver.get("http://www.baidu.com");
		//自动找到百度的输入框,输入相关内容
		WebElement input=driver.findElement(By.id("kw"));
		input.sendKeys("大家好");
		//自动找到百度一下按钮,点击
		driver.findElement(By.id("su")).click();
		//自动检查查询的内容是否符合要求
		//自动关闭浏览器
		driver.quit();
	}

注:selenium版本是3.x的,搭建火狐浏览器的自动化测试环境就需要驱动包了。

IE浏览器下自动化环境的搭建

首先下载IE驱动,与selenium版本保持相同即可。
前面有下载链接,这里再提一下:http://selenium-release.storage.googleapis.com/index.html
因为我的selenium版本是2.53.1,所以我下载同版本的IE驱动:
在这里插入图片描述
下载完成之后解压将会得到一个IEDriverServer.exe可执行文件,将其复制到java project下的src文件夹中。
再编写如下代码:

扫描二维码关注公众号,回复: 3352657 查看本文章
public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("webdriver.ie.driver", "src/IEDriverServer.exe");
		WebDriver driver=new InternetExplorerDriver();

		driver.get("http://www.baidu.com");
	}

执行时我们发现有以下错误:

Exception in thread "main" org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones. (WARNING: The server did not provide any stacktrace information)

解决方法:
在这里插入图片描述

第二个解决方法就是加上忽略浏览器保护模式的代码:

public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("webdriver.ie.driver", "src/IEDriverServer.exe");
		DesiredCapabilities capabilities=new DesiredCapabilities();
		//忽略浏览器保护模式的设置
		capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
		//通过驱动来打开浏览器
		WebDriver driver=new InternetExplorerDriver(capabilities);
		driver.get("http://www.baidu.com");
	}

这样就可以运行成功啦。但是有些童鞋还会报这种浏览器缩放错误。

Browser zoom level was set to 125%. It should be set to 100% (WARNING: The server did not provide any stacktrace inf

解决方法:
将以下代码放在webdriver之前。

//忽略浏览器的缩放设置
capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);

Chrome浏览器下自动化环境的搭建

首先我们要去下载一个谷歌浏览器的驱动,网址在这里:
https://chromedriver.storage.googleapis.com/index.html
如果这个网址不行,还可以在这里:
http://npm.taobao.org/mirrors/chromedriver/

然后呢根据你的谷歌浏览器的版本选择对应的驱动,对照表可以在这个大佬的博客里面看到:
https://blog.csdn.net/llbacyal/article/details/78563992

我的谷歌浏览器版本是68,所以下载2.41版本:
解压后照样将chromedriver.exe文件复制到java project的src文件夹下。
然后下面的代码就是谷歌浏览器下环境的搭建:

System.setProperty("webdriver.chrome.driver","src/chromedriver.exe" );
WebDriver driver=new ChromeDriver();
driver.get("http://www.baidu.com");

java中的一些常用快捷键

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34659777/article/details/82787089
今日推荐