2017-01-04 1 views
0

Обычно, когда мы запускаем тестовые тесты с использованием TestNG, ошибка утверждения останавливает дальнейшее выполнение после этой точки. Но иногда было бы лучше, если бы мы могли запустить весь скрипт. Ручное блокирование/отключение этих утверждений становится утомительным процессом. Следовательно, если бы были какие-то способы программно включать/отключать утверждения, отличные от ручных, это было бы очень полезно.Программно включить или отключить утверждение в TestNG

Поддерживает ли TestNG это? Если нет, может ли кто-нибудь мне помочь?

+0

Вы попробовали SoftAssert? http://beust.com/weblog/2012/07/29/reinventing-assertions/ – juherr

+0

Нет, мне нужно использовать утверждение. Но по какой-то причине я хочу включить/отключить эти утверждения по мере необходимости. –

+0

SoftAssert - это утверждение, но он проверяет все утверждения один раз, и вы можете избежать проверки, если хотите. В противном случае вы можете использовать стороннее утверждение lib (но я не знаю, существует ли оно) или сделать ваш. – juherr

ответ

1

Как уже упоминалось выше, вам лучше создать собственный собственный softAssert. Я не знаю, я мог бы быть ужасно неправильным, но стандартный softAssert, который поставляется с testNG, не дал мне такого поведения, в котором я был.

Я полагаю, что наиболее распространенной причиной неудачных тестов является исключение ElementNotFound или TimeOutException. Таким образом, в вашем методе waitForElement вы можете зафиксировать эти исключения (или любое исключение в этом отношении) и напечатать предупреждение на консоли (или не печатать что-либо или даже сделать снимок экрана, если это возможно, например, предупреждение, но не шоу -стопная ошибка). Что-то вроде ниже:

public boolean waitForElement(String elementName, int timeOut) { 

    try{ 
elementPresent=wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(findXpath(elementName)))).isDisplayed()); 

    }        
    catch(org.openqa.selenium.TimeOutException e1){e1.printStackTrace();elementPresent=false;takeScreenshot();}  
    }  

    return elementPresent; 
} 

Надеюсь, что это поможет!

0

Используя QAF Validation, вы можете выполнить свои требования, так как для селена он предоставляет встроенные методы проверки, если он терпит неудачу, тогда тестовый файл также продолжает выполнение.

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