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

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();





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值