我在使用 let 创建的变量时遇到问题。 我使用RestFixture从http位置获取/发布,我确实希望在另一个装置中使用此答案:
|!-CustomRestFixture-!| http://addres | CONFIG |
| setHeader | Content-Type:application / json |
| setBody | {某些JSON身体} |
| POST | | 200 | Content-Type:text / plain | |
| let | myvariable | body | // * | |
|评论|这是我的变量:%myvariable%|
|!DecTable |
|我的第一个值|我的第二个值|是否相等?|
| aaa | aaa | true |
|%myvariable%| anything | ture |
有没有解决方法呢?提前致谢
答案 0 :(得分:0)
我不知道RestFixture的let
关键字的具体细节。但您可以使用决策/脚本表中的standard Slim approach to define 'symbols'来使用变量。然后可以在任何夹具中使用这些符号。
使用my fixture library,您可以合并(Json) Http Test和Compare Fixture来实现您所描述的内容。
答案 1 :(得分:0)
标签是全局的,可以在其他夹具实例之间共享。
但是,如果您想在自己的自定义灯具中使用标签,可以将数据保存到下面的变量中,并在任何其他自定义灯具中使用
|let|card_number1|js |response.jsonbody.card.number|$card=|
这会将卡号保存到全局可在其他表中使用的变量
我想提醒你的一点是,你不必编写一个单独的灯具来比较来自其他灯具的响应。如果您有json响应,则可以使用response.jsonbody.element1访问响应的内容;如果您有xml响应,则可以使用/ root / element1 / text()访问响应的内容。因此,在终点发布请求和验证都可以在1中完成。一个例子如下
|Table: RestFixture|${protocol}://${baseuri}:${port}/${resource_path}|longtimeoutconfig |
|setBody |$req0 |
|setHeader |Content-Type: application/json |
|POST | |200| | |
|let |amount1 |js |response.jsonbody.amount |${amount} |
可以在https://cloud.github.com/downloads/smartrics/RestFixture/RestFixture-3.0.pdf
找到一些非常好的例子