2016-10-20 4 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 не возвращает ложь, если оно не отображается, он бросает исключение о том, что она не может быть найден (Geez спасибо).

То, что я сделал, это создать метод многократного использования, в котором я могу передать элемент, и он выкинет его через try catch и вернет 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

 Смежные вопросы

  • Нет связанных вопросов^_^