問題タブ [selenium-grid2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Selenium WebDriver、Selenium Grid、testNG を使用した並列テストの実行
これは、SO での最初の投稿です。私はJavaの初心者スキルを持つ初心者のSeleniumユーザーです。
私たちの仕事の背景を説明します。Page Object Modelを使用しています。すべてのテストは、DataProviderを呼び出し/使用するテスト ケース名に基づいて、".xlsx" ファイルからデータを取得する単一のDataProviderメソッドを使用します。
ただし、 ThreadLocalを宣言したかどうかは不明です。また、getDriver()メソッドの宣言が正しいかどうかもわかりません。もう 1 つの問題は、setupメソッドとtearDownメソッドで"@BeforeTest"/"@AfterTest"または"@BeforeClass"/"@AfterClass"を使用する必要があるかどうかわからないことです。
次の問題が発生しています。
- 1 つのテストが失敗すると、後続のテストも失敗します。
- フェッチされるテスト データが不正確な場合があります (予想よりも多くの列データがスローされる)。
CONFIGTESTBASE クラスは次のとおりです。
これが私たちが持っているサンプルのテストクラスです。CONFIGTESTBASE クラスを拡張します... テストごとに 1 つのクラス:
これがスイート ファイルです。「banner」パラメーターは、「.xlsx」ファイルで特定のシートを見つけるために使用されます。
それを機能させる方法について何か提案はありますか?
node.js - Selenium グリッドの maxSession は無視されました
コマンドラインオプションとして設定するか、JSON構成で設定するかに関係なく、ハブまたはノード、またはその両方に設定するかどうかに関係なく、Selenium Grid2をmaxSessionパラメーターに準拠させることができないようです。グリッドはそれを完全に無視します。バグ チケットを開く前に、これが正しく行われていることを確認したいと思います。
これは、最新のselenium-server-standalone-jarおよびselenium-webdriver NPM モジュールを利用する node.js アプリケーションです。プロセスは大まかに次のように分類されます。
1) ローカルで実行されているセレン グリッド ハブを開始します。
そのハブ構成ファイルは次のようになります。
2) ローカルで実行されているセレン グリッド ノードを開始します。
ノード構成は次のようになります。
したがって、この時点で、maxSession=1 で実行されているハブと、maxSession=1 および maxInstances=1 (Firefox の場合) で実行されているノードがあります。これは、アプリケーションが長期的に機能する方法ではありません。セッションを制限できることをSelenium Gridに実証させようとしているだけです。
3) 5 つの子プロセスを開始し、それぞれがハブ サーバーを使用して独自の webdriver を使用します。
それぞれがブラウザ アクションを実行し、終了する前に Web ドライバを閉じます。
私が期待すること:グリッドは、それらの子プロセスが開くことができるブラウザーの数を制限する必要があります。その結果、子プロセスが順番待ちになるかどうか。
私が実際に見たもの:一連の Firefox ウィンドウが開き (閉じる前に最大 30 まで上昇させました)、maxSession と maxInstance の構成を完全に無視して、それらのステップを並行して実行し始めます。
更新 2016-04-14
この問題を SeleniumServer クラスに分離しました。コンストラクターに指定した「args」オプションが無視されているようです。これは、テストの実行中に localhost:4444/grid/console に到達できないことを説明しています。スタンドアロン サーバー jar が「ハブ」ロールで実行されていません。
child_process.exec を使用して jar を直接 (役割と JSON 構成を使用して) 実行すると、すべてが多かれ少なかれ正しく機能し始めることを確認しましたが、ハブの準備とキュウリの間に競合状態が存在するという点で、このアプローチには問題があります。テストが Web ドライバーをそれに接続しようとします。理想的には、計画どおりに SeleniumServer を使用したいと考えています。私が間違っているかもしれないこと、またはそれをどのように動作させることができるかについてのアドバイスは、大歓迎です。
c# - Seleneium WebDriver - 別の例外を取得する
グリッド モードを使用してセレン テストを実行しています。ページで要素が見つからない場合は常に、次の例外が発生します
「URL http://localhost:4444/wd/hub/session/5fe58b67-491c-4b72-9a3a-a6dc790cc29d/elementのリモート WebDriver サーバーへの HTTP 要求が 60 秒後にタイムアウトしました。」
NoSuch Element foundのような例外が発生することを期待していました。しかし、タイムアウトが発生しています。これに関する指針は非常に役立ちます
コードは以下です
どうもありがとう
c# - PhantomJS と Selenium Grid 2 - phantomjsdriver.log を無効にする方法は?
ドキュメントのどこかでこれを見つけようとしましたが、関連するものが見つからないようです.Selenium Gridノードによって作成されたログをファイルphantomjsdriver.log
で無効にする方法を誰かが共有できますか(そうでない場合は、与えられたレベル、例えば ERROR または WARN)?
最近、Selenium Grid を介してリモートで PhantomJS を使用して WebDriver がしばらく正常に動作するという問題に遭遇しましたが、しばらくすると、ドライバー インスタンスと対話しようとすると StackOverflowException がスローされるバグがあるようです。グリッド ノードが実行されている phantomjsdriver.log ファイルのサイズまで追跡したと思います。これは、ログ ファイルのサイズが約 600MB の場合に発生します。明らかに、これにより、しばらくするとノードが使用できなくなります。
現在、PhantomJS リモート WebDriver を次の方法で作成しています。
私はグリッドに selenium-server-standalone-2.52.0 を使用しており、2 つのノードが登録されており、それぞれが 8 つの PhantomJS ドライバーを公開しています。 java -jar selenium-server-standalone-2.52.0.jar -role node -hub http://MySeleniumGridHubServer:4444/grid/register -port 5556 -browser browserName=phantomjs,version=1.9.8.0,platform=ANY,maxInstances=8 -timeout 60 -maxSession 100
コマンドラインからノードを起動するときに phantomjsdriver.log ファイルを無効にできる方法があれば、それが理想的です!
さらに、PhantomJSOptions および PhantomJSDriverService クラスによって公開されている多くの機能があるようですが、それらを一緒に使用してドライバー インスタンスを作成することはできず、両方とも異なるプロパティ セットを公開しているようです!
ありがとう
docker - ドッキングされたセレングリッドをスーパースケールすることは可能ですか?
私は現在、約 800 の機能テストを実行するためのドッキング化されたセレン グリッドを開発しています (私の投稿を参照)。単一のグリッド内の 1 つのハブで最大 800 のノードを起動できることを望んでいました [BIG aws インスタンス内]。アイデアは、すべてのテストを同時に実行し、[たとえば] 10 分で終了することです。
この投稿からわかるように、それは不可能です。
20 個のノードを起動しましたが、テストでは 10 個しか読み込まれていません。これは、10 個の Firefox インスタンスのみです。
Selenium サーバーまたはハブの Docker イメージに組み込まれた制限はありますか?
Docker化されたサービスのスケーリングの容易さが、セレングリッド機能をまったく新しいレベルに引き上げることを望んでいました...
セレン グリッドのドッキング化された実装は 10 ノードに「スタック」していますか?
selenium - AWS toolkit for eclipse を使用して、Amazon EC2 で jar ファイルをリモートで実行する
継続的インテグレーションの一環として、Eclipse 用の AWS ツールキットを使用して、Amazon EC2 インスタンスで Selenium テスト ケースを実行したいと考えています。
私は次のことをしたい
- 2 つの Amazon EC2 (Windows サーバー) インスタンスを開始する
- 1 つのインスタンスで Selenium グリッド ハブを実行し、別のインスタンスでノードを実行します。
- ノードでテスト ケースを実行する
- インスタンスを終了する
これまでのところ、インスタンスを開始し (Java とさまざまなブラウザーがインストールされているイメージを使用しています)、それらを終了することができました。セレン サーバー jar をインスタンスの特定の場所に保持しました。Eclipse 用の AWS ツールキットを使用して、インスタンスで jar にアクセスして実行したいと考えています。
これで私を助けてください。ご不明な点がございましたら、お知らせください。
xml - seleniumgrid2-@parameters 注釈エラー
コードを 2 つの異なるマシンで実行したいので (現在、ローカル マシンをハブと 2 つのノードとして登録しています)、testng.xml ファイルの実行中にエラーが発生します。
testng.xml ファイルの実行中にエラーが発生しました。アプリケーションでエラーが発生しました:- testng.xml ファイルと以下のコードを参照してください:-
java - リモート マシンで Java ロボット クラスを使用する方法
こんにちは、セレン グリッドを使用してテストを実行しています。すべて正常に動作しています。アプリケーションはマップ (Google マップなど) を使用しており、マップ上で何らかのアクションを実行するために Java ロボット クラスを使用しています。問題は、ローカル マシンでテスト ケースを実行すると、ロボットを含むすべてがうまく動作することですが、異なるノードのグリッドで同じテスト ケースを実行すると、ノード マシンではなくローカル マシンでアクションを実行するロボット クラスを除いて、すべて正常に動作します。ハブ マシンではマウスが上下するのがはっきりとわかりますが、ノードではわかりません plz どうすればいいですか