2012-03-08 232 views
1

我正在用robotframework和selenium2library测试一个基于extjs的web applaction,但我无法找到某个表组件所包含的某些元素。该selenium2library有一个叫做执行JavaScript的关键字,所以我想kown我如何可以执行JavaScript的,比如我如何可以执行JS代码:在robotframework中使用selenium2library执行javascript

var a=document.getElementById('ext-comp-1155').getElementsByTagName("button"); 
a[0].click(); 

没有人有成功的基于ExtJS的,网页自动测试经验?任何帮助,将不胜感激。

回答

1

您应该能够执行这样

Execute Javascript var a=document.getElementById('ext-comp-1155').getElementsByTagName("button"); a[0].click(); 

即的JavaScript事件虽然在JavaScript中有多条语句,但只要分号就位,您可以在单个参数中提供它们。

可以做出更多的可读性这样的:

${button clicker}= document.getElementById('ext-comp-1155').getElementsByTagName("button")[0].click() 
Execute Javascript ${button clicker} 
+0

我现在可以在robotframework中执行js,谢谢。但是,导致我非常悲痛的是,在自动测试基于extjs的web应用程序时,执行js的解决方案无法正常工作。 – 2012-03-09 09:18:43

0

如果不限于硒你可能想看看RIATest

版本5.0完全支持ExtJS测试。 ExtJS UI小部件是RIATest中的一等公民。这意味着与其他HTML测试工具不同,您不需要编写处理HTML DOM元素的测试。 RIATest中的测试按照ExtJS UI小部件进行操作。

的与ExtJS的工具了RIATest脚本例子:在一个ExtJS按钮

下点击标签为“下一页”:

ExtButton("Next Page")=>click(); 

而下面确实拖欧米茄下降一排从一个ExtJS的树到另一个:

ExtRow("Controller.js")=>dragAndDropTo(ExtTreePanel("#tree2")->ExtRow("Custom Ext JS")); 

而这种瓦解一个ExtJS箱头:

ExtBox("Feeds")->ExtHeader("FeedsВ")->ExtCollapser()=>click(); 

(以上所有示例代码是从上ExtJS的样品应用程序的运行实际测试脚本)。

RIATest还知道何时自动等待ExtJS AJAX完成,因此如果您的UI执行动态内容下载,测试将自动奇迹般地等待,直到从服务器接收到数据。

(声明:我是RIATest团队成员)。

相关问题