2010-11-17 31 views
0

我有一個相當Javascript的頁面,裏面有很多通過AJAX或其他腳本生成的內容。在其中一些元素中,Selenium可以記錄鼠標點擊,而在其他元素上則忽略它們。我還沒有找到任何關聯。也許有一些已知的常見場景,Selenium無法攔截鼠標點擊?有些鼠標點擊不會在Selenium中註冊

回答

1

不幸的是,硒中的所有點擊都不相同。有些是mouseDown和MouseUp或者其中的變體。我會玩弄,讓你的應用程序工作。

不幸的是Selenium IDE被歪曲了。它是一個錄製/調整/回放工具,不是錄製/回放工具。

+0

我的確瞭解調整階段,但我甚至沒有超過記錄階段。我點擊元素,我的Javascript是做它的事情,但硒甚至沒有攪動。 – 2010-11-17 11:21:38

1

沒有不可靠的動作列表。根據我的經驗,元素沒有工作的模式,但是在整個測試的執行過程中它是一致的。如果你正在考慮這個問題,使用定位器或用戶界面元素進行遊戲是不太可能改善你的結果的。

我最近在多個不同的頁面上出現了許多下拉菜單,都以相同的方式實現。在某些頁面上,下拉式#2和#3不起作用,但在其他頁面上它們可以正常工作,但下拉式#1和#2不起作用。如前所述,最好的辦法是不要再考慮將Selenium IDE作爲記錄回放工具。


在一個旁註,你可能會問這個問題,由於類似的原因我,這是想使用Selenium IDE作爲隊友前端無硒編程經驗來創建,然後一兩件事,我做了測試通過添加一個Command Builder來擴展Selenium IDE,這使您可以在使用IDE時控制右鍵菜單中出現的內容。

這意味着你可以按記錄,記錄你的測試正常記錄,同時留意記錄的內容。一旦你看到Selenium IDE沒有記錄一個動作,你可以右鍵單擊這個元素,你想記錄的動作將很容易獲得。

不是你原來的問題的解決方案,但它幫助了我。這是非常簡單的編寫擴展到右鍵菜單中,有上this Selenium website.

1

我是100%的硒小白一些很好的例子,但我有同樣的問題,並解決它通過以下解決方法:

  • 用鼠標右鍵單擊要單擊的項目
  • 選擇具有整個定位器文本的隨機命令,例如assertText //div[2]/div[5]/table/tbody/tr[1]/td[1]/div IR什麼的。查看「顯示所有可用命令」。
  • 在硒IDE,更改命令以「點擊」並刪除第二參數(Value字段;如果有的話)

哈克,並應與在右擊的自定義命令容易地改善菜單,但現在這對我來說工作得很好。

1

你試過clickAt的地方(0,0)?它有時幫助

0

如果您分配一個ID到要點擊我建議你嘗試一個簡單的腳本,您可以通過IDE執行此元素:

runScriptAndWait

jQuery("#yourButton").trigger('click');

我以前用過這個,它工作得很好。