2011-06-13 24 views
0

如何處理以下情形?如何更新已經從Java客戶端運行的selenium RC測試?

假設一個測試已在硒RC節點使用RemoteWebDriver一個遠程服務器上運行。

試驗遇到一個缺少的元素(在不同的頁面絲毫的xpath變化)。

用戶再次提供了該元素的正確的XPath(這部分在用戶的計算機上運行的Java應用程序進行)和硒測試搜索元素,並與測試的其餘部分繼續。

想到的

第一件事是硒服務器使用的是Jetty服務器。我如何通過客戶端Java應用程序和此服務器進行通信?可以忽略Jetty,並以某種方式使客戶端直接與運行的硒測試進行通信?

回答

1

當元素不能由給定的XPath位於您正在運行的測試的webdriver將拋出一個異常,將泡回。只要你發現這個異常,你就有機會檢查不同的xpath。

+0

但我怎麼「聽」一個新的xpath? – KJW 2011-06-16 14:26:14

+0

如果我理解正確,您希望從其他應用程序傳遞新的xpath。這是您的應用程序之間的另一個IPC問題,與Selenium無關。 – 2011-06-16 14:44:39

+0

是的,如何讓Selenium測試等待並暫停遠程瀏覽器,當引發NoSuchElementException時,監聽一個端口直到客戶端發送新的字符串....我有一種感覺,如果不重新編譯測試,這是不可能的? – KJW 2011-06-16 14:54:10

1

我猜你正在尋找的,而不是瀏覽器的響應回硒RC和客戶端程序,停止在瀏覽器中執行,並繼續從任何你想去的地方是執行(從以前的說法)。

- 要完全停止瀏覽器響應由硒RC

如果這是正確的,你可以請確認所提出的要求,可能是我可以幫你。

+0

是的,用客戶端提供的一組新的xpath重試。 – KJW 2011-06-16 14:27:06

+0

好金這隻能用JavaScript來完成,我認爲但我會在本週結束時回覆給你特定的答案。對不起現在忙於其他事情.. – sudarsan 2011-06-16 18:25:54