2016-10-20 8 views
-1

私はオートメーションの世界で初めてのことです。リスト内の項目を確認して、削除されているかどうかを確認しようとしています。次の構文を使用しましたが、それが表示されていない場合の答えであることを仮定しない...助けてくださいSelenium webdriverでの検証

internal void verifycompany() 

{ 

     Thread.Sleep(1000); 
     int b = 1; 
     bool CompanyName = Driver.driver.FindElement(By.XPath(".//*[@id='companies']/tr[" + b + "]/td[1]")).Displayed; 
     if (CompanyName == false) 
     { 
      Console.WriteLine("company not found, test succesful"); 
      Base.test.Log(LogStatus.Info, "company not found, test succesful"); 
     } 
     else 
     { 
      b++; 
      Base.test.Log(LogStatus.Info, "Company found, test unscuccesful"); 
      } 
     } 
+1

関連するHTMLも共有できますか? –

答えて

0

残念ながら、isDisplayedはfalseを返しません、それは(そうねえおかげで)見つけることができなかったことを示す例外がスローされます。

私が行ったことは、要素に渡すことができる再利用可能なメソッドを作成し、tryキャッチでそれをスローし、見つかった場合はtrueを返し、例外がスローされた場合はfalseを返します。以下のような

何か - 私は、Javaを使用しますが、それはあなたがあなたの問題を回避する方法を見つけ出す手助けする必要があります

public boolean isDisplayed(WebElement webElement) { 
    try { 
     return element.isDisplayed(); 
    } catch (NoSuchElementException e) { 
     return false; 
    } 
} 

あなたは、再利用可能なメソッドを作成したくない場合は、ちょうどあなたの検索要素ラインを投げます試しにキャッチする。

boolean CompanyName; 

try { 
    CompanyName = findElementAndIsDisplayedCode; 
} catch (NoSuchElementException e) { 
    CompanyName = false; 
} 
+0

ありがとう、ロジックを持っています。乾杯 – Malcolm