2

などの単純な webdriver セットアップを使用してテスト マシンで Selenium テストをローカルで実行し、テストを実行することができましたIWebDriver driver = new FirefoxDriver(); driver.Url = "http://www.testedApp.com";Microsoft.VisualStudio.TestTools.UnitTesting;、Team Foundation Server vnext ビルド ステップ「テスト: 機能テストの実行」https:// www.visualstudio.com/en-gb/docs/build/steps/test/run-functional-testsさまざまなエラーが発生しますが、これらはすべて、そもそもドライバーを作成できないことに関連しているようです。

テスト対象のアプリケーションが既にインストールされているリモート マシン (Windows Server 2008 R2 または 2012) に Selenium テストを展開しています。driver.Url = "http://www.testedApp.com";URL を入力するかdriver.Url = "http://www.localhost/testedApp.com";、マシン (テストを展開したマシンではなく、TFS サーバー マシンから実行されているように見える) がタイムアウトで失敗しているように見えるかどうかは問題ではないようです。スタック オーバーフローに関する回答

Selenium エラー - リモート WebDriver への HTTP リクエストが 60 秒後にタイムアウトしました

そこにあるすべてのオプションを試した後、さらに調べたところ、Selenium Server と RemoteWebdriver を発見しました (RemoteWebdriver は実際には私のエラーの非常に深いところにあります)。

また、管理者アカウントでリモート マシン上でテスト エージェントを実行しているため、UI アクセスに問題はないと思われますが、Phantomjs をブラウザーとして使用している場合もエラーが続きます。

したがって、私の本当の質問は、TFS マシンからリモート マシンでテストを正常に実行するために、Selenium Server をインストールして実行する必要があるかどうか (したがって、RemoteWebdriver を介してドライバーを作成する必要があるかどうか) だと思います。

もしそうなら、この Selenium Server は TFS マシン、またはテストを実行しようとしているリモート マシンに配置されますか?

4

2 に答える 2

2

これを自分のソリューションで更新したかっただけです。

vnext Build ステップ「テスト: 機能テストの実行」を、remoteWebDriver を使用せずに、またはノードで Selenium Server を実行せずに機能させることができました。

私はすべての正しい信頼レベルとポートを開いていましたが、私の問題は、テストを実行するエージェントが PAT トークンで認証される必要があることを認識していなかったことです (つまり、正常に動作するには ssl が必要です) (DOH !)

また、ドメイン ポリシーが自動ログオンのグループ ポリシーを 0 にリセットし続けるという問題にも遭遇しました。この問題は、テストを開始する前にスクリプトを実行してリセットすることで回避できました。

これが他の誰かに役立つことを願っています。

そして、私の質問が最初に誤った仮定につながった場合は、事前にお詫び申し上げます。

しかし、言うまでもなく、Selenium サーバー (または Octopus の展開) を維持する必要がないこと、および Vnext ビルドがこれらすべてを社内で処理するのに十分適応性があることに感謝しています。

Vnext が私のニーズに完全に適応できるようになるにはまだ道のりがありますが、それは素晴らしいスタートです (imo)

于 2017-04-05T23:51:11.553 に答える