如何在硒测试中右键单击

时间:2011-09-20 14:51:55

标签: selenium richfaces contextmenu right-click

我在seam中使用了recursiveTreeNodesAdaptor。我想通过contextMenu添加子树这个树,当用户点击树打开上下文菜单的右边节点然后点击左边然后打开模态面板。我想这样做。

当我尝试编写selenium测试时,我不点击操作并打开contextMenu。我尝试selenium.contextmenu(xpath),但我失败了。

那么,我如何点击右键


我尝试使用用户扩展模拟右键单击。我的功能如下:

Selenium.prototype.doContextMenuClick = function(element){
var evt = document.createEvent('MouseEvents');

var RIGHT_CLICK_BUTTON_CODE = 2; // the same for FF and IE

evt.initMouseEvent('contextmenu', true, true,
     document.defaultView, 1, 0, 0, 0, 0, false,
     false, false, false, RIGHT_CLICK_BUTTON_CODE, null);

if (document.createEventObject){
    // dispatch for IE
return document.fireEvent('onclick', evt);
}
else{
   // dispatch for firefox + others
   return !document.dispatchEvent(evt);
}};

我设法从IDE调用该函数。但是,现在,我得到错误“this.waitForCondition不是一个函数”。怎么了?你有什么主意吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

尝试在该元素上使用fireEvent。 您还应该看看this post,这似乎是同一个问题。

答案 1 :(得分:1)

最新的selenium有一个名为OpenQA.Selenium.Interactions命名空间的命名空间。看看here

请参阅我的其他帖子here