自动化测试Selenium WebDriver施用经验杂记

Posted 51Testing软件测试网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化测试Selenium WebDriver施用经验杂记相关的知识,希望对你有一定的参考价值。

  利用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

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

DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();

ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

return new InternetExplorerDriver(ieCapabilities);

......

以上是关于自动化测试Selenium WebDriver施用经验杂记的主要内容,如果未能解决你的问题,请参考以下文章

如何搭建webdriver+selenium+nodejs自动化测试框架

python3里使用selenium webdriver自动化测试

Selenium自动化测试Python三:WebDriver进阶

自动化测试Selenium Webdriver (JAVA)学习小结

自动化测试工具Webdriver入门解析

自动化测试selenium模块webdriver的使用