Eld*_*der 5 selenium capybara ruby-on-rails-3 capybara-webkit
多域应用程序。本地使用 POW 服务器。黄瓜测试
在我设置 app_host 的步骤之一(子域属于帐户并每次都创建):
def set_current_subdomain(subdomain)
Capybara.app_host = "http://#{subdomain}.example.com:#{Capybara.server_port}"
end
Run Code Online (Sandbox Code Playgroud)
在黄瓜设置中:
Capybara.run_server = true
Capybara.server_port = 8200
Capybara.javascript_driver = :selenium #default driver when you using @javascript tag
Capybara.app = Rack::ShowExceptions.new(MyApp::Application)
Capybara.default_driver = :rack_test
Run Code Online (Sandbox Code Playgroud)
步骤示例
visit(new_user_session_url(subdomain: @account.subdomain, port: Capybara.server_port))
Run Code Online (Sandbox Code Playgroud)
黄瓜测试通过 :rack_test 通过,但通过 :webkit 或 :selenium 失败
Unable to load URL: http://veumbogan8d11d7feca.example.com:8200/signin because of error loading http://veumbogan8d11d7feca.example.com:8200/signin: Unknown error (Capybara::Webkit::InvalidResponseError)
Run Code Online (Sandbox Code Playgroud)
webkit_debug 输出:
Finished "EnableLogging" with response "Success()"
Wrote response true ""
Received "Visit"
Started "Visit"
Load started
"Visit" started page load
Started request to "http://kuphal375cb65167.example.com:8200/signin"
Finished "Visit" with response "Success()"
Received 0 from "http://kuphal375cb65167.example.com:8200/signin"
Page finished with false
Load finished
Page load from command finished
Wrote response false "{"class":"InvalidResponseError","message":"Unable to load URL: http://kuphal375cb65167.example.com:8200/signin because of error loading http://kuphal375cb65167.example.com:8200/signin: Unknown error"}"
Run Code Online (Sandbox Code Playgroud)
使用 selenium 时,Firefox 打开时显示“未找到服务器”
test.log 中没有任何可疑内容:帐户已创建,通知电子邮件已发送等
希望获得有关如何调试此问题以及可能出现问题的建议
PS:database_cleaner设置:
require 'database_cleaner'
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.orm = "mongoid"
Before { DatabaseCleaner.clean }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |