Skip to main content

项目介绍

此扩展包通过读取yaml文件配置接口请求参数 通过GET、POST方法获取接口返回值并断言

安装和使用

安装命令如下:
pip install ytApiTest
支持功能如下:
  • 支持 GET 请求

  • 支持 POST 请求

  • 支持 yaml文件内请求参数或断言数据使用JOSNPATH 语法获取接口返回值

  • 支持 断言接口返回值,字段某部分或某个键值对是否存在返回值中

  • 支持 断言接口返回值所有字段是否与断言值相等

  • 支持 断言失败发送对应错误接口信息到钉钉群

  • 支持 用例前置、后置操作

  • 支持 对用例指定用户做请求。

使用:
  • 使用扩展包项目根目录下必须新建.yaml文件管理测试用例数据

  • .yaml文件必须遵循以下格式并包含以下关键字

YAML文件用例支持关键字:
 DING_TALK_URL:钉钉群机器人url此项必须配置
 OBJECT_HOST: 项目host,可配置多个不同host例:OBJECT_HOST:
                                                   host_key: host



interface_name(你接口名称,可自己命名):
                            url(接口路径,此关键字必须包含): 值可为空
                            assert_key(断言key,可自己命名):
                                                des(此关键字必须包含): 用例说明,值可为空,用于断言错误时展示
                                                req_data(此关键字必须包含): 接口请求参数,值可为空
                                                ast_data(此关键字必须包含): 接口断言值,值可为空
                                                json_expr(此关键值必须包含): 返回查找路径,值可为空
                                                setup:用例前置操作,以列表形式保存对应接口请求参数,支持传入interface_name,assert_key,host_key
                                                teardown:以列表形式保存对应接口请求参数,支持传入interface_name,assert_key,host_key
  • .yaml文件内使用JSONPATH语法示例

interface_name:
                url:
                assert_key:
                            des:
                            req_data:
                                        key: $.interface_name.data.XXX
                            ast_data:
                                        key: $.interface_name.data.XXX

                            json_expr: $.interface_name.data.XXX
                            setup: [{interface_name:interface_name,assert_key:assert_key,host_key:host:key},{...}]
                            teardown: [{interface_name:interface_name,assert_key:assert_key,host_key:host:key},{...}]

方法说明及使用示例

#POST 请求
import ytApiTest
#读取.yaml文件内对应的接口值并发送post请求到后台,返回response对象
response = ytApiTest.post(interface_name,assert_key)
#参数说明:interface_name(.yaml你接口名称),assert_key(.yaml文件内与接口对应的assert_key值)
#GET 请求
import ytApiTest
#读取.yaml文件内对应的接口值并发送get请求到后台,返回response对象
response = ytApiTest.get(interface_name,assert_key)
#参数说明:interface_name(.yaml你接口名称),assert_key(.yaml文件内与接口对应的assert_key值)
#获取接口断言数据
import ytApiTest
#读取.yaml文件内对应的接口值并发送post请求到后台,返回response对象
response = ytApiTest.get_interface_case_assert_data(interface_name,assert_key)
#参数说明:interface_name(.yaml你接口名称),assert_key(.yaml文件内与接口对应的assert_key值)
#获取接口请求数据
import ytApiTest
#读取.yaml文件内对应的接口值并发送post请求到后台,返回response对象
response = ytApiTest.get_interface_request_data(interface_name,assert_key)
#参数说明:interface_name(.yaml你接口名称),assert_key(.yaml文件内与接口对应的assert_key值)
#获取接口完整URL
import ytApiTest
#读取.yaml文件内对应的接口值并发送post请求到后台,返回response对象
response = ytApiTest.get_interface_url(interface_name,assert_key)
#参数说明:interface_name(.yaml你接口名称),assert_key(.yaml文件内与接口对应的assert_key值)
#执行相等断言方法
import ytApiTest
#读取.yaml文件内对应的接口值并发送post请求到后台,返回response对象
ytApiTest.assert_body_eq_assert_value(response,assert_value,json_expr)
#参数说明:response(接口返回response对象),assert_value(.yaml文件内断言值),json_expr(.yaml文件内json_expr值)
#断言返回值中URL状态是否为200方法
import ytApiTest
#读取.yaml文件内对应的接口值并发送post请求到后台,返回response对象
ytApiTest.assert_response_url_status(response)
#参数说明:response(接口返回response对象)
#修改请求参数
import ytApiTest
#读取.yaml文件内对应的接口值并发送post请求到后台,返回response对象
ytApiTest.update_case_req_data(interface_key=None, assert_key=None,new_request_data=None)
参数:interface_key=接口名称, assert_key=断言值,req_data=请求字典

Release files for ytApiTest 1.0.53

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ytApiTest 1.0.53
File Size Uploaded
ytApiTest-1.0.53.tar.gz 13.5 kB Details

Release files / ytApiTest-1.0.53.tar.gz

Download URL ytApiTest-1.0.53.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
93749b67ee31dda655bb9b5067c2ac62b416c24f47f16c8c8a58100b0972a4a3
BLAKE2b-256 checksum
How to use checksums
57f9c7e247a613b922645dff6ca7e0e7c2bbcee63c3d9cb804849ff037f83b31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.4rc1

Release history Release notifications | RSS feed

This release

1.0.53 This release

1 release file

1.0.52

1 release file

1.0.51

1 release file

1.0.50

1 release file

1.0.49

1 release file

1.0.48

1 release file

1.0.46

1 release file

1.0.45

1 release file

1.0.41

1 release file

1.0.39

1 release file

1.0.38

1 release file

1.0.37

1 release file

1.0.36

1 release file

1.0.35

1 release file

1.0.34

1 release file

1.0.33

1 release file

1.0.32

1 release file

1.0.31

1 release file

1.0.30

1 release file

1.0.29

1 release file

1.0.28

1 release file

1.0.27

1 release file

1.0.26

1 release file

1.0.25

1 release file

1.0.24

1 release file

1.0.23

1 release file

1.0.22

1 release file

1.0.19

1 release file

1.0.18

1 release file

1.0.17

1 release file

1.0.16

1 release file

1.0.15

1 release file

1.0.14

1 release file

1.0.13

1 release file

1.0.12

1 release file

1.0.11

1 release file

1.0.10

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page