【PyRestTest】基本测试集编写语法

测试用例文档通过YAML格式编写,所以文档会遵守YAML格式要求。在测试集文件中有5个顶级测试元素:

  • url: 一个简单接口请求,通过获取的url来验证GET请求并检验请求的状态码(200)。
  • test: 一个全量测试定义
  • benchmark: 一个全量的benchmark定义
  • config or configuration: 用于调整的默认测试选项至。
  • import: 可以导入其他测试文件,不需要重新编写相同文件。

Import 语法示例

---
# Will load the test sets from miniapp-test.yaml and run them
# Note that this will run AFTER the current test set is executed
# Also note that imported tests get a new Context: any variables defined will be lost between test sets
- import: examples/miniapp-test.yaml

导入操作更倾向于顶层的测试组件,该组件可以运行在多数独立、完全隔离的测试集中。只要不依赖变量来存储这些信息,它们也可以用于创建示例数据或执行清理。例如:一个创建用户的测试场景,该测试场景依赖用户ID,然而用户ID在开始需要通过查询的API来获取,就可以在创建用户的测试文件中,导入查询用户ID接口文件。

url、config、test语法示例

一个简单的URL测试等同于对该URL进行一个简单的GET请求测试。

---
- config:
    - testset: "Basic tests"
    - timeout: 1
- url: "/api/person/"  # This is a simple test
- test: 
    - url: "/api/person/"  # This does the same thing

上述示例文件:

  • 使用顶级元素config
    • testset:设置测试集的名称
    • timeout:设置超时时间,如果不指定该值,默认数值为10
  • 使用顶级元素url:指定测试的url接口,默认对接口进行get请求,并对响应状态码进行验证。
  • 使用test:
    • url:执行测试的url,当前示例功能与顶级url完成同样功能。

自定义HTTP选项

作为更高一级的测试用例(如:SSL),有时想使用自定义的Curl设置(该设置在PyRestTest中没有相关选项)。

如果想完成当前需求:在每次测试时,需要指定自定义Curl参数,该参数格式如下:curl_option_optionname,optionname是大小写敏感,该optionname是使用Curl Easy Option中去掉CURLOPT_之后的小写字母。例如:使用重定向次数最大为5的选项 (CURLOPT_FOLLOWLOCATION 、 CURLOPT_MAXREDIRS):

---
- test: 
    - url: "/api/person/1"
    - curl_option_followlocation: True
    - curl_option_maxredirs: 5  

PS**:只对optionname进行验证,不对它们的值进行验证。**

语法限制

  • 只要可能,YAML配置处理程序都会根据需要尝试转换变量类型。
  • 只有少数元素可以使用动态变量(url、header、request body、validator)
  • 模板非常有限(它只是进行简单的字符串替换)。
  • 一个警告:如果在同一个层级中同一个元素(例如URL)定义了两次,将使用最后一个值。
  • 不支持请求/响应上的“for-each”

相关推荐

  1. PyRestTest基本测试编写语法

    2024-01-31 22:06:02       41 阅读
  2. PyRestTest】进行Benchmarking测试

    2024-01-31 22:06:02       30 阅读
  3. c#编程基础学习之基本语句

    2024-01-31 22:06:02       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-31 22:06:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-31 22:06:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-31 22:06:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-31 22:06:02       20 阅读

热门阅读

  1. C++ 模板

    2024-01-31 22:06:02       29 阅读
  2. Redis的哨兵模式

    2024-01-31 22:06:02       26 阅读
  3. 防抖,节流

    2024-01-31 22:06:02       32 阅读
  4. 5GNR解调分析手持式频谱分析仪

    2024-01-31 22:06:02       33 阅读
  5. Python面向对象

    2024-01-31 22:06:02       44 阅读
  6. QT基础篇(20)QT Quick Controls2新颖界面开发

    2024-01-31 22:06:02       27 阅读
  7. 回想起研发之路

    2024-01-31 22:06:02       33 阅读