2012-08-04 40 views
3

[編輯]我正在開發基於Web的應用程序,用PHP編寫。我使用Selenium RC通過瀏覽器在此應用程序生成的網頁上運行測試。Selenium RC - t.replace不是函數

我剛升級到Firefox 14,所以我不得不升級到Selenium RC 2.25.0。

命令執行失敗:

現在運行測試時htmlSuite我看到這個錯誤。請從 https://groups.google.com/forum/#!forum/selenium-users搜索用戶組,以獲取日誌窗口中的錯誤 的詳細信息。該錯誤信息是:t.replace不是 功能

執行的命令是:

clickAndWait //a[text()='! selenium test customer'] 

正如你所看到的,它沒有做任何事情太棘手 - 只需點擊一個鏈接。測試在IDE中運行良好,只是在通過RC運行時出現問題。

在組中搜索顯示只有可以追溯到版本1硒的真正舊線程。 任何想法的人?

我一直在上週運行一天有好幾次這些問題的測試,而且它每次都沒有像這樣失敗。這看起來像是一個隨機問題。有沒有人看到過這種情況?

[編輯後的獎金讓我沒有答案]它失敗的另一個例子是:

clickAndWait css=a.edit_company 

此相同的呼叫工作正常早些時候在相同的測試,在同一頁上。

[編輯]現在,我看到了同樣的錯誤有完全獨立的命令:

type id=Address1  Address1 

沒有人對此有什麼建議?任何方式,我甚至可以調試發生了什麼事情(我根本沒有在IDE中看到這個)

+0

我降級到2.24.1,並且仍然得到相同的結果,但是一個不同的命令。 – Hippyjim 2012-08-04 15:53:37

+0

我已經進一步降級 - 一直到2.23.0 - 仍然是一樣的 – Hippyjim 2012-08-04 16:31:42

+0

您是否在Chrome等其他瀏覽器中嘗試過? – vidit 2012-08-19 00:43:24

回答

0

我對clickAndWait並不熟悉。我個人更喜歡點擊,然後做我自己的自定義等待。

只需單擊並添加一個Thread.Sleep(5000)或類似的東西,然後查看錯誤是由於單擊還是等待部分。

如果是等待部分,那麼我有不同的建議,如果它是點擊部分。

+0

謝謝。我試了一下 - 不幸的是,我也得到了與「點擊」相同的錯誤。奇怪的是 – Hippyjim 2012-08-18 12:22:23

+0

。嘗試在元素上使用sendKeys作爲實驗。它是這樣的:WebElement.sendKeys(Keys.RETURN);糟糕,如果你使用RC,那麼我認爲它更像:typeKeys(java.lang.String locator,java.lang.String value)。另外,我認爲有一個doclick方法。我知道這些可能不是你想永久制定的改變,但關鍵可能在於差異。 – chrismead 2012-08-20 22:45:56

+0

對不起,離開它這麼久,我只是嘗試添加一個typeKeys調用,在clickAndWait之前在元素上鍵入字母A ......並且它沒有錯誤地工作。相反,另一個測試,在另一個套件中運行*之前,一個失敗,同樣的錯誤。奇怪,是吧? – Hippyjim 2012-09-09 12:20:00

0

我見過各種平臺的類似問題。它對我來說總是有些隨意,所以我不使用clickandWait。一般來說,做一個簡單的點擊是可靠的,然後等待特定的條件。你可以做一個waitforpageload,但這對我來說也不可靠,所以我更喜歡waitfortextpresent和waitforelementpresent之類的東西。

+0

謝謝。我試了一下 - 不幸的是,我也得到了與「點擊」相同的錯誤。 – Hippyjim 2012-08-18 12:21:59

-2

通常,如果您處理的不是字符串的內容,則會發生此類錯誤。你能確定你只處理字符串嗎?

2,其中它被從所產生的可能性: -

  1. 當文本()被執行 - >它可能被處理的是一個非字符串
  2. 一個[表達式] - >表達式(文本( )='!selenium test customer')當評估爲False/True時可能是問題,因爲如果a是Map /數組,則相應的鍵可能是字符串而不是bool。
  3. text()='!硒測試客戶' - >>是否是一項分配操作?如果是,請確保text()返回一個左值或可變對象(基於您使用硒rc的語言)
+0

這沒有任何意義。你甚至用過硒嗎? – Hippyjim 2012-08-18 10:38:24

+0

@Hippyjim:是的,我已經在Python中使用了很長時間了。正如我可以看到你對答案不滿意,請你給你的問題添加一些解釋。這將有助於正在閱讀問題的人找出確切的原因。 – GodMan 2012-08-18 18:08:42

+0

這是什麼部分不清楚?請教育我。我使用FIREFOX的SELENIUM來運行HTMLSUITE開關的測試。我正在使用XPATH來查找元素並單擊它。它會顯示錯誤並失敗。你的回答讓我告訴你selenium如何解析XPATH - 這與我的問題無關。 – Hippyjim 2012-08-19 00:33:21