我正在使用browserstack进行测试,而我无法通过browserstack来识别驱动程序。当我在本地运行时,测试工作并以漂亮的颜色传递,并且browserstack提供的示例测试也没有错误地传递。
这是我的错误:
test/silver_auction_application.rb:68:in `test_silver_auction_application'
65:
66: def test_silver_auction_application
67: # @driver.get(@base_url + "/")
=> 68: @driver.find_element(:id, "login").click
69: @driver.find_element(:link, "Sign Up Now!").click
70: @driver.find_element(:link, "Select Silver").click
71: @driver.find_element(:id, "user_email").clear
以下是代码:
require "json"
require "selenium-webdriver"
gem "test-unit"
require 'rubygems'
class SilverAuctionApplication < Test::Unit::TestCase
# Input capabilities
def setup
caps = Selenium::WebDriver::Remote::Capabilities.new
caps["browser"] = "IE"
caps["browser_version"] = "7.0"
caps["os"] = "Windows"
caps["os_version"] = "XP"
caps["browserstack.debug"] = "true"
caps["name"] = "Testing Selenium 2 with Ruby on BrowserStack"
@driver = Selenium::WebDriver.for(:remote,
:url => "my url",
:desired_capabilities => caps)
@driver.navigate.to "http://localhost:3000/"
puts @driver.title
end
def teardown
@driver.quit
end
def test_silver_auction_application
@driver.get(@base_url + "/")
@driver.find_element(:id, "login").click
@driver.find_element(:link, "Sign Up Now!").click
@driver.find_element(:link, "Select Silver").click
@driver.find_element(:id, "user_email").clear
@driver.find_element(:id, "user_email").send_keys "mercarisseller@gmail.com"
@driver.find_element(:id, "user_first_name").clear
@driver.find_element(:id, "user_first_name").send_keys "Seller"
@driver.find_element(:id, "user_last_name").clear
@driver.find_element(:id, "user_last_name").send_keys "Mercaris"
@driver.find_element(:id, "user_password").clear
@driver.find_element(:id, "user_password").send_keys "Organic123"
@driver.find_element(:id, "user_password_confirmation").clear
@driver.find_element(:id, "user_password_confirmation").send_keys "Organic123"
@driver.find_element(:id, "organization_name").clear
@driver.find_element(:id, "organization_name").send_keys "Seller's Org."
@driver.find_element(:name, "newsletter").click
@driver.find_element(:id, "required").click
@driver.find_element(:name, "commit").click
@driver.find_element(:id, "populate").click
@driver.find_element(:id, "cc-submit").click
@driver.find_element(:link, "<< Back to Account").click
@driver.find_element(:link, "Click here to connect your bank account.").click
@driver.find_element(:id, "populate").click
@driver.find_element(:id, "ba-submit").click
@driver.find_element(:link, "Back To Dashboard").click
end
end
答案 0 :(得分:2)
这是Umang代表BrowserStack回复。
如果&#34;我的网址&#34;指向BrowserStack的Selenium Hub http://USERNAME:ACCESS_KEY@hub.browserstack.com/wd/hub
,那么你的测试应该在BrowserStack上执行。
另外,我看到您正在测试的网址是&#34; http://localhost:3000/&#34;。如果您希望在BrowserStack上访问本地服务器,则需要使用BrowserStack的Local Testing功能。您可以按照以下步骤操作:
a)使用binaries设置本地测试连接,执行以下命令:
Browserstacklocal.exe <automate-key>
b)在测试脚本中添加功能'browserstack.local' = 'true'
。
如果您仍然遇到问题,我们建议您发送邮件至support@browserstack.com。我们很乐意帮助您。