51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2718|回复: 1
打印 上一主题 下一主题

[转贴] HttpRunner 跳过用例、录制生成用例、用例分层机制

[复制链接]
  • TA的每日心情
    擦汗
    4 天前
  • 签到天数: 1027 天

    连续签到: 2 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-6-3 09:31:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    跳过用例
      使用场景:
      1.依赖[url=]测试[/url],如微信公众号平台中接口,需要token值才能执行,当未获取到时就不执行。
      2.开发在修改接口问题时,即可跳过该用例。
      3.未完成的[url=]测试用例[/url]编写,需要执行时,也可使用。
      相应方法:
      skip:无条件跳过用例。
      skipIf:条件为真时跳过测试用例,如true,0,非空。
      skipUnless:条件为假时跳过测试用例,如false,0,空。
      实践:
    - config:
        name: "获取token -- 用户管理~查看粉丝基本信息操作"
        base_url: "https://api.weixin.qq.com"

    - test:
        name: "获取token_value"
        request:
          url: "/cgi-bin/token"
          method: GET
          params:
            grant_type: "client_credential"
            appid: "wxec83eaada223a9c8"
            secret: "1867d7f1cabb3bafae0b7304e8251a09"
        extract:
          - tokenid: content.access_token
        validate:
          - eq: ["status_code",200]
          - eq: [content.expires_in, 7200]

    - test:
        name: "查看粉丝基本信息"
        skipUnless: $tokenid     #上面的tokenid截取到了,这里就会执行,未截取到将不执行
        request:
          url: "/cgi-bin/user/info"
          method: GET
          params:
            access_token: $tokenid
            openid: "od-53v0GMqGTEiPY-QC549RTXkCk"
            lang: zh_CN
        validate:
          - eq: [content.language,zh_CN]


      录制生成用例
      操作步骤:
      1、使用fiddler抓包,然后Flie->Export Sessions->Selected session(选择HTTP Archive v1.1类型)。
      2、在pycharm终端命令,cd到所在目录。
      3、执行命令:har2case xx.har  xx.yml
      用例分层机制
      1.api(底层API编写)
    name: "get access token"
    base_url: ${ENV(URL)}
    request:
      url: "/cgi-bin/token"
      method: "GET"
      params:
        grant_type: "client_credential"
        appid: "wxec83eaada223a9c8"
        secret: "1867d7f1cabb3bafae0b7304e8251a09"
    validate:
      - eq: ["status_code",200]


      2.testcases(中间用例层)
    - config:
        name: "验证能否正确获取token"

    - test:
        name: "step01: 执行get_access_token接口"
        api: case_hierarchy\api\get_access_token.yml
        validate:
          - eq: [content.expires_in,7200]


      3.testsuites(测试套件层)
    config:
      name: "测试套件"

    testcases:
      - name: "hrun testcase_get_access_token"
        testcase: case_hierarchy\testcases\testcase_get_access_token.yml


      备注:第二层测试用例层除了可以调用接口层的api层接口定义yml文件外,还可以调用其它测试用例执行。
      简单示例:
    config:
      name: "测试套件"

    testcases:
      - name: "hrun testcase_get_access_token"
        testcase: case_hierarchy\testcases\testcase_get_access_token.yml



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情

    2021-1-20 16:50
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
    发表于 2022-5-15 16:56:01 | 只看该作者
    这个是HttpRunner2.0的吧。我看3.0已经不支持跳过了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-10-4 01:24 , Processed in 0.079381 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表