2011-11-07 73 views

回答

0

爲什麼要修改Watir的網頁?它用於自動化測試,而不是DOM操作。

如果你想添加一些JavaScript中的DOM元素,你可以做這樣的:

var txt = document.createTextNode(" This text was added to the DIV."); 
document.getElementById('myDiv').appendChild(txt); 

或者使用一些DOM操作庫,如jQuery。

+0

我想填寫新的帖子表格,然後提交它進行測試。你有什麼想法如何做到這一點? – user1033392

+0

有一個例子:http://watir.com/examples/。簡而言之,'browser.text_field(:name =>'myField')。設置'Something'' – socha23

+0

不幸text_field不是textarea或輸入,它是iframe中的主體標記,所以我正在尋找解決這種情況的方法 – user1033392

0

如果您還沒有制定自己的方式雖然的Watir教程中,我會建議你這樣做。它的東西涉及,如在文本字段等填充

學習使用開發工具爲你的瀏覽器,Firefox的Firebug,或內置的IE瀏覽器和Chrome工具。當你與網站互動時,他們會讓你看看事物。

如果元素是不是某種普通的HTML輸入字段,那麼你正在處理自定義控制。許多存在,他們是多種多樣的,並沒有一套解決方案來處理它們。如果不知道你正在使用哪種控制方式,並且能夠與其中的一個樣本進行交互,或者至少看到HTML,就很難告訴你,我們基本上只需要猜測(通常是浪費每個人的時間)

如果你有一個地方可以輸入文本,那麼它是某種形式的輸入控制,它可能不是以這種方式開始,你可能需要點擊其他元素,使輸入區域出現,但沒有HTML樣本,我們所能做的只是猜測。

如果這是一個商業的控制,看你能不能找到一個演示網站,顯示在動作控制。嘗試使用Google之類的元素類名和經常你幸運

1

在的Watir,你可以操縱使用JS網頁(DOM),就像這樣:

browser.execute_script("document.getElementById('pageContent').appendChild(document.createTextNode('Great Success!'));") 

我假設點問題是: 所有用戶不只是通過點擊web應用程序上的按鈕和鏈接進行交互,其中一些用戶正在做一些令人討厭的事情,比如改變http請求以使系統執行不應該做的事情......或者只是有一些樂趣。

爲了模仿這種行爲,你可以寫一個UI的測試改變了網頁上的形式,使得例如,一個可能的任何輸入到任何領域,而不是有限的下拉菜單。

要做到這一點,UI測試有:

  • 操作DOM自由設定限制(與輸入的替代選擇的等)
  • UI測試已經知道,要使用的值的形式輸入在很多情況下,輸入隨機值是毫無意義的。你的web應用程序必須提供一些好的「不需要的」選項。