Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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 带TestNG和Gradle的Selenium:将浏览器崩溃测试设置为跳过而不是失败_Java_Selenium_Gradle_Testng_Selenium Chromedriver - Fatal编程技术网

Java 带TestNG和Gradle的Selenium:将浏览器崩溃测试设置为跳过而不是失败

Java 带TestNG和Gradle的Selenium:将浏览器崩溃测试设置为跳过而不是失败,java,selenium,gradle,testng,selenium-chromedriver,Java,Selenium,Gradle,Testng,Selenium Chromedriver,我目前正在处理最新版本的Chrome和含硒ChromeDriver的常见片状。我正在使用Grid2和两台Windows7机器运行测试。我将得到ChromeDriver报告的偶尔不可避免的死机浏览器选项卡。由于这些测试在web应用程序功能方面并没有真正失败,因此我想将它们标记为跳过,以保持报告对我当前的用途更有用。我已经试着让它们重新运行,但是TestNG对此的支持是实验性的,并且目前已经失效 在这些测试登录到我的Gradle报告之前,有没有办法将它们设置为跳过状态?(我使用Gradle来报告而不

我目前正在处理最新版本的Chrome和含硒ChromeDriver的常见片状。我正在使用Grid2和两台Windows7机器运行测试。我将得到ChromeDriver报告的偶尔不可避免的死机浏览器选项卡。由于这些测试在web应用程序功能方面并没有真正失败,因此我想将它们标记为跳过,以保持报告对我当前的用途更有用。我已经试着让它们重新运行,但是TestNG对此的支持是实验性的,并且目前已经失效

在这些测试登录到我的Gradle报告之前,有没有办法将它们设置为跳过状态?(我使用Gradle来报告而不是报告,因为报告不能与并行测试一起正常工作)

我想我需要添加另一个侦听器,并以某种方式获取报告的堆栈跟踪,检查特定字符串,然后将集合设置为SKIPPED。这是正确的方法吗

关于如何实现这一点的任何提示都将非常有用。我还无法找到一种方法用我的侦听器捕获堆栈跟踪,最重要的是,将测试设置为跳过状态(一旦跟踪被解析)。我正在使用Java来驱动这些测试

任何想法/帮助都将不胜感激

干杯,
Darwin

您可以尝试实现该接口,在onTestFailure()中检查堆栈跟踪和调用方法以设置跳过状态


别忘了按照TestNG文档的“5.17-TestNG侦听器”中所述,将实现的类设为侦听器。

很好,这与我现在所做的差不多,尽管我很难弄清楚如何实际获取堆栈跟踪。有没有一种方法可以捕获它以便于分析?@darwin allen尝试类似的方法:String stackTraceString=Throwables.getStackTraceAsString(getCurrentTestResult().getThrowable());很好,这给了我比我尝试的实现更多的工作。我想我可以从这里开始。非常感谢:)。