问题标签 [citrus-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
665 浏览

json - 从响应中提取和解组 JSON 有效负载

我正在尝试为生产和消费application/json内容的 RESTful 端点编写 Citrus 测试,但我不确定如何将我的响应解组到 Java POJO(使用 Jackson 或任何(un)marshaller Citrus 支持的东西)。

例如,在 REST-assured 中,我可以简单地写

柑橘中是否有等价物?

我只能找到使用validate()or的示例extractFromPayload(),这些示例并没有真正涵盖我的用例,因为我不想对标量成员进行操作,而是将整个响应对象嵌入到请求对象中以供后续测试步骤使用。

0 投票
1 回答
246 浏览

asp.net-core - 是否可以使用 Citrus 集成测试框架来测试 ASP.Net 核心应用程序

我有一个 ASP.net 核心 Web 应用程序,并希望使用 Citrus 框架进行集成测试。所有文档资源都说它适用于 JAVA 应用程序。即使是基于 XML 的测试演示也需要 Java 可执行测试类才能运行。首先这有可能实现吗?其次,如果可能的话,有人可以指导我采取正确的步骤来实现这一目标。提前致谢。

0 投票
1 回答
281 浏览

citrus-framework - Citrus 框架验证字节数组

我想接收一个字节数组并进行一些基本验证(转换为字符串和拆分等)。

我是否必须定义消息验证器或验证脚本?最好的方法是什么?

有样品吗?

谢谢!

0 投票
2 回答
403 浏览

citrus-framework - INSERT 语句不适用于 Citrus 集成框架

我们已经开始使用 citrus 集成框架进行 API 测试。我正在尝试在 oracle 数据库上运行 SQL INSERT 查询。

如果我们运行带有 select 关键字的 SQL,它就可以正常工作,但是如果我们想插入数据,它会抛出空指针 exception.stack trace 下面。可以请一些建议。

com.consol.citrus.exceptions.TestCaseFailedException:测试用例失败

引起:com.consol.citrus.exceptions.CitrusRuntimeException:语句中缺少关键字 SELECT:INSERT INTO CN_RATE_EXHIBIT (ID,RATE_EXHIBIT_CODE,DS,DSL,STATUS,RECIPROCAL_IND,START_DATE,END_DATE,TERM_REASON) 值 (seqCN_RATE_EXHIBIT.nextval,'Citrus_Inte_RE_Code' ,'Citrus_Inte_RE_Code_DS','Citrus_Inte_RE_CodeDSL',null,'Y',to_date('01-JUN-16','DD-MON-RR'),to_date('01-JAN-4000','DD-MON-RR '),'O') 在 com.consol.citrus.actions.ExecuteSQLQueryAction.validateSqlStatement(ExecuteSQLQueryAction.java:266) 在 com.consol.citrus.actions.ExecuteSQLQueryAction.doExecute(ExecuteSQLQueryAction.java:84) 在 com.consol。 citrus.actions.AbstractDatabaseConnectingTestAction.execute(AbstractDatabaseConnectingTestAction.java:62) 在 com.consol.citrus.TestCase.executeAction(TestCase.爪哇:214)

0 投票
1 回答
365 浏览

citrus-framework - 柑橘框架中的 Https 支持

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

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

0 投票
1 回答
1005 浏览

java - 如何转换从柑橘框架中的有效负载中提取的变量?

我正在使用Citrus Framework创建 IT 测试。我对服务器有两个调用,一个用于创建用户,另一个用于对该用户执行某些操作。

问题:我需要创建用户请求中的一个不是字符串的值,以将其放入第二次调用的请求中。值的提取:

然后这个someId必须用于构建下一个请求。如果它是一个字符串,它将是:

但它是一个 Long,所以强制转换不起作用(Citrus 稍后解析该值,并且 Long#valueOf 在那一刻执行):

有什么方法可以轻松地转换该变量(可能在提取时)?

我设法使用 JavaAction 来完成它,但经常使用它非常奇怪(需要 3 行代码和一个新方法)。它是这样的:

0 投票
1 回答
357 浏览

java - 如何使用 citrus 在同一个端口上运行两个具有不同 URL 的模拟 Web 服务?

我正在研究 Citrus 框架,以便在我的项目的测试自动化中使用它。我想运行两个 Web 服务,我们命名它:

然后调用我的 SUT(被测系统)。SUT 将同步调用上述两个模拟服务(service1 和 service2)并返回答案。

我已经设法做到了,但是在不同的端口上:

我需要它在同一个端口上。我还尝试编写自定义 DispatchingEndpointAdapter 并以某种方式从请求消息中提取上下文路径,但没有成功..

我在 com.citrus.message.Message 类型的请求参数中找不到 URL。

您如何在 Citrus Framework 中的同一端口上运行两个模拟服务?我想通过 URL 来区分它们,而不是有效负载本身......(通过 peyload 使用上面的自定义 MappingKeyExtractor 很容易,因为 Message 对象包含有效负载)

请帮忙!我不敢相信 Citrus 框架设计得如此糟糕以至于错过了这样一个基本的测试要求。

0 投票
1 回答
291 浏览

java - 我可以在 Citrus 静态响应适配器有效负载中使用 Citrus 变量吗?

我正在使用静态响应端点适配器返回从资源文件中获取的模拟服务响应:

文件 templates/helloResponses/ReqIdGenerator.xml 内容是:

我认为应该用它的当前值替换该变量。我错了吗?是否有内置机制来支持 Citrus 端点响应中的变量?

0 投票
2 回答
885 浏览

asynchronous - Citrus 框架异步 HTTP 测试场景

我有异步测试场景。我调用我的 SUT(被测系统)并返回确认响应。接下来异步返回正确的响应。我将我的模拟服务器配置为指定接收回调响应,如下所示:

然后我使用 Java DSL 代码,它应该在回调中接收预期的有效负载

但是在执行测试时出现这样的异常:

我应该如何配置 Citrus HTTP Mock Server 以在异步测试场景中接收回调请求(并使用预期的请求有效负载对其进行验证)?

0 投票
1 回答
75 浏览

testing - 柑橘框架航班预订

我正在尝试使用 CitursFramwork 实现 Flightbooking-sample,链接是: https ://github.com/christophd/citrus-samples/tree/master/sample-flightbooking

而且我对框架还是新手,我做的步骤是(使用mac os):

1-运行activemq

2-运行码头:从 sample-bakery 运行。

3-使用 intllijIdea 打开 sample-bakery 并运行测试用例。每次我的测试用例失败时,我都会得到以下信息:

4-我试图更改超时但我仍然得到同样的错误。

请任何人都可以向我解释什么是超时,我的步骤哪里出了问题?

注意:只有一次使用终端测试用例通过: