Browserstack / selenium找不到驱动程序

时间:2015-04-20 19:10:40

标签: ruby-on-rails unit-testing selenium selenium-webdriver browserstack

我正在使用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

1 个答案:

答案 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。我们很乐意帮助您。