我正在使用TestNG和Java运行自动化测试。
这是我的代码的一部分:
private void testConnection(String URL1) throws IOException {
try {
URL url = new URL(URL1);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
urlConn.connect();
assertEquals(HttpURLConnection.HTTP_OK, urlConn.getResponseCode());
} catch (IOException e) {
ConsoleLogger.error("*******************************");
ConsoleLogger.error("Could NOT connect to the server");
ConsoleLogger.error("Entire test is aborted!!!");
ConsoleLogger.error("Please check port and IP again!");
ConsoleLogger.error("*******************************");
throw e;
}
}
现在,我的测试失败了,因为我从URL中获取了一个异常。 我可以在控制台中看到错误消息。 在带有注释@BeforeSuite的方法中调用此方法。
为什么我不能调试此方法(不是try块也不是catch块)?
答案 0 :(得分:4)
您已经提到IntelliJ不遵守您的断点,并且从您的代码中可以看到有对服务器的引用。如果您尝试进行远程调试,则可能会发生这种情况:
要在服务器上调试代码,必须将调试器附加到其调试端口。这意味着在调试模式下启动服务器,并在连接到正确端口的IntelliJ中创建远程调试运行配置(应在服务器初始化日志中报告该配置)。
有关更多信息,请阅读原始答案here。
如果您不是远程调试人员,则可以尝试执行以下操作:
我以为您出于某种原因正在IntelliJ中工作,但所有这些要点也应适用于其他程序。
答案 1 :(得分:1)
由于您可以打印出错误消息,因此绝对有机会进行调试。您可以尝试在该打印错误消息上设置断点。如果仍然失败。意味着您的工作区未使用您的代码进行更新。只需刷新或重新启动您的IDE。祝你好运。