この問題は、www Web サイトでのテストからローカルホスト バージョンのテストに切り替えたときに始まりました。VS 2012 で作業して、ローカルホストがアクティブになるようにデバッグを開始し、テストできるようにプロセスを切り離してから、好きなテストを実行します。非常に基本的な例:
[Test]
public void CanGoToHomePage()
{
Pages.HomePage.Goto();
Assert.IsTrue(Pages.HomePage.IsAt());
}
そして、それが参照する関数は次のとおりです。
public class HomePage
{
const string Url = "http://localhost:3738";
const string HomepageTitle = "FunnelFire - Home Page";
public void Goto()
{
Browser.Goto(Url);
}
public bool IsAt()
{
return Browser.Title == HomepageTitle;
}
}
実際のセレンコードは次のとおりです。
public static class Browser
{
static IWebDriver webDriver = new FirefoxDriver();
public static void Goto(string url)
{
webDriver.Manage().Window.Maximize();
webDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
webDriver.Url = url;
}
}
今問題。ブラウザーに追加した 10 秒間の暗黙的な待機は、ページを読み込んだ後、検索したい情報を見つけることができるかどうかを確認するために最大 10 秒間正常に待機しますが、それは問題ではありません。
前に言ったように、ローカルホストでのテストに切り替えた後、突然、ページがロードされ始めるという奇妙な問題に遭遇しました (つまり、画面はまだ完全に白く、何も終了していません)、または次のページのロードがかろうじて終了し、突然テストは起動して失敗し、読み込み中のページが正しいページであっても、IsAt の Assert が false を返すことを示します。そのテストをすぐにもう一度実行すると、問題なく合格しました。3 回実行すると、再びランダムに失敗する可能性があります。正直なところ、何が問題を引き起こしているのかわかりません。助けていただければ幸いです。