2017-07-05 9 views
1

c#を使用してウィキペディアの検索機能をテストするチュートリアルの後に。返すことを試みているh1要素のテキストが空のまま戻ってくるので、私のテストは失敗し続けます。間違いなくh1ヘッダー内にテキストがあります。なぜこの要素がテキストを持っているときに空になっているのでしょうか?セレンが空のテキストを返す

IWebDriver driver = new FirefoxDriver(); 
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5)); 
driver.Navigate().GoToUrl("https://en.wikipedia.org/wiki/Main_Page"); 

IWebElement searchInput = driver.FindElement(By.Id("searchInput")); 
searchInput.SendKeys("Christiaan Barnard"); 
searchInput.SendKeys(Keys.Enter); 

IWebElement firstHeading = driver.FindElement(By.Id("firstHeading")); 
Assert.AreEqual("Christiaan Barnard", firstHeading.Text); 
driver.Quit(); 
+1

を、あなたはページが正しく最初にレンダリングしていることを確認するには待って人工的に配置する必要がある場合があります。 – simonlchilds

+0

@imonlchildsは既に提案されています。私は、 'driver.FindElement(By.Id(" firstHeading "));'という行を実行すると、あなたのページが読み込まれていないと思います。数秒待ってから再度確認してください。 –

+1

皆さんありがとうございました – amberl

答えて

1

要素が見つかりましたが、期待値がまだありません。最善のアプローチは、テキストがWebDriverWait使用して、期待値になるまで待つことである:Wikipediaの検索がどのように機能するかに応じて、

var wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(5)); 
var result = wait.Until(ExpectedConditions.TextToBePresentInElementLocated(By.Id("firstHeading"), "Christiaan Barnard")); 
Assert.IsTrue(result); 
関連する問題