ウェブサイト用のテストスクリプトを作成しようとしています。私はassertを使って次のコード行が実行される前にその要素がページ上にあることを確認し、その要素を呼び出したいと思います。C#、Selenium web-driver、NUnitを使用しているときにアサーション要素が表示されない
私はアサートでtry/catchブロックを使用しています。アサーションはIdまたはXpathで要素を見ることができません。それは失敗し、キャッチはそれをつかむ。 ここで楽しい部分があります:次のコード行では、IdまたはXpathで同じWeb要素を使用しています。これは私に困ってしまった。
class Program
{
static void Main(string[] args)
{
var driver = new ChromeDriver();
driver.Navigate().GoToUrl("https://www.higgins3.com/");
System.Threading.Thread.Sleep(2000);
//Assert try catch block to see if search box is one the page.
try
{
Assert.IsTrue(driver.FindElement(By.Id("s")).Displayed);
Console.Write("Search box display . assert Pass");
}
catch (Exception e)
{
Console.WriteLine("Can not find Search Box . assert Fail");
}
// End Assert
IWebElement element1 = driver.FindElement(By.Id("s"));
System.Threading.Thread.Sleep(2000);
element1.Click();
element1.SendKeys("Printer");
System.Threading.Thread.Sleep(2000);
}
}
エラーの内容を確認できるように例外メッセージを投稿してください。あなたの例外メッセージではなく、Seleniumによって投げられたメッセージです。 – CodingYoshi