2017-02-10 15 views
-4

Я намеренно изменил элемент, поэтому он неверен, но мой тест не терпит неудачу в TestNG. Есть идеи?Почему мой метод «Wait» не прерывает тестовый тест TestNG?

Мой код:

public void waitAndClickElement(WebElement element) throws InterruptedException { 
    try { 
     element.click(); 
    } catch (TimeoutException timeEx) { 
     this.wait.until(ExpectedConditions.elementToBeClickable(element)).click(); 
    } catch (StaleElementReferenceException elementUpdated) { 
     this.wait.until(ExpectedConditions.elementToBeClickable(element)).click(); 
    } catch (Exception e) { 
     System.out.println("Unable to wait and click on element, Exception: " + e.getMessage()); 
    } 
} 

@Test(priority = 2) 
public void clickOnDrivingExperiencePage() throws Exception { 
    basePage.waitAndClickElement(homepageHeader.link_DrivingExperiences); 
} 

enter image description here

Новый Изменения кода:

public void waitAndClickElement(WebElement element) throws InterruptedException { 
    try { 
     this.wait.until(ExpectedConditions.elementToBeClickable(element)).click(); 
     System.out.println("Successfully clicked on the WebElement: " + "<" + element.toString() + ">"); 
    } catch (Exception e) { 
     System.out.println("Unable to wait and click on WebElement, Exception: " + e.getMessage()); 
     Assert.assertFalse(true, "Unable to wait and click on the WebElement, using locator: " + "<" + element.toString() + ">"); 
    } 
} 
+1

Зачем это терпеть неудачу? Вы ловите Исключения и обрабатываете их ... Кроме того, «это не подводит» довольно расплывчато. Не могли бы вы описать, что вы ожидали, и каковы результаты, которые вы получаете с помощью вашего текущего кода? – n247s

+0

@ n247s см. Прикрепленное изображение. Тест не терпит неудачу, даже когда я знаю, что локатор веб-элементов неверен. – Gbru

+0

Я могу видеть только, что метод занял 0,04 секунды. Но чего вы ожидали? какой вывод консоли, какой результат теста и что вы получаете вместо этого? Кроме того, вы попробовали отладчик, чтобы узнать, что на самом деле происходит? – n247s

ответ

4
} catch (Exception e) { 
    System.out.println("Unable to wait and click on element, Exception: " + e.getMessage()); 
} 

Вы завоевывают все исключения, так что тест не подведет.

+0

см. Прикрепленное изображение. Тест не терпит неудачу, даже когда я знаю, что локатор веб-элементов неверен. – Gbru

+0

выводит исключение на консоль, но на TestNG оно отображается как передача, если я затем добавляю Assert.fail, тогда тестовый пример не работает – Gbru

+0

консольный выход? Где вы добавляете Assert.fail? – juherr