testng执行case时报错,倒腾了很久才找到解决方法,记录下。
报错内容:
java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113) at java.net.SocketOutputStream.write(SocketOutputStream.java:159) at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) 分析原因:
怀疑是maven使用的TestNG跟eclipse使用的TestNG不一致造成的(试验了下没成功,后续没研究。我用的最新的6.9.11) 又怀疑可能是testng新版本有问题,要用老版本才行(试了,可以解决问题。) 解决方法: 在线安装 1)eclipse中新版本testng插件进行卸载 eclipse:help——》installation details:找到testng进行卸载 2)eclipse中安装旧插件,我安装了6.8.22 http://beust.com/eclipse-old/eclipse_6.8.22.201505070320 3)maven的pom文件中修改版本6.8.21(6.8.22报错) <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.8.21</version> <scope>test</scope>
</dependency>
离线安装
首先下载testng离线包: http://pan.baidu.com/s/1hrEaX6k
1. 将解压后的文件..\eclipse-testng离线包\features\org.testng.eclipse_6.9.9.201510270734 文件夹 放到 eclipse--》features目录下
2. 将解压后的文件..\eclipse-testng离线包\plugins\org.testng.eclipse_6.9.8.201510130443 文件夹 放到 eclipse--》plugins目录下
3. 重启eclipse
4. 验证是否安装成功,file-->new-->other-->TestNg