首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在“expect”中不可用的“捕获”获得的Artillery.io值

在“expect”中不可用的“捕获”获得的Artillery.io值
EN

Stack Overflow用户
提问于 2018-12-02 21:58:02
回答 1查看 1.7K关注 0票数 2

我对artillery.io非常陌生,我遇到了一个问题。我希望从JSON响应中获得一个值,并检查它的'expect‘子句,所以我这样做:

代码语言:javascript
复制
config:
  target: 'https://api.duckduckgo.com'
  plugins:
      expect: {}
  phases:
    - duration: 1
      arrivalRate: 1
scenarios:
   - flow:
      - get:
          url: "/?q=cao&format=json"
          capture:
            - json: $RelatedTopics[0].FirstURL
              as: url
          expect:
            - statusCode: 200
            - equals:
              - "{{ url }}"
              - "https://duckduckgo.com/209/Cao_Wei"
      - log: "url is {{ url }}"

然后我就这样叫炮兵:

代码语言:javascript
复制
artillery run duck.yml

然后我得到了这样的东西:

代码语言:javascript
复制
User variables:
     target : https://api.duckduckgo.com
     $environment : undefined
     $uuid : 0774da00-b6e6-415c-bd28-0ff4bedd07ec
  not ok equals , https://duckduckgo.com/209/Cao_Wei 
  expected: all values to be equal
       got: , https://duckduckgo.com/209/Cao_Wei
  Request params:
    https://api.duckduckgo.com/?q=cao&format=json
    ""

我省略了其余的输出,因为它太大了。在我看来,当它说“looks等于,Wei”时,我的url变量是未定义的。

在像“JSONPath”这样的引号上使用$RelatedTopics.FirstURL也会带来同样的问题。

我安装了expect (https://artillery.io/docs/plugin-expectations-assertions/)插件如下:

代码语言:javascript
复制
npm install -g artillery-plugin-expect

拜托,我在这里少了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-12-20 17:16:23

如果升级到插件的最新版本(1.2.1),早期版本在涉及捕获变量的equals比较中有一个错误(参考:https://github.com/artilleryio/artillery-plugin-expect/pull/4),那么问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53584995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档