selenium+Junit+IE浏览器
- 首先需要在火狐浏览器里下载selenium工具。
- 代码在selenium工具中可以全部运行通过以后,将代码转成Junit形式,保存。
-
在用eclispe测试的时候,首先需要准备如下工具:
1. 图1
需要注意的是图中的工具版本号需要保持一致
-
新建一个java项目,如图2所示添加JUnit。配置构建路径。
2. 图2
- 同时,将图1的四个工具(除了IEDriverServer),通过添加外部JAR也加入到库里。
至此,准备阶段的工作结束。
创建一个JUnit测试,把导出的代码粘贴进去。
// Generated by Selenium IDE
import org.junit.Test;
import org.junit.Before;
import org.junit.After;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.core.IsNot.not;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.Alert;
import org.openqa.selenium.Keys;
import java.util.*;
public class Simple {
private WebDriver driver;
private Map<String, Object> vars;
JavascriptExecutor js;
@Before
public void setUp() {
System.setProperty("webdriver.ie.driver", "D:\\IE\\IEDriverServer_x64_2.45.0\\IEDriverServer.exe");
driver = new InternetExplorerDriver();
js = (JavascriptExecutor) driver;
vars = new HashMap<String, Object>();
}
/*@After
public void tearDown() {
driver.quit();
}*/
@Test
public void Simple() {
driver.get("https://www.baidu.com/");
driver.manage().window().setSize(new Dimension(1295, 695));
driver.findElement(By.id("kw")).click();
System.out.println("1");
driver.findElement(By.linkText("新闻")).click();
System.out.println("1");
}
}
notes:1.首先要引入相应的驱动
2.创建一个驱动
3.程序setup后加上一行System.setProperty("webdriver.ie.driver", "D:\IE\IEDriverServer_x64_2.45.0\IEDriverServer.exe");说明我使用的是IE浏览器的驱动,后面的路径是IEDriverServer.exe的路径。
可能会出现的问题:
1.在使用eclispe 对导出的代码进行编译时,需要导入selenium包(selenium包可以在selenium官网下载)。如果在编译过程中出现selenium报错:The path to the driver executable must be set by the webdriver.ie.driver system property ;解决的方法是:需要先使用System.setProperty 去设置IE 的 IEDriver 路径,再去创建 IEDriver。具体的代码演示是:"D:\IE\IEDriverServer_x64_2.45.0\IEDriverServer.exe");driver = new InternetExplorerDriver()其中"D:\IE\IEDriverServer_x64_2.45.0\IEDriverServer.exe")为存放IEDriver的路径。
2.如果编译运行时返回“This is the initial start page for the WebDriver server.” 则说明你浏览器进行了缩放。解决方法是:将IE浏览器缩放比例设置成100% 页面→缩放,选择100%,再次运行即可。
4.可以在代码输出时加入输出语句来验证语句是否正常执行。