跳转到主要内容

实现所有API v2的TestRail客户端。

项目描述

BestDoctor的TestRail客户端

Build Status Maintainability Test Coverage PyPI version PyPI - Python Version

实现了API v2,用于TestRail

安装

pip install best_testrail_client

先决条件

  1. 在您的TestRail项目中启用了API。

    Enable TestRail API

  2. 生成了API密钥。

    Generate API key

用法

from best_testrail_client.client import TestRailClient
from best_testrail_client.enums import BaseResultStatus
from best_testrail_client.models.result import Result
from best_testrail_client.models.run import Run

# Client initialization
project_url = 'https://<YOUR_PROJECT>.testrail.io/'  # or other URL for self-hosted
login = '<account email>'
api_token = '<generated API token>'

client = TestRailClient(project_url, login, api_token)

# Create Test Run
new_run = Run(
    name='Test Run from API',
    include_all=False,
    case_ids=[1, 2, 3],
)
created_run = client.runs.add_run(run=new_run, project_id=1)

# You can set global Project ID
client.set_project_id(project_id=2)

# Add results for run
results = [
    Result(status_id=BaseResultStatus.PASSED.value, case_id=1, comment='Passed test'),
    Result(status_id=BaseResultStatus.FAILED.value, case_id=2, comment='Failed test'),
    Result(status_id=6, case_id=3, comment='Waiting test'),  # Custom status
]
client.results.add_results_for_cases(run_id=created_run.id, results=results)

# Close run
client.runs.close_run(run_id=created_run.id)

自定义属性

自定义属性存储在模型的custom字典属性中。它存储所有来自API的数据并将其转换回来。

from best_testrail_client.client import TestRailClient

# Client initialization
project_url = 'https://<YOUR_PROJECT>.testrail.io/'  # or other URL for self-hosted
login = '<account email>'
api_token = '<generated API token>'

client = TestRailClient(project_url, login, api_token)

created_run = client.runs.get_run(run_id=1)

"""
API response looks like:

{
    ...
    'refs': 'SAN-1',
    'custom_status1_count': 0,
    'custom_status2_count': 0,
    'custom_status3_count': 0,
    'custom_status4_count': 0,
    'custom_status5_count': 0,
    'custom_status6_count': 0,
    'custom_status7_count': 0,
    'description': null,
    ...
}

It is now stored in custom attribute:
created_run.custom == {
    'custom_status1_count': 0,
    'custom_status2_count': 0,
    'custom_status3_count': 0,
    'custom_status4_count': 0,
    'custom_status5_count': 0,
    'custom_status6_count': 0,
    'custom_status7_count': 0,
}
"""

贡献

我们非常欢迎您为我们的项目做出贡献。这很简单

  1. 创建一个包含您发现的bug或您的建议的问题。等待维护者的批准。
  2. 创建一个pull request。确保所有检查都为绿色。
  3. 如有任何审查评论,请修复。
  4. 保持出色。

以下是一些有用的提示

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

best_testrail_client-0.0.3.tar.gz (21.0 kB 查看哈希值)

上传时间