广交好友~~ 想要讨论的可以留下msn~~~ 希望群友网友经常能提出问题,一起解决,共同提高

Selenium WebDriver施用经验杂记

上一篇 / 下一篇  2014-03-11 22:47:38 / 个人分类:Selenium

利用Javascript注入,来读取不同Ajax调用框架的Ajax request status,一直等到Ajax调用全部返回才开始分析操作Dom元素
演示代码如下:

protected void syncAjaxByJQuery(String timeout) {  
	boolean isSucceed = false;  
	try {  
		selenium.waitForCondition(  
				"selenium.browserbot.getCurrentWindow().jQuery.active == 0", timeout);  
		isSucceed = true;  
	} catch (SeleniumException se) {  
		LOG.error(se);  
	} catch (Exception re) {  
		throw new RuntimeException(re.getMessage());  
	}  
	operationCheck(isSucceed);  
}


protected void syncAjaxByPrototype(String timeout) {  
	boolean isSucceed = false;  
	try {  
		selenium.waitForCondition(  
				"selenium.browserbot.getCurrentWindow().Ajax.activeRequestCount == 0",  
				timeout);  
		isSucceed = true;  
	} catch (SeleniumException se) {  
		LOG.error(se);  
	} catch (Exception re) {  
		throw new RuntimeException(re.getMessage());  
	}  
	operationCheck(isSucceed);  
}


protected void syncAjaxByDojo(String timeout) {  
	boolean isSucceed = false;  
	try {  
		selenium.waitForCondition(  
				"selenium.browserbot.getCurrentWindow().dojo.io.XMLHTTPTransport.inFlight.length == 0",  
				timeout);  
		isSucceed = true;  
	} catch (SeleniumException se) {  
		LOG.error(se);  
	} catch (Exception re) {  
		throw new RuntimeException(re.getMessage());  
	}  
	operationCheck(isSucceed);  
}




 Other Tips
1. 加载IEDriver的时候,通常会因为兼容模式的设置问题,而无法启动,尝试在创建IEDriver对象的时候,加入合适的参数设置:

DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer(); 
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
return new InternetExplorerDriver(ieCapabilities);

TAG:

51Testing小编的个人空间 引用 删除 zaza9084   /   2014-03-12 11:17:01
您好,我是51Testing软件测试网的编辑,您的本篇博文近日将被推荐至51Testing软件测试网首页发表~
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
 

评分:0

我来说两句

Open Toolbar