我使用Selenium WebDriver和Ruby來執行一些自動化操作,並且在5步驟過程的第3步中遇到了驗證碼問題。Ruby/Selenium WebDriver - 暫停測試並等待用戶輸入,即用戶輸入captcha
我把所有的自動化都放在rake腳本中,所以我想知道是否有一個暫停或暫停運行的腳本的命令,直到我將數據輸入到驗證碼中,然後繼續運行在下一頁上。
我使用Selenium WebDriver和Ruby來執行一些自動化操作,並且在5步驟過程的第3步中遇到了驗證碼問題。Ruby/Selenium WebDriver - 暫停測試並等待用戶輸入,即用戶輸入captcha
我把所有的自動化都放在rake腳本中,所以我想知道是否有一個暫停或暫停運行的腳本的命令,直到我將數據輸入到驗證碼中,然後繼續運行在下一頁上。
由於您正在腳本中編寫測試,因此您需要做的就是在測試中添加睡眠,例如「睡眠100」。
但是,在測試中添加任意睡眠是不好的。你也可以做一些類似於「等待標題'foo'」的地方,其中'foo'是第4步中頁面的標題。它不一定是標題,它可以是任何東西,但你明白了。等待某些語義指示第3步完成,第4步準備開始。
這樣,其更有針對性的等待。
這在JAVA中實現,但類似的technique.Your可以找到解決辦法here
要建立在seleniumnewbie的答案,假設你有訪問控制檯的腳本運行:
print "Enter Captcha"
captchaTxt = gets.chomp
yourCaptchaInputWebdriverElement.send_keys captchaTxt
如果你只是想暫停並在瀏覽器中輸入驗證碼,只需在控制檯提示即可完成該操作,它就會坐在那裏。
print "Enter the captcha in your browser"
gets
您還可以設置隱等待體面,時間久了,使硒會自動見下頁和遷出。不過,除非你對你的評論非常肛門,否則這將會讓你的測試中出現重要的驗證碼步驟(用於記錄/處理過程)。
由於這是一個需要用戶輸入的積極參與的測試,我會說讓測試儀在控制檯上按下「enter」是一種方法。