2011-08-10 58 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");