4
我想的Watir測試交互認證。我需要的硒服務器上一次打開瀏覽器,而無需用戶交互輸入他的登錄/密碼(存儲在服務器上,用戶沒有輸入他們,他只是要輸入驗證碼),用「輸入驗證碼」標籤出現新的文本域,那麼系統會向用戶發送驗證碼並關閉瀏覽器(這裏我需要以某種方式保存會話)。用戶收到驗證碼併發送到服務器,服務器打開新的瀏覽器(恢復某種保存的會話)並輸入從用戶收到的驗證碼。保存和恢復的Watir會議
我可以保持瀏覽器打開,只出現在文本字段中輸入驗證碼,但如果用戶不給我說,他收到的驗證碼,瀏覽器將繼續開放,沒有很好的解決辦法。
所以,我想是這樣的:
params = { login: 'userexample.com', password: '123456' }
adapter = Adapters::Test.new(params)
adapter.sign_in #opens browser, fills credentials fields, clicks 'get verification code', 'enter verification code' field appears
cookies = adapter.browser.cookies.to_a #save browser state
url = adapter.browser.url
adapter.browser.close
adapter = Adapters::Test.new(params)
adapter.browser.goto url
adapter.browser.cookies.clear
cookies.each do |saved_cookie|
adapter.browser.cookies.add(saved_cookie[:name], saved_cookie[:value])
end
adapter.browser.refresh #I should be on the same page with appeared 'enter verification code' field, but nothing happens after refresh, I am still on the main page with only login/password fields.
我如何保存瀏覽器狀態,關閉它,然後用相同的會話重新打開?
爲什麼瀏覽器仍然敞開,如果用戶不發送的驗證碼?如果您將瀏覽器的關閉設置爲救援或確保攔截或測試拆卸,瀏覽器將始終關閉。 –
不管怎樣,在這種情況下,瀏覽器,直到事情發生照常開放(用戶輸入密碼,超時到達)。但是有太多的用戶和硒中樞並沒有太多的節點來保持其中一些開放。無法承擔閒置的瀏覽器活着。 –