换工作中

TestNG 在Eclipse执行报错 java.net.SocketException

上一篇 / 下一篇  2016-07-12 10:53:03 / 个人分类:Selenium

最近在Eclipse执行TestNG时,报java.net.SocketException: Software caused connection abort: socket write error的错误,经常报错的原因是Excel中的中文字符个数超过4个字符就会报这个错,在网上查询是TestNG插件版本的问题。
代码如下:
     @Test(dataProvider="orderAmount",dataProviderClass=TestData.class)//自定义格式Excel
     publicvoidqueryOrderAmountTest(String name,String method,String orderId,String expected)throws  Exception{
          logger.info("当前执行的测试用例是:"+name+",订单号:"+orderId);
           String uri = HttpUtils.getURL(queryocs_jsf_address, method);
          
           String result ="";         
           String params ="["+orderId+"]";
          logger.info("调用JSF地址:"+uri);
          logger.info("调用参数:"+params);
           result = HttpUtils.invoke(uri, params);
         logger.info("接口返回值为:"+result);
          Assert.assertEquals(result,expected,"实际结果与预期结果不符");
      }


     @DataProvider(name="orderAmount"
     publicstaticObject[][] orderAmount()throwsException{
     
          Object[][] testObjArray =ExcelUtils.getTableArray("testdata/queryocs.xlsx","queryOrderAmount");
          returntestObjArray;

      }
当Excel中单元格中中文个数超过4个时,就会报如下错误,通过对象的形式没有问题
java.net.SocketException: Software caused connection abort: socket write error
       at java.net.SocketOutputStream.socketWrite0(Native Method)
       at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
       at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
       at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1676)
       at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1585)
       at java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1167)
       at java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1121)
       at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1278)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
       at java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1392)
       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:294)
       at org.testng.remote.strprotocol.SerializedMessageSender.sendMessage(SerializedMessageSender.java:25)
       at org.testng.remote.strprotocol.MessageHub.sendMessage(MessageHub.java:44)
       at org.testng.remote.strprotocol.RemoteTestListener.onTestStart(RemoteTestListener.java:49)
       at org.testng.internal.Invoker.runTestListeners(Invoker.java:1904)
       at org.testng.internal.Invoker.runTestListeners(Invoker.java:1879)
       at org.testng.internal.Invoker.invokeMethod(Invoker.java:685)
       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
       at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
       at org.testng.TestRunner.privateRun(TestRunner.java:767)
       at org.testng.TestRunner.run(TestRunner.java:617)
       at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
       at org.testng.SuiteRunner.run(SuiteRunner.java:240)
       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198)
       at org.testng.TestNG.runSuitesLocally(TestNG.java:1123)
       at org.testng.TestNG.run(TestNG.java:1031)
       at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
       at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
       at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)

经查原因为TestNG插件的版本问题,Eclipse版本Version: Kepler Service Release 2  Build id: 20140224-0627,TestNG版本6.9.x;将TestNG插件的版本降为6.8.1,问题就不存在了。

TAG:

 

评分:0

我来说两句

Open Toolbar