Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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 >_Java_Selenium_Selenium Webdriver_Try Catch - Fatal编程技术网

Java >

Java >,java,selenium,selenium-webdriver,try-catch,Java,Selenium,Selenium Webdriver,Try Catch,当代码为driver.get(url)时;运行时,如果URL无法访问(如果服务器不可访问),则应引发服务器不可访问的异常,并且代码应停止执行下一行驱动程序 关于这一点有一个建议——API调用(检查服务器可访问性)可以用作测试夹具。或者更好,如果服务器返回500类型的错误,则无需运行整个测试套件(您可以在TestSuiteContext对象中处理它)。通过这样做,您将不必为刚刚被销毁的驱动程序和浏览器创建实例 它应该抛出一个异常 您可以用Java创建自己的(例如,ServerAvailabilit

当代码为driver.get(url)时;运行时,如果URL无法访问(如果服务器不可访问),则应引发服务器不可访问的异常,并且代码应停止执行下一行驱动程序

关于这一点有一个建议——API调用(检查服务器可访问性)可以用作测试夹具。或者更好,如果服务器返回
500
类型的错误,则无需运行整个测试套件(您可以在
TestSuiteContext
对象中处理它)。通过这样做,您将不必为刚刚被销毁的驱动程序和浏览器创建实例

它应该抛出一个异常

您可以用Java创建自己的(例如,
ServerAvailabilityException
)。例如:

public class CustomException extends Exception{}

试试这个:

try {
    driver.get(url);
} catch (Exception e) {
    logger.log(Level.SEVERE, "Exception Occured:", e);
}

您能告诉我在上面的代码段中我可以在哪里添加。@User11111-检查方法1的实现。检查方法2的实现。谢谢。我按照您给出的方法1的实现来实现。。但我有疑问:为什么不打印URL?它是否在驱动程序中获取URL。获取(URL);服务器问题的bcoz是否正在打印其他部分System.out.println(“链接不存在!”)@User11111-它应该在哪里打印URL?哪一行应该这样做?@User11111-我们可以在中继续吗?
public class LinkDoesNotExistException extends Exception {
    public LinkDoesNotExistException() {
        System.out.println("Link Does Not Exist!");
    }
}
public static void openIfLinkExists(WebDriver driver, String URLName) throws LinkDoesNotExistException {
    try {
        HttpURLConnection.setFollowRedirects(false);
        HttpURLConnection conn = (HttpURLConnection) new URL(URLName).openConnection();
        conn.setRequestMethod("HEAD"); // Using HEAD since we wish to fetch only meta data
        if(conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
            driver.get(URLName);
        } else {
            throw new LinkDoesNotExistException();
        }
    } catch (Exception e) {
        throw new LinkDoesNotExistException();
    }
}
try {
    WebDriver driver = new FirefoxDriver();
    openLinkIfExist(driver, url);
    // Continues with execution if link exist
} catch(LinkDoesNotExistException e) {
    // Exceutes this block if the link does not exist
}
if(driver.getTitle() == 'Problem loading page') {
 return false;
}
public class CustomException extends Exception{}
try {
    driver.get(url);
} catch (Exception e) {
    logger.log(Level.SEVERE, "Exception Occured:", e);
}