2011-08-10 29 views
3

我目前正在为我工​​作的公司构建测试工具。我有C#WatiN的经验,并且从未遇到过我现在遇到的问题。无法在自动化测试中点击某个元素

下面是标记给我的问题页面的一个片段:

<div id="toggle1" class="NavLayout toggle"> 
    <span onClick="toggleMenu(1, false);"> 
      <span id="toggletext1">Quote Processing</span> 
    </span> 
</div> 

正如你所看到的,我有一个div,2个跨度和图像。我正在使用WatiN尝试点击图像,然后展开菜单,显示另一个图层,我需要单击其他图层。我遇到的问题是让'点击'发生。从我在代码片段中看到的内容,在我看来,我需要能够点击事件,但不能用代码“查找”它。

任何帮助那里有?

+0

我没有看到您的标记。我看到你是新的,所以仔细检查你是否将代码显示为代码(缩进四个空格或突出显示并单击编辑器上方的代码按钮)。 – Andrew

回答

7

我也有问题,与点击某些元素。

我遇到了问题,我只能点击一个元素,如果它被鼠标悬停在元素上突出显示。

既然不能看到您的代码段,我不能告诉如果存在与图像相关的鼠标悬停涉及任何JavaScript,但如果有,你可以尝试以下方法:

img.FireEvent("onmouseover");

img.FireEvent("onmousedown");

img.FireEvent("onMouseup");

你也可能会想尝试img.FireEvent("onclick")为好。

这些都是猜测,因为我看不到你的代码。也可能不是单击图像元素本身,而是尝试单击父对象。

编辑: 好的,现在我可以看到你的代码,看起来你应该在onclick代码中使用onClick事件触发onClick事件。

我没有看到代码片段中列出的图像,但此代码应调用最低级别跨度的父级。

Watin.Core.Span span = browserinstance 
         .Span(Find.By("innertext", "Quote Processing")); 
span.Parent.FireEvent("onclick"); 
1

您打算发布的DOM内容不可见。你可能想编辑你的文章并检查它是否可见。
为了点击图片

Watin.Core.Image img = browserinstance.Image(Find By Constraint); 
if (img!=null and img.Exists) 
img.ClickNoWait(); 
OR 
img.FireEvent("onclick");