我正在使用 Selenium-web 驱动程序自动化 Web 应用程序。一旦脚本在任何时候中断,我想停止执行代码而不是继续下一个方法,这样我就可以知道自动化在哪里中断。谁能帮助我,我该怎么做。
这是 catch 块的片段(即我现在使用的异常)
try {
//code
}
catch(Exception e){
System.out.println("Exception occurred *** " +e.getMessage());
}
我正在使用 Selenium-web 驱动程序自动化 Web 应用程序。一旦脚本在任何时候中断,我想停止执行代码而不是继续下一个方法,这样我就可以知道自动化在哪里中断。谁能帮助我,我该怎么做。
这是 catch 块的片段(即我现在使用的异常)
try {
//code
}
catch(Exception e){
System.out.println("Exception occurred *** " +e.getMessage());
}
如果我理解您的要求,我会将其放在 catch 块中以帮助您跟踪问题。
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);
}
好吧,测试在设计上应该是独立的,所以一个的失败不应该影响其他的。如果您在第一个失败的测试中停止执行,那么您怎么知道代码中还有多少错误?
这是一种解释为什么 testng 不包含开箱即用的所需功能的一般概念。但是,您仍然可以利用 testng 提供的测试依赖机制:
@Test
public void serverStartedOk() {}
@Test(dependsOnMethods = { "serverStartedOk" })
public void method1() {}
因此,您需要以这种方式链接您的方法,以确保执行在第一次失败时中断。
那是我控制所有例外的方式。
创建对所有类可见的方法
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);
}
}