Azure Pipelines پلتفرم هماهنگسازی CI/CD در مجموعه ابزار Microsoft Azure DevOps است که به شما امکان میدهد به طور مداوم در هر پلتفرم و ابری بسازید، آزمایش کنید و استقرار دهید. میتوانید سختافزار و ماشینهای مجازی را با استفاده از عاملهای میزبان ابری مایکروسافت یا با راهاندازی عوامل میزبانی شده خود مدیریت کنید. همچنین پشتیبانی کامل خط لوله CI/CD را برای هر پلتفرم و ابزار اصلی فراهم میکند و به شما امکان میدهد با Azure Repos Git، GitHub، Bitbucket و سایر موارد ادغام کنید.
به عنوان بخشی از خط لوله، تیم ها معمولاً می خواهند آزمایش های خودکار خود را اجرا کنند. برای بهبود دید در تستهای خودکار خود و مدیریت آسانتر همه تستکیسها و نتایج تست – اعم از دستی و خودکار -، میتوانید نتایج تست خودکار خود را مستقیماً از Azure Pipelines به TestRail ارسال کنید. در این مقاله، نحوه استفاده از این مزیت را بررسی خواهیم کرد TestRail CLI در تنظیمات Azure Pipelines خود برای انجام آسان این کار.
#
لطفا توجه داشته باشید که TestRail CLI مستلزم آن است که یک سازگار گزارش JUnit توسط چارچوب اتوماسیون تست شما تولید می شود.
در این مثال، ما از آن استفاده خواهیم کرد Azure Pipelines همراه با نمایشنامه نویس.
پیش نیازها #
#
این بخش نحوه راهاندازی یک عامل خود میزبان Azure را توضیح میدهد. اگر از عامل های میزبان ابری استفاده می کنید، می توانید به بخش بعدی بروید.
در صورتی که میخواهید از یک عامل خود میزبان استفاده کنید (خواه به این دلیل که میخواهید مجریهای خود را مدیریت کنید یا به سادگی مشترک مجریهای میزبان ابری نشدهاید)، میتوانید اسکریپتها را برای ساخت و اجرای یک عامل داکر با Python ۳.۱۰.۱۲ از قبل نصب شده به منظور اجرای TestRail CLI دریافت کنید. مخزن نمونه های یکپارچه سازی اتوماسیون TestRail.
برای ساخت execute، تنها کاری که باید انجام دهید این است که آن را جایگزین کنید <AZURE_URL> مکان نگهدار با URL نمونه شما (به عنوان مثال: https://dev.azure.com/yourorganization) و <TOKEN> جای جای با شما رمز دسترسی شخصی Azureو دستورات زیر را در ترمینالی که از همان پوشه شروع می شود اجرا کنید.
docker build -t azureagent:latest .
docker run -e AZP_URL="<AZURE_URL>" -e AZP_TOKEN="<TOKEN>" -e AZP_AGENT_NAME="SelfHostedLinux" azureagent:latest
استفاده از TestRail CLI در خطوط لوله Azure #
خطوط لوله را می توان با افزودن a ایجاد کرد azure-pipelines.yml فایل به ریشه هر مخزن سازگار. این فایل به شما این امکان را می دهد که فرآیندهای خود را به صورت ساختاریافته با استفاده از نحو YML مشخص کنید. برای نوشتن خط لوله خود، می توانید انواع مختلفی از مراحل را تعریف کنید، مانند وظایفی برای انجام اهدافی مانند تنظیم محیط، و همچنین اسکریپت هایی که می توانید دستورات پوسته را برای هر هدفی بنویسید.
ساده ترین راه برای ادغام TestRail با Azure Pipelines، پیکربندی TestRail CLI برای ارسال نتایج تست خودکار به TestRail در یکی از مراحل موجود است. azure-pipelines.yml فایل در زیر نمونه ای از نحوه استفاده از خط لوله Azure آورده شده است نمایشنامه نویس به عنوان چارچوب اتوماسیون تست و TestRail CLI برای ارسال نتایج تست به TestRail به نظر می رسد.
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- task: NodeTool@0
inputs:
versionSpec: '16.x'
displayName: 'Install Node.js'
- task: UsePythonVersion@0
inputs:
versionSpec: '3.10.12'
displayName: 'Setup Python'
- script: |
npm install
npx playwright install-deps
npx playwright install
npx playwright test
displayName: 'Run Playwright tests'
continueOnError: true
- script: |
pip install trcli
trcli -y \
-h "https://INSTANCE-NAME.testrail.io" \
--project "PROJECT-NAME" \
-u "USERNAME" \
-p "PASSWORD" \
parse_junit \
-f "test-results/junit-report.xml" \
--title "Playwright automated tests" \
--run-description "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)"
displayName: 'Upload results with TestRail CLI'
trigger:
- main
pool: Default
steps:
- task: NodeTool@0
inputs:
versionSpec: '16.x'
displayName: 'Install Node.js'
- task: UsePythonVersion@0
inputs:
versionSpec: '3.10.12'
disableDownloadFromRegistry: true
displayName: 'Setup Python'
- script: |
npm install
npx playwright install-deps
npx playwright install
npx playwright test
displayName: 'Run Playwright tests'
continueOnError: true
- script: |
pip install trcli
trcli -y \
-h "https://INSTANCE-NAME.testrail.io" \
--project "PROJECT-NAME" \
-u "USERNAME" \
-p "PASSWORD" \
parse_junit \
-f "test-results/junit-report.xml" \
--title "Playwright automated tests" \
--run-description "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)"
displayName: 'Upload results with TestRail CLI'
با تجزیه فایل، موارد زیر را مشاهده می کنیم:
- را
triggerکه قرار است با هر فشاری کار را شروع کندmainبرای رویکرد CI - را
poolکه عاملی را مشخص می کند که مراحل در آن اجرا می شوند و بسته به اینکه می خواهید از یک عامل میزبان ابری یا خود میزبانی استفاده کنید متفاوت است. - را
stepsشامل دو کار، برای تنظیم محیط، و دو اسکریپت، برای اجرای آزمایشات و آپلود نتایج-
task: NodeTool@0 task: UsePythonVersion@0script (Run Playwright tests)script (Upload results with TestRail CLI)
-
می توانید در مورد نحوه پیکربندی خط لوله خود در رسمی بیشتر بیاموزید اسناد Azure Pipelines.
مرحله ۱: Node.js را نصب کنید #
با استفاده از NodeTool@0 task به ما این امکان را می دهد که به راحتی Node را روی عامل نصب کنیم، که برای اجرای تست های Playwright ما لازم است.
- task: NodeTool@0
inputs:
versionSpec: '16.x'
displayName: 'Install Node.js'
مرحله ۲: پایتون را راه اندازی کنید #
را UsePythonVersion@0 task پایتون را تنظیم می کند که برای نصب و اجرای TestRail CLI مورد نیاز است. بسته به اینکه کار خود را روی یک عامل میزبان ابری یا خود میزبانی میکنید، این وظیفه باید بهطور متفاوتی پیکربندی شود.
برای عوامل میزبانی ابر، به سادگی می توانید اضافه کنید versionSpec و وظیفه رسیدگی به دانلود نسخه درخواستی و نصب آن بر روی عامل خواهد بود.
برای عوامل خود میزبان، این وظیفه قادر به دانلود و نصب پایتون نیست، بنابراین باید قبلاً در عامل پیکربندی شده باشد و باید آن را اضافه کنید. disableDownloadFromRegistry: true پیکربندی ورودی توجه داشته باشید که با استفاده از کد ارائه شده در این آموزش برای راه اندازی یک عامل خود میزبان، عامل شما از قبل پایتون ۳.۱۰.۱۲ را از قبل نصب کرده است، بنابراین نیازی نیست خودتان نگران نصب آن باشید.
- task: UsePythonVersion@0
inputs:
versionSpec: '3.10.12'
displayName: 'Setup Python'
مرحله ۳: تست های Playwright را اجرا کنید #
را Run Playwright tests step شامل یک پوسته اسکریپت است که پروژه Playwright را به همراه تمام وابستگی های سیستم مورد نیاز نصب می کند و پروژه تست را اجرا می کند. توجه داشته باشید که پروژه برای تولید گزارش JUnit در test-results/ پوشه
را continueOnError از پارامتر استفاده می شود تا خط لوله حتی در صورت شکست تست ها مرحله بعدی را اجرا کند، بنابراین نتایج تست را می توان در TestRail بارگذاری کرد.
- script: |
npm install
npx playwright install-deps
npx playwright install
npx playwright test
displayName: 'Run Playwright tests'
continueOnError: true
مرحله ۴: نتایج را با TestRail CLI بارگذاری کنید #
را Upload results with TestRail CLI step یک اسکریپت پوسته را برای نصب و فراخوانی TestRail CLI اجرا می کند تا گزارش JUnit تولید شده توسط Playwright را تجزیه کند و نتایج را به TestRail ارسال کند.
TestRail CLI یک بسته پایتون است که در فهرست بسته Python میزبانی می شود (PyPI) بنابراین، برای نصب آن، به سادگی دستور را اجرا می کنیم pip install trcli.
پس از نصب TestRail CLI، چند آرگومان اجباری مانند آدرس نمونه TestRail و اعتبار، پروژه ای که می خواهید به آن گزارش دهید، عنوان اجرای تست و مسیر گزارش JUnit وجود دارد. را --run-description آرگومان اجباری نیست، اما توصیه می کنیم از آن برای افزودن پیوندی از TestRail به اجرای کار Azure Pipelines خود استفاده کنید. کد مثال شامل دنباله ای از متغیرهای خط لوله از پیش تعریف شده است که لینک اجرای کار شما را خروجی می دهد.
- script: |
pip install trcli
trcli -y \
-h "https://INSTANCE-NAME.testrail.io" \
--project "PROJECT_NAME" \
-u "USERNAME" \
-p "PASSWORD" \
parse_junit \
-f "test-results/junit-report.xml" \
--title "Playwright automated tests" \
--run-description "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)"
displayName: 'Upload results with TestRail CLI'
برای اطلاعات بیشتر در مورد استدلال، لطفاً TestRail CLI مستندات
نمونه کار با استفاده از نمایشنامه نویس #
برای استفاده از Azure Pipelines، باید یک حساب کاربری فعال داشته باشید Azure DevOps. کد شما می تواند در Azure Repos در نمونه Azure DevOps شما میزبانی شود، یا می توانید از ابزار کنترل منبع خارجی مانند GitHub یا Bitbucket نیز استفاده کنید. در این مثال از Azure Repos استفاده خواهیم کرد.
ایجاد مخزن خود #
ما می خواهیم خط لوله Azure را با استفاده از خط لوله راه اندازی کنیم نمونه پروژه نمایشنامه نویس، که می توانید با بررسی مستندات ما در مورد آن بیشتر بدانید ادغام با نمایشنامه نویس.
با دنبال کردن مراحل زیر، میتوانید به سرعت یک نمونه کار از خط لوله Azure که یک پروژه آزمایشی خودکار را اجرا میکند راهاندازی کنید و نتایج را به TestRail ارسال کنید.
- یک پروژه جدید در Azure DevOps ایجاد کنید

- برو به مخازن بخش و یک مخزن جدید با فایل های موجود در ما ایجاد کنید نمونه پروژه نمایشنامه نویس

- برو به خطوط لوله بخش و کلیک کنید خط لوله ایجاد کنید

- در این مورد نوع مخزن دلخواه خود را انتخاب کنید Azure Repos Git

- مخزنی را که به تازگی ایجاد کرده اید انتخاب کنید

- هر الگوی خط لوله را برای شروع انتخاب کنید

- قالب را با فایل YML ارائه شده در بالا جایگزین کنید (فراموش نکنید جای جایگیرها را جایگزین کنید INSTANCE-NAME، PROJECT-NAME، USERNAME و رمز عبور – توصیه می کنیم رمز عبور را مستقیماً جایگزین نکنید و استفاده نکنید متغیرهای مخفی Azure در عوض)

- کلیک کنید ذخیره و اجرا کنید و با commit که ایجاد می کند ادامه دهید
azure-pipelines.ymlفایل در مخزن خود
- از آنجایی که ماشه خط لوله یک فشار به شاخه اصلی است، بلافاصله در صف قرار می گیرد تا اجرا شود

- با کلیک کردن روی کار، میتوانید گزارشهای اجرای آن را ببینید و در پایان، لاگهای TestRail CLI را مشاهده خواهید کرد که پیوندی را به اجرای تست که در آن نتایج آزمون Playwright گزارش شده است، ایجاد میکند.

- با کلیک کردن روی پیوند، به TestRail هدایت می شوید، جایی که می توانید نتایج تست و اطلاعات اشکال زدایی خود را به همراه پیوندی به اجرای کار خود برای ردیابی و سهولت در ناوبری مشاهده کنید.

بعدش چی؟ #
اکنون که نتایج تست خود را روی TestRail متمرکز کردهاید، نه تنها میتوانید نتایج تستهای خودکار خود را به همراه پیامهای خطای آزمایشهای ناموفق بررسی کنید، بلکه میتوانید تلاشهای آزمایشی دستی و خودکار خود را در گزارشهایی که پوشش کامل آزمون پیرامون برنامهتان را به شما نشان میدهند و حتی پیشرفت اتوماسیون آزمایش را ردیابی کنید، تجمیع کنید. همچنین میتوانید یک اشکال را مستقیماً از نتیجه آزمایش خودکار به یک ردیاب مشکل ترجیحی خود گزارش دهید، همانطور که برای نتایج تست دستی خود انجام میدهید!
می توانید به آن نگاه کنید گزارشهای TestRail و ویدئو معیارهای تست برای آشنایی با نحوه استفاده از قابلیت های گزارش دهی TestRail.












