2

私はキュウリと放浪者の両方の大ファンです。私はきゅうりを使用してBDDスタイルで開発を推進しており、他の開発者に簡単に配布できるように、vagrant vmで開発環境を構成およびセットアップしました。

vagrant vm で js をテストする際に問題が発生しました。私はきゅうりと一緒にカピバラを使用しており、jsドライバーとしてセレンとカピバラ-webkitの両方を試しました。

セレンは私にFirefoxをインストールするように要求しました。だから私はそれが動作しないことを完全に期待してvagrantboxをパッケージ化し、vmにfirefoxをインストールしました..その後、firefoxとの安定した接続を取得できないと不平を言いました。正確なエラー メッセージ:「60 秒以内に安定した Firefox 接続を取得できません」

webkit は、「webkit_server: X サーバーに接続できません」と不平を言いました.. xserver-org をインストールしましたが、サイコロはまだありません。

テストを行うためにホストに環境全体をインストールする必要がない場合は、開発者がアプリで作業するために必要なすべてを備えた配布可能な vagrant vm を使用するという目的が無効になるため、はるかに好まれます。

何か案は?ガードからの通知で同様の問題が発生しましたが、この問題ほど大きな問題ではないようです。

4

3 に答える 3

1

Firefoxをヘッドレスで実行してみてください。

http://www.alittlemadness.com/2008/03/05/running-selenium-headless/

このようにして、テストを見なくてもテストを実行できます。

于 2012-08-23T15:10:25.197 に答える
1

すべてのドライバーをインストールするには X が必要だと思います。したがって、Linuxサーバーでは、それを行う方法がありません。

他の方法では、ホスト マシンから Selenium リモート経由で Firefox を使用します。これは、任意のマシンのリモート Firefox で javascript が実行されることを意味します。

リモート Selenium WebDriver が Cucumber テストに応答しない

http://code.google.com/p/selenium/wiki/RubyBindings

それは動作します。

ホストでセレンサーバーを実行する

java -jar selenium-server-standalone.jar

spec_helper.rb の変更点

require "selenium-webdriver"

profile = Selenium::WebDriver::Firefox::Profile.new
profile["network.http.use-cache"] = false

Capybara.register_driver :firefox_host do |app|
Capybara::Selenium::Driver.new(app,
    :browser => :remote,
    :url => 'http://10.0.2.2:4444/wd/hub',
    :desired_capabilities =>   Selenium::WebDriver::Remote::Capabilities.firefox(:firefox_profile => profile)
)
end

Capybara.server_port = 9300
Capybara.app_host = 'http://localhost:9300'
Capybara.javascript_driver = :firefox_host

Vagrantfile の変更点

config.vm.forward_port 9300, 9300
于 2012-02-27T11:51:21.093 に答える
0

同様の問題に遭遇しました。xhost +VM に ssh 接続し、コマンド ラインから実行してみてください。これにより、アクセス制御が無効になり、クライアントが任意のホストから接続してディスプレイにアクセスできるようになります。

また、export DISPLAY=:0Web ドライバーは Firefox の起動時にデフォルトでこの表示を使用するため、同様に必要になる場合があります。

于 2015-04-08T20:12:55.357 に答える