0

我正在尝试为我的一个使用肥皂网络服务的骡子项目进行集成测试。我正在使用柑橘框架来做到这一点。

无法在端点标记中的测试用例中提供 https url。我收到错误为“无法创建名称为‘https’的端点组件”我尝试使用 http 它显示‘连接超时’我的沙箱链接配置了安全 http。我如何实现这一目标?

INFO  2016-10-13 17:33:00,037 [main] org.springframework.context.support.ClassPathXmlApplicationContext: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@2ba45490: startup date [Thu Oct 13 17:33:00 IST 2016]; parent: org.springframework.context.support.GenericApplicationContext@38cee291
INFO  2016-10-13 17:33:00,284 [main] com.consol.citrus.actions.EchoAction: TODO: Code the test Submit_Supplier_Invoice
INFO  2016-10-13 17:33:00,286 [main] com.consol.citrus.Citrus:
ERROR 2016-10-13 17:33:00,287 [main] com.consol.citrus.Citrus: TEST FAILED Submit_Supplier_Invoice  Nested exception is:
com.consol.citrus.exceptions.CitrusRuntimeException: Unable to create endpoint component with name 'https'
        at com.consol.citrus.endpoint.DefaultEndpointFactory.create(DefaultEndpointFactory.java:113) ~[citrus-core-2.6.jar:?]
        at com.consol.citrus.actions.SendMessageAction.getOrCreateEndpoint(SendMessageAction.java:142) ~[citrus-core-2.6.jar:?]
        at com.consol.citrus.actions.SendMessageAction.isDisabled(SendMessageAction.java:112) ~[citrus-core-2.6.jar:?]
        at com.consol.citrus.TestCase.executeAction(TestCase.java:210) ~[citrus-core-2.6.jar:?]
        at com.consol.citrus.TestCase.doExecute(TestCase.java:142) ~[citrus-core-2.6.jar:?]
        at com.consol.citrus.actions.AbstractTestAction.execute(AbstractTestAction.java:42) ~[citrus-core-2.6.jar:?]
        at com.consol.citrus.Citrus.run(Citrus.java:254) ~[citrus-core-2.6.jar:?]
        at com.consol.citrus.testng.AbstractTestNGCitrusTest.run(AbstractTestNGCitrusTest.java:104) ~[citrus-core-2.6.jar:?]
        at com.consol.citrus.testng.AbstractTestNGCitrusTest.run(AbstractTestNGCitrusTest.java:70) ~[citrus-core-2.6.jar:?]
        at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:209) ~[testng-6.9.10.jar:?]
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:639) ~[testng-6.9.10.jar:?]
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:820) ~[testng-6.9.10.jar:?]
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128) ~[testng-6.9.10.jar:?]
        at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) ~[testng-6.9.10.jar:?]
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) ~[testng-6.9.10.jar:?]
        at org.testng.TestRunner.privateRun(TestRunner.java:782) ~[testng-6.9.10.jar:?]
        at org.testng.TestRunner.run(TestRunner.java:632) ~[testng-6.9.10.jar:?]
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:366) ~[testng-6.9.10.jar:?]
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361) ~[testng-6.9.10.jar:?]
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319) ~[testng-6.9.10.jar:?]
        at org.testng.SuiteRunner.run(SuiteRunner.java:268) ~[testng-6.9.10.jar:?]
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) ~[testng-6.9.10.jar:?]
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) ~[testng-6.9.10.jar:?]
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244) ~[testng-6.9.10.jar:?]
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1169) ~[testng-6.9.10.jar:?]
        at org.testng.TestNG.run(TestNG.java:1064) ~[testng-6.9.10.jar:?]
        at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:132) ~[surefire-testng-2.19.jar:2.19]
        at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:134) ~[surefire-testng-2.19.jar:2.19]
        at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:118) ~[surefire-testng-2.19.jar:2.19]
        at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146) ~[surefire-testng-2.19.jar:2.19]
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:286) ~[surefire-booter-2.19.jar:2.19]
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:240) ~[surefire-booter-2.19.jar:2.19]
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121) ~[surefire-booter-2.19.jar:2.19]
INFO  2016-10-13 17:33:00,287 [main] com.consol.citrus.Citrus: ------------------------------------------------------------------------
INFO  2016-10-13 17:33:00,287 [main] com.consol.citrus.Citrus:
INFO  2016-10-13 17:33:00,476 [main] com.consol.citrus.Citrus:
INFO  2016-10-13 17:33:00,476 [main] com.consol.citrus.Citrus: -------------------------------
4

1 回答 1

0

您在发送操作中使用动态端点,它会动态创建端点。不幸的是,这个机制目前不支持安全的 http。

相反,您应该将 http 客户端端点组件添加到 Citrus 配置中,并通过引用在发送操作中使用此静态端点。

您可以关注此示例项目:https ://github.com/christophd/citrus-samples/tree/master/sample-https

于 2016-10-14T06:14:51.287 回答