Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium中的异常处理_Java_Selenium_Selenium Webdriver_Webdriver_Try Catch - Fatal编程技术网

Java Selenium中的异常处理

Java Selenium中的异常处理,java,selenium,selenium-webdriver,webdriver,try-catch,Java,Selenium,Selenium Webdriver,Webdriver,Try Catch,在进行硒测试时使用Try-and-Catch是否是一种良好的做法?我在测试用例中使用try/catch来修复测试时出现的一些异常,这是最好的方法吗?是的,try-catch使用始终是一种好的做法。但有时这取决于编程和逻辑。但从总体上看,Try/Catch对于使用Selenium进行数据抓取非常重要。例外 在执行相关测试框架时,可能会由于编码错误、输入错误或其他不可预见的原因而发生错误。因此,最好将可疑代码块包围在blobk中 抓住 详情: try:try块中的代码行用于封装可能引发异常的代码

在进行硒测试时使用Try-and-Catch是否是一种良好的做法?我在测试用例中使用try/catch来修复测试时出现的一些异常,这是最好的方法吗?

是的,try-catch使用始终是一种好的做法。但有时这取决于编程和逻辑。但从总体上看,Try/Catch对于使用Selenium进行数据抓取非常重要。

例外 在执行相关测试框架时,可能会由于编码错误、输入错误或其他不可预见的原因而发生错误。因此,最好将可疑代码块包围在blobk中


抓住 详情:

  • try:
    try
    块中的代码行用于封装可能引发异常的代码。如果try块的特定语句发生异常,则块代码的其余部分将不会执行。因此,建议不要将代码保留在不会引发异常的try块中

  • catch:
    catch
    块中的代码行用于通过在参数中声明异常类型来处理异常。声明的异常可以是父类异常(即,
    异常
    )或生成的异常类型。一个好的方法是声明生成的异常类型

注意:catch块只能在try块之后使用。可以将多个catch块与单个try块一起使用


一个例子 演示如何使用
try catch

try{
    if(driver.findElement(By.xpath("xpath_of_the_desired_element")).isDisplayed())
    System.out.println("Element is present and displayed");
    else
    System.out.println("Element is present but not displayed"); 
}catch (NoSuchElementException e) {
    System.out.println("Element is not present, hence not displayed as well");
}

这是正常的做法。您可以在selenium自身的
org.openqa.selenium.support.ui.FluentWait
中找到此类实践的一个例子,其中
直到(…)
函数捕获所有异常,然后通过
忽略(…)
忽略(…)
方法重新抛出未提及的异常

但是,最好不要经常使用它,因为使用异常来设计流控制