您的位置:首页 > 其它

配置Selenium支持RC和Webdriver的混合模式

2012-08-23 18:12 369 查看
1、创建类文件DefWebDriver.java

import java.io.File;

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.ie.InternetExplorerDriver;

import com.thoughtworks.selenium.Selenium;

public class DefWebDriver {

private static String path="\\WebDrive\\IEDriverServer.exe";
private static String baseUrl = "http://172.16.36.23";

public static WebDriver webdriver;
public static Selenium selenium;
public static JavascriptExecutor js;

public void setPath(String path) {
DefWebDriver.path=path;
}

public void setBaseUrl(String baseUrl) {
DefWebDriver.baseUrl=baseUrl;
}

public  static void CreatDefWebDriver() {
File file = new File(System.getProperty("user.dir")+path);
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());

if(webdriver==null)webdriver = new InternetExplorerDriver();
if(selenium==null)selenium = new WebDriverBackedSelenium(webdriver, baseUrl);
if(js==null) js = (JavascriptExecutor) webdriver;
}
}


2、在存放测试用例的每个模块的.java文件的 @BeforeSuite标识的方法内及变量部分添加

//创建selenium实例
static Selenium selenium=null;

//创建webdriver实例
static WebDriver webdriver=null;

//创建js实例
static JavascriptExecutor js=null;

//初始化Selenium部分
@BeforeSuite
public static void setupBeforeClass() {

/*设置IEWebDriver的路径和访问的URL,可以不设置
*IEWebDriver路径默认是当前项目目录下的【\\WebDrive\\IEDriverServer.exe】
*访问的URL默认是【http://172.16.36.23】
*
*/

DefWebDriver.CreatDefWebDriver();

if (webdriver == null)webdriver=DefWebDriver.webdriver;
if (selenium == null)selenium = DefWebDriver.selenium;
if (js == null)js=DefWebDriver.js;

//登录到系统中

}


3、如此设置之后,在编写测试用例脚本时,即支持RC方式也支持Webdriver方式,示例如下:

//打开登录页
selenium.open("http://172.16.36.23");

//等待3秒
Pause.PauseExec(3);

//获取页面元素
WebElement elementlogin = webdriver.findElement(By.id("loginin"));
WebElement elementaccount =webdriver.findElement(By.id("userinput"));
WebElement elementpassword = webdriver.findElement(By.id("passwordinput"));

//输入用户名和密码,两种方式
//WebDriver.selenium RC方式
//			WebDriver.selenium.type("id=userinput", userInfo.GetAccount());
//			WebDriver.selenium.type("id=passwordinput", userInfo.GetPassword());

//webdriver方式
elementaccount.sendKeys(userInfo.GetAccount());
elementpassword.sendKeys(userInfo.GetPassword());

//点击登录,三种方式

//直接调用js的click_login()登录
//			js.executeScript("click_login()", elementlogin);

//webdriver方式的点击登录按钮
elementlogin.click();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: