2014-03-12 114 views
1

我使用木偶,施加模塊具有設置的Watir環境中使用的Watir的webdriver:上無頭的Centos 6.4(64位)

  1. EPEL
  2. 寶石,包{[ '的Watir-webdriver的', '無頭' , '燻肉', '硒的webdriver']:
  3. phantomJS
  4. RVM(RVM使用紅寶石-2.1.1)
  5. xvfb的
  6. 火狐

現在,如果我運行基本測試:

basic_headless.rb 
    require 'watir-webdriver' 
    require 'headless' 
     headless = Headless.new 
     headless.start 
    b = Watir::Browser.start 'www.google.com' 
    puts b.title 
    b.close 
headless.destroy 

打印 「谷歌」

及以下:

#!/usr/bin/ruby 
require 'rubygems' 
require 'watir-webdriver' 
require 'headless' 
require 'bacon' 
apache_auth = 'https://l_backup:ke0' + vm_name + '/cgi-bin/administrator/customer.cgi' 
user_login = 'sales_test' 
user_password = 'sst' 
puts "Logging into " + vm_name + " with " + user_password 

Bacon.extend Bacon.const_get(format) rescue abort "No such formatter: #{format}" 
browser = Watir::Browser.new :chrome 
browser.window.resize_to(1450, 750) 
browser.window.move_to(0, 0) 
describe "UI Testing for Coder-Workspace" do 

    it "Login" do 
     browser.goto apache_auth 
     browser.text_field(:id => 'login_input').set user_login 
     browser.text_field(:id => 'pw_input').set user_password 

     browser.form(:name => 'loginform').submit 
     browser.frame(:index => 1).html.should.include 'superuser' 

    end 

顯示錯誤:

/usr/local/rvm/gems/[email protected]/gems/selenium-webdriver-2.40.0/lib/selenium/webdriver/chrome/service.rb:50:in `start': unable to connect to chromedriver http://127.0.0.1:9515 (Selenium::WebDriver::Error::WebDriverError) 
    from /usr/local/rvm/gems/[email protected]/gems/selenium-webdriver-2.40.0/lib/selenium/webdriver/chrome/bridge.rb:15:in `initialize' 
    from /usr/local/rvm/gems/[email protected]/gems/selenium-webdriver-2.40.0/lib/selenium/webdriver/common/driver.rb:37:in `new' 
    from /usr/local/rvm/gems/[email protected]/gems/selenium-webdriver-2.40.0/lib/selenium/webdriver/common/driver.rb:37:in `for' 
    from /usr/local/rvm/gems/[email protected]/gems/selenium-webdriver-2.40.0/lib/selenium/webdriver.rb:67:in `for' 
    from /usr/local/rvm/gems/[email protected]/gems/watir-webdriver-0.6.8/lib/watir-webdriver/browser.rb:46:in `initialize' 
    from code_lookup.rb:34:in `new' 
    from code_lookup.rb:34:in `<main>' 

現在,我應該連接到硒服務器?或watir網格?作爲運行測試的代理? 爲什麼試圖連接到chromedriver http://127.0.0.1:9515 我已經在/ usr/bin中chromedriver手動安裝和chmod 777它

回答

1

(我是從該行中code_lookup.rb 34是行browser = Watir::Browser.new :chrome錯誤信息假設,如果這不正確,這個答案很可能是爲好)

您的第一個腳本工作的原因是因爲在的Watir-webdriver的默認瀏覽器是火狐:

# From line 28 in https://github.com/watir/watir-webdriver/blob/master/lib/watir-webdriver/browser.rb 
def start(url, browser = :firefox, *args) 

中,第二腳本,你具體:chrome。容易解決,如果你的目標是通用瀏覽:刪除:chrome

browser = Watir::Browser.new # <= same as :firefox 

如果你想具體使用Chrome困難的部分來了。在Centos 6.x上「正確」安裝Chrome和chromedriver是不可能的,因爲它不被Google支持(真的)。 I've writen about this here,儘管我在32位系統上,所以希望你比我有更多的運氣。

我在我的StackOverflow問題上得到的最佳答案與相同的內容(沒有鏈接 - 它被投下並隨後自動刪除)是安裝了一些GLIBCXX_3.4.15作爲依賴項。我仍然無法讓chromedriver認識到它是在安裝後安裝的。