رفتن به محتوای اصلی
فهرست مستندات
شروع کار با TestRail API

دسترسی به TestRail API

به‌روزرسانی ۳ دقیقه مطالعه TestRail

فهرست مطالب
  1. Authentication
  2. Username و Password
  3. Username و API Key
  4. مخزن اسکریپت‌های API
  5. نمونه request نوع GET
  6. نمونه request نوع POST
  7. نمونه upload کردن attachment

TestRail_API (Navy Logo).png

TestRail API بر پایه HTTP است و می‌توانید با requestهای ساده HTTP با آن کار کنید. همه requestهای نوشتنی باید از متد HTTP POST استفاده کنند و همه requestهای خواندنی باید از متد HTTP GET استفاده کنند. داده‌ها با فرمت JSON و encoding نوع UTF-۸ منتقل می‌شوند.

Authentication

TestRail برای API انتظار دارد credentialهای authentication از طریق HTTP basic authentication استاندارد ارسال شوند. برای authentication درخواست‌های API در TestRail دو روش وجود دارد.

Username و Password

برای authentication در API، می‌توانید username استاندارد TestRail خود را (که معمولا email شماست) همراه با password TestRail ارسال کنید. این اطلاعات باید از طریق HTTP basic authentication فرستاده شوند.

بسته به configuration احراز هویت TestRail، password شما ممکن است همان password معمول Active Directory یا LDAP باشد (این موضوع به نحوه configuration TestRail بستگی دارد؛ برای اطلاعات بیشتر راهنمای Authentication را ببینید). اگر مطمئن نیستید نصب TestRail شما از کدام گزینه استفاده می‌کند، از مدیر TestRail خود بپرسید.

$ curl -H "Content-Type: application/json" \ 
  -u "user@example.com:{some-password}" \
  ..

 

هنگام وارد کردن password، فراموش نکنید curly braceها را حذف کنید.

header تعریف می‌شود و از -H tag شروع می‌شود و در دومین \ بعد از credentialهای کاربر پایان می‌یابد.

Username و API Key

در روش دیگر، TestRail از API key هم پشتیبانی می‌کند. API keyها را می‌توانید در TestRail از مسیر My Settings بسازید. با API key همچنان از HTTP basic authentication استفاده می‌کنید و همچنان username TestRail خود را (مثلا email) می‌فرستید؛ فقط password را با یکی از API keyهای ساخته‌شده و active جایگزین می‌کنید. می‌توانید برای سیستم‌ها یا ابزارهای third-party مختلف چند API key بسازید و هر زمان خواستید با حذف API key از مسیر My Settings دسترسی را revoke کنید.

$ curl -H "Content-Type: application/json" \
  -u "user@example.com:{api key}" \
  ..

 

اگر instance اختصاصی TestRail را روی سرور خودتان نگهداری می‌کنید، توصیه می‌شود HTTPS را برای نصب TestRail فعال کنید چون استفاده از API نیاز دارد username و password TestRail شما ارسال شود. برای اکانت‌های TestRail Hosted که توسط Gurock نگهداری می‌شوند، همه اکانت‌ها به‌صورت خودکار از HTTPS استفاده می‌کنند.

مخزن اسکریپت‌های API

نمونه API scriptها در repository عمومی GitHub ما موجود است. ممکن است scriptی پیدا کنید که همین حالا نیاز شما را برطرف کند یا فقط به چند تغییر ساده نیاز داشته باشد. لطفا به repository سفارشی‌سازی‌های TestRail در GitHub مراجعه کنید.

همچنین از همه کاربران استقبال می‌کنیم scriptهای خود را به این repository ارسال کنند، اگر این scriptها می‌توانند برای کاربران دیگر مفید باشند.

نمونه request نوع GET

مثال زیر یک request ساده برای خواندن یک test case را نشان می‌دهد. در این مثال برای ارسال request از ابزار CLI به نام cURL استفاده می‌کنیم، اما هر ابزار یا library مبتنی بر HTTP هم کار می‌کند. توجه کنید که همه usernameها، passwordها و URLها فقط نمونه هستند.

$ curl -H "Content-Type: application/json" \
  -u "user@example.com:APIkey" \
  "https://example.testrail.com/index.php?/api/v2/get_case/1"

اجزای این request با جزئیات:

بخش توضیح
“Content-Type: application/json” یک header الزامی
https://example.testrail.com/ آدرس سرور
index.php?/api/v2/ مسیر TestRail API
get_case متد API که فراخوانی می‌شود
/1 یک argument برای متد API

request و response واقعی HTTP به شکل زیر است (ساده‌سازی شده):

GET /index.php?/api/v2/get_case/1 HTTP/1.1
Host: example.testrail.com
Content-Type: application/json
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id":1,
  "title":"An example test case"
  ..
}

نمونه request نوع POST

request زیر یک درخواست نوشتنی ساده برای ثبت نتیجه تست را نشان می‌دهد:

$ curl -H "Content-Type: application/json" \
  -u "user@example.com:" \
  -d '{ "status_id": 1 }' \
  "https://example.testrail.com//index.php?/api/v2/add_result/1"

request و response به شکل زیر است (ساده‌سازی شده):

POST /index.php?/api/v2/add_result/1 HTTP/1.1
Host: example.testrail.com
Content-Type: application/json

{ "status_id": 1 }
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id":1,
  "test_id":1,
  "status_id":1
  ..
}

نمونه upload کردن attachment

 

برای upload کردن attachmentها با API باید از TestRail ۵.۷ یا نسخه‌های بعدی استفاده کنید.

request زیر یک درخواست نوشتنی ساده برای افزودن attachment به نتیجه تست را نشان می‌دهد:

$ curl -H "Content-Type: multipart/form-data" \ 
  -u "user@example.com:" \ 
  -F "attachment=@C:\\image.jpg" \ 
  "https://example.testrail.io/index.php?/api/v2/add_attachment_to_result/1"

request و response به شکل زیر است (ساده‌سازی شده):

POST /index.php?/api/v2/add_attachment_to_result/1 HTTP/1.1
Host: example.testrail.io
Content-Type: multipart/form-data
{"attachment_id":11}

ایستگاه بعدی شما

TestRail را همین حالا در محیط دمو ببینید.

محیط تست آماده

دسترسی به دمو TestRail

قبل از ورود، مشخصات زیر را در صفحه ورود محیط دمو وارد کنید.

آدرس دمو

https://demo.testrail.ir

ایمیل ورود

demo@testrail.ir

رمز عبور

demo_user