最后編輯:我放棄了,只是完全重新安裝了WSL2和一切。效果很好。因此,如果你也遇到了同樣的問題,硬重置可能是一個可行的選擇。
我已經查看了 Stack Overflow 以前的許多帖子,其中最引人注目的是這個帖子,其第二個解決方案在關于該主題的大多數其他帖子中都得到了回應,即延長內部超時時間,以便為瀏覽器加載超過默認 60 秒的頁面分配更多時間。
我正在運行的 Cucumber 測驗很小(我用作基準的測驗是 4 個場景,共 16 個步驟),并且在不使用 Selenium 時幾乎立即通過,這些頁面大多是靜態的,我只希望在未來的測驗中能夠看到它的運行 處理彈出視窗,所以我不需要更多的加載時間。
這些測驗在幾個月前(6月)都運行得非常好,但是當我重新打開同一個 repo,完全沒有修改時,現在我無法用 selenium 運行任何測驗 - 運行時它甚至不再打開瀏覽器了。因此,我覺得這與我的專案設定沒有關系,因為它沒有任何變化。即便如此,我已經卸載了寶石并重新安裝了它們,更新了它們,但都無濟于事。我不知道在這段時間里,本地系統設定/環境變數會發生什么變化,因為我只通過WSL2作業,自從上次打開這個特定的專案后,我就沒有碰過它。我們非常歡迎這方面的任何想法。
我對 Capybara 所做的唯一配置是將 Capybara.javascript_driver 設定為 :selenium 或 :selenium_headless 在我的 env.rb 檔案中的測驗時段,其他一切都在默認運行。我的firefox和geckodriver版本是兼容的。
版本:
- Ubuntu - 20.04.1 LTS 。
- Ruby - 2.5.3 。
- Firefox - 92.0
- Geckodriver - 0.29.1 。
- xfce4 - 4.14 (運行
apt list -a xfce4,因為xfce4-about給我一個錯誤。17:02:48.578: 在"/usr/share/xfce4/vendorinfo "中沒有找到供應商資訊。
相關(?) 寶石 :
- selenium-webdriver (4.0.0.rc1)
- webdriver (0.18.0)
- 黃瓜(7.0.0)
- cucumber-rails (2.4.0)
如果需要任何型別的更多資訊,請告訴我,謝謝你。
編輯:相關的 Github 倉庫。幾個月前的最后一個作業版本,截至本帖的最新開發分支
編輯2,4,5:將geckodriver的日志級別設定為跟蹤后的一個Cucumber場景的日志:
2021-09-15 17:42:19 DEBUG Selenium Executing Process ["/usr/bin/geckodriver"/span>, "-port=4444"/span>]
2021-09-15 17:42:19 DEBUG Selenium在["127.0.0.1", 4444]上輪詢套接字。
1631752939382 geckodriver INFO 監聽127.0.0.1:4444
2021-09-15 17:42:19 WARN Selenium [DEPRECATION] [:browser_options] :options作為驅動初始化的引數已被棄用。如果有必要,請使用帶有陣列值的能力/選項的:能力來代替。
2021-09-15 17:42:19 INFO Selenium -> POST session
2021-09-15 17:42:19 INFO Selenium >>> http://127.0.0. 1:4444/session | {" capabilities":{"alwaysMatch":{"browserName": "firefox","moz:firefoxOptions":{"log":{"level":"trace"}}}}}
2021-09-15 17:42: 19 DEBUG Selenium > {"Accept"=>"application/json","Content-Type"=> "application/json; charset=UTF-8", "User-Agent"=>"selenium/4。 0.0.rc1 (ruby linux)", "Content-Length"/span>=>"105"}。
1631752939650 mozrunner::runner INFO 運行命令。"/usr/bin/firefox" "-marionette" "- no-remote" "-profile" "/tmp/rust_mozprofileqR2HiM"
1631752939651 geckodriver::marionette DEBUG 等待60s連接到127.0.0.1:46793的瀏覽器。
Net::ReadTimeout(Net::ReadTimeout)
/usr/share/rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/net/protocol.rb:181:in `rbuf_fill'
/usr/share/rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/net/protocol.rb:157:in `readuntil'
/usr/share/rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/net/protocol.rb:167:in `readline'
/usr/share/rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/net/http/response.rb:40:in `read_status_line'
/usr/share/rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/net/http/response.rb:29:in `read_new'
/usr/share/rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/net/http.rb:1494:in `block in transport_request'
/usr/share/rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/net/http.rb:1491:in`catch'
/usr/share/rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/net/http.rb:1491:in `transport_request'
/usr/share/rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/net/http.rb:1464:in`request'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver/remote/http/default.rb:124:in `response_for'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver/remote/http/default.rb:77:in `request'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver/remote/http/common.rb:59:in`call'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver/remote/bridge.rb:589:in `execute'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver/remote/bridge.rb:52:in `create_session'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver/common/driver.rb:338:in `create_bridge'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver/common/driver.rb:73:in `initialize'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver/common/driver.rb:53:in `new'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver/common/driver.rb:53:in `for'
/usr/share/rvm/gems/ruby-2.5.3/gems/selenium-webdriver-4.0.0.rc1/lib/selenium/webdriver.rb:87:in`for'
/home/nacho/Github/cs370/features/support/env.rb:18:in `<top (required)> '
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/lib/cucumber/glue/registry_and_more.rb:121:in `require'
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/lib/cucumber/glue/registry_and_more.rb:121:in `load_code_file'
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/lib/cucumber/runtime/support_code.rb:142:in `load_file'
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/lib/cucumber/runtime/support_code.rb:81:in `block in load_files!'
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/lib/cucumber/runtime/support_code.rb:80:in `each'
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/lib/cucumber/runtime/support_code.rb:80:in `load_files! '
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/lib/cucumber/runtime.rb:260:in `load_step_definitions'
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/lib/cucumber/runtime.rb:72:in `run! '
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/lib/cucumber/cli/main.rb:29:in `execute!'
/usr/share/rvm/gems/ruby-2.5.3/gems/cucumber-7.0.0/bin/cucumber:9:in `<top (required)> '
/usr/share/rvm/gems/ruby-2.5.3/bin/cucumber:23:in `load'
/usr/share/rvm/gems/ruby-2.5.3/bin/cucumber:23:in `<main> '
/usr/share/rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `eval'
/usr/share/rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `<main> '
編輯3:我一直在翻閱日志,并在谷歌上搜索各種術語/行,不過我并沒有找到太多我知道如何操作的東西。我做過的幾件事:
127.0.0.1:35213及其變體,因為它在我每次運行測驗時都會改變,并看到我的應用程式的作業版本127.0.0.1:4487和127.0.0.1:4487/session,這在測驗之間保持不變,但它要么a)不加載,要么b)回傳一個空白頁面,在純HTML中顯示文本HTTP方法不允許 uj5u.com熱心網友回復:
不確定webdriver 0.18.0 gem是什么?但如果你能推送一個我們可以拉下來的repo并進行分流,我很樂意幫助你。
從你的原帖來看,也沒有什么可重現的。所以一旦你有了github鏈接,請讓我們知道。我敢打賭,問題出在你的專案/電腦設定上
uj5u.com熱心網友回復:
我放棄了修復任何東西,只是卸載了Ubuntu并重新安裝了它,再次經歷了完整的安裝程序,但省略了xfce4,因為我意識到我不需要它。新的開始是成功的,希望我在三個小時內就完成了,而不是四天。我想,活到老,學到老。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/318345.html
標籤:
