我正在嘗試爲使用watir的web應用程序編寫自動腳本。 UI中有一個滑塊,範圍從1到11.它是一個水平分隔符。所以,如果按下右箭頭鍵,數字會增加1,如果您按下左箭頭鍵則數字遞減。我的問題是,當我嘗試單獨在irb中執行以下語句時,send_keys
函數可以正常工作,但只要我將它移動到ruby腳本,它就不會執行send_keys。watir-webdriver函數不作爲腳本執行,但在交互式ruby shell中工作
assert($b.div(:class, "position").text == "2")
$b.div(:class, "scroll").wait_until_present
$b.div(:class, "scroll").click
$b.div(:class, "scroll").send_keys(:arrow_right)
assert($b.div(:class, "position").text == "3")
send_keys(:arrow_right)
如果我在irb中單獨運行,則可以正常工作。當試圖運行一個腳本文件時,它不會給我任何錯誤,並保持在同一個數字上,它只是說「失敗斷言,沒有給出消息。」
b.div(:class, "scroll").click
用於激活要按下右箭頭鍵的div。
我使用的Watir-webdriver的0.6.2,火狐18.0.2,Windows 7的64位
太棒了。非常感謝!它有很多幫助,但有一種替代模式正在進行,一旦腳本運行,在添加'睡眠5'後罰款,但是再次運行時我沒有對腳本進行單一更改,它給了我一個錯誤'Selenium :: WebDriver :: Error :: StaleElementReferenceError:元素不再附加到'$ b.div(:class,「scroll」).'行上的DOM'上。所以,它一次運行良好,下一次不運行。 – Wish
你在循環中運行腳本嗎?或者只是運行你的腳本兩次? –
我只是運行腳本兩次。 – Wish