コミュニティの誰かが、ブラウザスタックをクラウド プロバイダーとして使用して、Jenkins で Selenium ビルドを正常に作成しましたが、ファイアウォールの背後にあるローカル テスト接続が必要ですか?
私が行ったように、Saucelabs は継続的デプロイ環境で Sauce Jenkins プラグインを使用してビルドを実行するのが驚くほど簡単であると断言できます。ただし、Browserstack についても同じことは言えません。私が一緒に働いている組織は現在 Browserstack を使用しています。彼らのサービスはバイナリ アプリケーションを使用した自動テストをサポートしていますが、Jenkins では面倒です。もしそうなら、Browserstackが実行可能なソリューションではないことを絶対に確認する必要があります. 私は Saucelabs とその組織が提供するものを愛していますが、Browserstack が機能する場合、必要がなければ切り替えたくありません。
Browserstack のドキュメントでは、実行前にローカル接続を作成するために、いくつかの利用可能なオプションを指定してコマンドを実行するように指示されています。
nohup ./[binary file] -localIdentifier [id] [auth key] localhost,3000,0 &
上記のステートメントをビルド前のステップ シェル コマンドとして追加しました。また、「nohup」も追加する必要があります。これは、バイナリが正常な接続を作成すると、以下の出力に表示されているように終了していないため、ビルドが実際に開始されないためです。
BrowserStackLocal v3.5
リモート ブラウザでローカル サーバーにアクセスできるようになりました。
Ctrl-C を押して終了します
通常、最初のビルドは問題なく実行できます。同じコマンドを使用した後続のビルド構成は接続されません。上記のメッセージが表示されますが、テストの実行中、Browserstack はローカル テスト接続が確立されていないと報告します。これは私を混乱させます。
何が実行されているかをよりよく理解できるように、さまざまなプロジェクト スイートとブラウザーの組み合わせに対して 15 のビルド構成を用意しています。2 つの Jenkins エグゼキュータが存在し、いつでも 5 つ以上の Browserstack VM を利用できます。関連するプロジェクト コードがステージング サーバーにプッシュされ、両方のエグゼキューターがいっぱいになると、5 つのビルドが自動的に実行を開始します。そのうちの1つは、正常に開始および終了します。Browserstackがローカルテストが利用できないと報告しているため、他のどれもそうしません.
Saucelabs は明らかにプラグインでこれを理解しています。これは素晴らしいことです。Browserstack がローカル テスト接続を作成するためにシェル コマンドを必要とする場合、何か間違ったことをしているに違いありません。
環境:
- Java 7
- セレン 2.45
- JUnit 4.11
- Maven 3.1.1
- アリュール 1.4.10
- ジェンキンス1.5
複数の並列テスト実行を利用しながら、継続的なテスト環境で Browserstack を使用している情報を投稿して、各ビルドがどのように構成されているか教えてもらえますか?
ありがとう、