2013-08-28 4 views
0

Я автоматизирую веб-приложение с использованием драйвера Selenium-web. Как только скрипт прерывается в любой момент, я хочу прекратить выполнение кода вместо продолжения следующего метода, чтобы я мог знать, где происходит автоматизация. Может ли кто-нибудь помочь мне, как я могу это сделать.Как остановить выполнение кода при тестировании после возникновения исключения

Вот фрагмент блока улова (т.е. за исключением я использую сейчас)

try { 
    //code 
} 
catch(Exception e){ 
    System.out.println("Exception occurred *** " +e.getMessage()); 
} 
+0

Почему не 'утверждают (ложь)' в улове блок? –

ответ

1

Если я понимаю, что вы просите, я бы поставил это в блоке поймать, чтобы помочь вам след проблема.

catch(Exception e) 
{ 
    e.printStackTrace(); 
    System.exit(1) 
} 

или, альтернативно, вы можете поместить инструкцию печати в каждый блок catch, который идентифицирует, какой блок не удалось.

ie.

try{ 
//make a cake 
} 
catch(CakeException e) 
{ 
    System.out.println("Failed at cake baking); 
} 

try{ 
//make a salad 
} 
catch(LettuceException e) 
{ 
    System.out.println("Failed at lettuce chopping); 
} 
0

Ну, испытания должны быть независимыми по дизайну, поэтому провал не должен влиять на других. Если вы остановите выполнение первого неудавшегося теста, то как вы узнаете, сколько еще ошибок у вас в коде?

Это своего рода общая идея, объясняющая, почему testng не содержит желаемую функцию из коробки. Вы можете, однако, до сих пор получить преимущество механизма испытания зависимостей, предоставленной TestNG:

@Test 
public void serverStartedOk() {} 

@Test(dependsOnMethods = { "serverStartedOk" }) 
public void method1() {} 

Так что вам нужно приковать ваши методы таким образом, чтобы обеспечить выполнение сломано на первый провал.

0

это мой способ управления всеми исключениями.

создать метод, который виден для всех классов

protected void exeption(String variable){ 
    driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS); 
    System.out.println(" "); 
    System.out.println("stop test ____ something your code - exeption ______"); 
    System.out.println(" "); 
    System.out.println("Check Variables: " + variable); 
    System.out.println("____________________________________________"); 
    driver.findElement(By.xpath("//ooppss")); 
} 

private void testName() { 
String variable = "something"; 
     if(1!=2){ 
     exeption(variable); 
    } 
} 
Смежные вопросы