Java+Selenium框架:如何启动IE浏览器,设置属性并解决ie相关问题

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

背景:IE在selenium自动化场景应用中存在一些问题,比如我遇到的问题:打开IE浏览器速度很快,但在文本框输入内容时,是一个字母一个字母的键入,有说是要选用iedriverserver的32位的版本,众说纷纭,下面来介绍DesiredCapabilities类来改善:

package com.selenium.java.webdriver2testng;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class IEDriverServerIssue{

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		WebDriver driver;
		String baseURL = "https://www.baidu.com";
		// 1.即使你用的是64位的电脑,也下载 32位的 IEDriverServer
		// 2.所有区域的保护模式都一样,要勾上都勾上,要去掉都去掉,建议都去掉
		// 3.浏览器最大化
		// 4.需要用到desired capabilities类去设置IE属性

		// 可以测试一下这些属性在打开ie浏览器时解决了哪些问题,我这边是iedriver64位的,把下面的配置注释后,打开浏览器输入关键字查询超级慢,第一条就可以解决我本地问题
		DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
		caps.setCapability(InternetExplorerDriver.NATIVE_EVENTS, false);
		//caps.setCapability(InternetExplorerDriver.ENABLE_PERSISTENT_HOVERING,
				false);
		//caps.setCapability(InternetExplorerDriver.REQUIRE_WINDOW_FOCUS, false);
		//caps.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
		//caps.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
		//caps.setCapability(
				InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
				true);

		// 设置浏览器的属性,key,value,对应里面的值,驱动路径可以是相对路径
        // 这行代码可以设置环境变量,path中添加driver的目录即可
		System.setProperty("webdriver.ie.driver", "drivers/IEDriverServer.exe");
		// 创建一个浏览器驱动实例
		driver = new InternetExplorerDriver(caps);
		// 实例即对象,调用浏览器驱动封装好的方法,get()打开网址,里面是一个字符串url,同时打开浏览器的方法还有navigate().to()
// 下面是一套测试用例,打开浏览器,输入selenium,点击百度一下,关闭窗口
		driver.manage().window().maximize();
		driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
		driver.get(baseURL);
		driver.findElement(By.id("kw")).sendKeys("selenium");
		driver.findElement(By.id("su")).click();
		driver.close();

	}

}

猜你喜欢

转载自blog.csdn.net/u011466469/article/details/88878044