0

私は問題を解決しようとしていて、Selenium Gridでそれができることを望んでいましたが、それが可能かどうかは完全にはわかりません。これが私の問題です...SeleniumWebDriverを使用してテストケースを開発しており、Windowsマシンでテストを実行する必要がありますが、AUTはLinuxサーバーで実行されます。Linuxでのみ実行されるツールがいくつかあり、Windowsマシンでいくつかのコマンド/テストを実行し、Linuxサーバーで他のコマンド/テストを実行できるようにしたいと考えています。例えば

  1. テスト開始->Firefoxの起動(Windowsマシン)
  2. サイトにログイン(Windowsマシン)
  3. Linuxサーバーでコマンドを実行する
  4. Windowsボックスで実行中のコマンド/テストを返します。

または、Windowsマシンからリモートでこれらのコマンドを実行する方法を理解することもできますが、それを行うのは楽しみではありません。

4

2 に答える 2

1

箱から出して、ローカルマシンでコマンドを実行するためにseleniumを使用することはできません。Selenium / Webdriverはブラウザーのテストツールであり、ブラウザーとのみ対話できます。

コメントに基づいて回答を更新
(すでにご存知だと思います)Javaコードには、手順1と2を実行するwebdriver/seleniumコマンドのコードが含まれている必要があります。Javaコードにはロジックも含まれている必要があります。 / codeを使用して、ステップ3としてLinuxコマンドを実行します。ステップ4も、webdriverコマンドになります。
このテストコードはLinuxサーバーから実行して、Javaコマンドの実行がLinuxボックスで行われるようにする必要があります。

現在、保留中の部分は、リモートマシンでのテストの実行のみです。

グリッドを使用しない方法1

WindowsマシンでSeleniumサーバーを起動します。このマシンで実行されているセレンサーバーにJavaテストをポイントします。WindowsマシンのIPが10.0.0.1の場合、webdriverオブジェクトを次のように初期化する必要があります。

WebDriver wd =  new RemoteWebDriver(new URL("http://10.0.0.1:4444/wd/hub"),DesiredCapabilities.Firefox());

これにより、すべてのWebドライバーコマンドが10.0.0.1で実行されているseleniumサーバーのポート4444に送信されます。その後、テストはWindowsマシンで実行されます。これが機能するには、LinuxサーバーとWindowsマシンが同じネットワーク内にある必要があります。

グリッドを使用する方法2。

上記とすべて同じですが、Windowsマシンのip / dns名を指定する代わりに、ハブマシンのip/dns名を指定する必要があります。また、WindowsマシンをRCとしてそのハブに登録する必要があります。

于 2013-01-15T16:09:50.890 に答える
0

AutoITのようなWindowsフレームワークを使用するC:\Windows\System32\cmd.exeと、コマンドプロンプトを開いて、いくつかの.batファイルを実行するために呼び出すことができると思います。Linuxの場合/bin/csh or /bin/bash myscript.sh

于 2021-08-05T12:59:43.603 に答える