您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    测试高手进阶之路:接口测试用好“变量”,重复验证也不怕
    时间:2020-09-18 21:38 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    在API的测试中,有时分需求是对整个文件停止检验而不是某个特定的值,或许说要对某个特定的值在不同的用例中重复地停止验证。这种状况下,我们最喜欢用的就是变量。可以存取外部数据或定义外部变量,使代码变得繁复、又有可阅读性,同时测试用例结果运转也能保持分歧性。

    学习要点

    ·如何读取外部文件并停止文件内容的准确比照

    ·如何读取外部文件并停止文件内容的模糊比照

    ·运用变量验证某个特定的value能否出现

    ·运用变量验证某个特定的key能否出现

    示例中get url: https://reqres.in/api/users/2

    预备任务

    假设您想跟着以下示例操作,需求做好以下配置:

    ·测试框架: Java + Karate + Junit 5

    ·言语: Java, Cucumber

    ·IDE: Intellij IDEA

    ·项目类型: Maven

    创立测试场景

    1.创立feature文件: testvar-use.feature

    测试高手进阶之路:接口测试用好“变量”,重复验证也不怕

    2.创立用例

    用例一:读取外部文件并停止文件内容的准确比照

    如下图中测试场景:用例中发送了一个get的央求以后,等候回应的代码是200,并列出相应的结果。代码And match response == compareResponse 检验前往的结果与等候的结果能否分歧 。在Background中代码:* def compareResponse = read('classpath:src/test/resource/comparedContent.json') 定义了变量compareResponse 是读取的文件comparedContent.json的内容。(注:* 符号实践上可以换作 Given, 读取文件的途径: classpath)

    测试高手进阶之路:接口测试用好“变量”,重复验证也不怕

    如下图所示:comparedContent.json 内容是与 get央求前往的结果分歧的。(注: json文件内容格式一定要正确,否则会出现读取文件错误的信息,参看常见错误)

    用例二:读取外部文件并停止文件内容的模糊比照

    代码And match response == compareResponseIgnoreValue检验前往的结果与等候的结果能否分歧 。在Background中定义变量compareResponseIgnoreValue是读取的文件comparedContentIgnoreValue.json。与上例中所不同的是等候文件内容并不完全与前往的相分歧。

    测试高手进阶之路:接口测试用好“变量”,重复验证也不怕

    在comparedContentIgnoreValue.json 中,与上一个用例比照,这里可以看到 "text": 的值换成了"#ignore",当停止比照时,这个字段的内容会疏忽。

    测试高手进阶之路:接口测试用好“变量”,重复验证也不怕

    用例三:运用变量验证某个特定的value能否出现

    在用例一、用例二中,同时出现了代码:And match response.ad.url == adUrl , 这里的adUrl 实践就是Background 中自定义变量 * def adUrl = 'http://statuscode.org/' 。

    用例四:运用变量验证某个特定的key能否出现

    在下面的场景中,代码And match response.ad.text != null 验证了前往结果中ad下text 字段必须存在。

    下面两行代码先定义了一个变量notPresentedKey 并且赋予对应的ad下keyNull的字段,然后再验证notPresentedKey 不存在。这里的变量是必需的,否则会出现找不到途径错误。(参看常见错误)

    这个变量不能放在Background 在本示例中,由于response是发送get央求以后前往的结果,假设放在Background中,response 还没有前往,援用就会有错。(参看常见错误)

    * def notPresentedKey = response.ad.keyNull

    And match notPresentedKey == null

    常见错误

    1.文件读取

    用例一,用例二中,当json文件内容格式不正确时,就会现如下运转错误:

    测试高手进阶之路:接口测试用好“变量”,重复验证也不怕

    2.不运用变量验证不存在的字段

    在用例四中,假设直接用And match response.ad.keyNull == null, 会出现如下错误信息,这是由于在验证的时分,会先寻觅对应的途径 ad.keyNull, 在前往的结果中是不存在ad.keyNull字段的。)

    3.在Background中提早援用response

    (责任编辑:admin)