在其他fitnesse灯具中使用let created变量

时间:2016-03-01 14:58:38

标签: testing fitnesse

我在使用 let 创建的变量时遇到问题。 我使用RestFixture从http位置获取/发布,我确实希望在另一个装置中使用此答案:

  1. 我通过邮件
  2. 获取数据
  3. 使用 let
  4. 将body保存为变量
  5. 在评论行中打印我的变量,看看它是否真的有用
  6. |!-CustomRestFixture-!| http://addres | CONFIG |
    | setHeader | Content-Type:application / json |
    | setBody | {某些JSON身体} |
    | POST | | 200 | Content-Type:text / plain | |
    | let | myvariable | body | // * | |
    |评论|这是我的变量:%myvariable%|

    1. 然后我想在另一个(定制)夹具中使用它来比较两个字符串(第二个夹具在同一个测试页面内):
    2. |!DecTable |
      |我的第一个值|我的第二个值|是否相等?|
      | aaa | aaa | true |
      |%myvariable%| anything | ture |

      1. 我注意到的是我的变量在RestFixture中的任何其他地方都无效。我不能再通过,但它假设是全球性的
      2. 有没有解决方法呢?提前致谢

2 个答案:

答案 0 :(得分:0)

我不知道RestFixture的let关键字的具体细节。但您可以使用决策/脚本表中的standard Slim approach to define 'symbols'来使用变量。然后可以在任何夹具中使用这些符号。

使用my fixture library,您可以合并(Json) Http TestCompare 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

找到一些非常好的例子