如何在JavaScript中使用Selenium RC中的xpath?
我使用IE 6的Selenium RC和XPath定位器速度非常慢。 所以我试图看看javascript-xpath是否实际上加速了事情。
但是找不到足够/清晰的关于如何使用本机x路径库的文档。
我正在做以下事情:
protected void startSelenium (String testServer, String appName, String testInBrowser){
selenium = new DefaultSelenium("localhost", 4444, "*" +testInBrowser, testServer+ "/"+ appName + "/");
echo("selenium instance created:"+selenium.getClass());
selenium.start();
echo("selenium instance started..." + testServer + "/" + appName +"/");
selenium.runScript("lib/javascript-xpath-latest-cmp.js");
selenium.useXpathLibrary("javascript-xpath");
selenium.allowNativeXpath("true");
}
这导致了XPath定位器的速度提升,但改进并不一致。 在某些运行中,定位器所花费的时间减半; 而有时它的随机性很高。
我在这里错过了任何配置步骤吗? 如果某个成功的人能够分享他们的观点和方法,那将会很棒。
谢谢,Nirmal
解:
protected void startSelenium (String testServer, String appName, String testInBrowser){
selenium = new DefaultSelenium("localhost", 4444, "*" +testInBrowser, testServer+ "/"+ appName + "/");
echo("selenium instance created:"+selenium.getClass());
selenium.start();
echo("selenium instance started..." + testServer + "/" + appName +"/");
selenium.useXpathLibrary("javascript-xpath");
}
我自己实现了这一点,我只需要执行selenium.useXpathLibrary(“javascript-xpath”)。 在我的测试中,IE浏览器的JavaScript xpath速度大约快了7倍。还没有真正测试过其他任何东西,但我们只在IE中使用它。
我从来没有这样做,但认为你可能需要做类似的事情
//Add the library to the page since runScript just does an eval on the JS
selenium.runScript("document.body.append(document.createElement('script')).src = 'path/to/lib');");
selenium.useXpathLibrary("javascript-xpath");
selenium.allowNativeXpath("true");
您需要将该库添加到该页面,然后加载它。
但是,我建议使用CSS选择器而不是XPath选择器,因为它们在Selenium中快得多。 你可以在这里看到如何使用不同的定位器策略。 我看到测试的速度至少比原来的XPath快两倍。
链接地址: http://www.djcxy.com/p/45241.html上一篇: How to use xpath in Selenium RC with JavaScript?
下一篇: How to test Asp.net WebApplication in different internet speed?