اتوماسیون تست را شروع کنید: راهنمای گام به گام برای مبتدیان

مقدمه
اتوماسیون تست یک تغییر دهنده بازی برای آزمایش نرم افزار است و به شما امکان می دهد تست های تکراری را به سرعت و کارآمد انجام دهید. در این راهنما ، ما شما را از طریق اصول اتوماسیون تست با استفاده از دو ابزار قدرتمند قدم می زنیم: سلنیوم با پایتون وت نمایشنامه نویس با TypeScriptبشر در پایان این پست ، اولین اسکریپت تست خودکار خود را برای یک مثال در زندگی واقعی نوشتید-یک صفحه ورود.
ما پوشش خواهیم داد:
- تنظیم محیط خود
- نوشتن اولین اسکریپت تست خود.
- اجرای آزمون و تفسیر نتایج.
بیایید شروع کنیم!
مرحله 1: تنظیم محیط خود
برای سلنیوم/پایتون:
- پایتون را نصب کنید: Python را از Python.org بارگیری کنید و اطمینان حاصل کنید که در هنگام نصب به مسیر خود اضافه شده است.
- سلنیوم را نصب کنید: از PIP برای نصب سلنیوم استفاده کنید:
pip install selenium
- دانلود WebDriver: WebDriver مناسب را برای مرورگر خود بارگیری کنید (به عنوان مثال ، Chromedriver برای Chrome) و آن را به مسیر سیستم خود اضافه کنید.
برای نمایشنامه نویس/TypeScript:
- node.js را نصب کنید: node.js را از nodejs.org بارگیری کنید و آن را نصب کنید.
- نمایشنامه نویس را نصب کنید: برای نصب نمایشنامه نویس از NPM استفاده کنید:
npm init playwright@latest
این دستور یک پروژه نمایشنامه نویسی جدید ایجاد می کند و تمام وابستگی های لازم را نصب می کند.
- تنظیم TypeScript: اگر تازه وارد TypeScript هستید ، نگران نباشید – PlayWright بیشتر تنظیمات را برای شما انجام می دهد.
مرحله 2: نوشتن اولین اسکریپت آزمون خود
سناریو مثال: خودکار ورود به وب سایت نمونه
ما روند ورود به وب سایت نمونه مانند https://the-internet.herokuapp.com/login را خودکار می کنیم. هدف این است که:
- به صفحه ورود به سیستم بروید.
- اعتبار معتبر را وارد کنید.
- فرم را ارسال کنید.
- ورود به سیستم موفق را تأیید کنید.
نمونه سلنیوم/پایتون
در اینجا نحوه نوشتن اسکریپت تست با استفاده از سلنیوم و پایتون آورده شده است:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# Step 1: Initialize WebDriver
driver = webdriver.Chrome()
try:
# Step 2: Navigate to the login page
driver.get("https://the-internet.herokuapp.com/login")
# Step 3: Locate username and password fields
username_field = driver.find_element(By.ID, "username")
password_field = driver.find_element(By.ID, "password")
# Step 4: Enter credentials
username_field.send_keys("tomsmith")
password_field.send_keys("SuperSecretPassword!")
# Step 5: Click the login button
login_button = driver.find_element(By.CSS_SELECTOR, "button[type='submit']")
login_button.click()
# Step 6: Verify successful login
success_message = driver.find_element(By.ID, "flash")
assert "You logged into a secure area!" in success_message.text
print("Login successful!")
finally:
# Step 7: Close the browser
time.sleep(3) # Wait to see the result
driver.quit()
نمایشنامه نویس/مثال TypeScript
در اینجا نحوه نوشتن همان اسکریپت تست با استفاده از نمایشنامه نویس و TypeScript آورده شده است:
import { test, expect } from '@playwright/test';
test('Login Test', async ({ page }) => {
// Step 1: Navigate to the login page
await page.goto('https://the-internet.herokuapp.com/login');
// Step 2: Fill in the username and password fields
await page.fill('#username', 'tomsmith');
await page.fill('#password', 'SuperSecretPassword!');
// Step 3: Click the login button
await page.click('button[type="submit"]');
// Step 4: Verify successful login
const successMessage = await page.textContent('#flash');
expect(successMessage).toContain('You logged into a secure area!');
console.log('Login successful!');
});
مرحله 3: اجرای آزمون
برای سلنیوم/پایتون:
اسکریپت پایتون را با استفاده از دستور زیر اجرا کنید:
python your_script_name.py
اگر همه چیز به درستی تنظیم شده باشد ، مرورگر باز می شود ، مراحل ورود به سیستم را انجام می دهد و به طور خودکار بسته می شود.
برای نمایشنامه نویس/TypeScript:
تست نمایشنامه نویسی را با استفاده از دستور زیر اجرا کنید:
npx playwright test
نمایشنامه نویس تست را اجرا می کند و گزارش مفصلی را تهیه می کند.
مرحله 4: تفسیر نتایج
هر دو اسکریپت تأیید می کنند که ورود به سیستم با بررسی یک پیام موفقیت خاص موفقیت آمیز بوده است. اگر پیام پیدا شود ، آزمون می گذرد. در غیر این صورت ، شکست می خورد.
-
خروجی سلنیوم: پیامی مانند
Login successful!
به کنسول چاپ می شود. - خروجی نمایشنامه نویس: نمایشنامه نویس گزارش HTML مفصلی را ارائه می دهد. می توانید با اجرای آن مشاهده کنید:
npx playwright show-report
مثال واقعی زندگی: چرا تست های ورود به سیستم را خودکار می کنید؟
تصور کنید که در حال کار بر روی یک بستر تجارت الکترونیکی هستید که کاربران به طور مکرر وارد سیستم می شوند. آزمایش دستی عملکرد ورود به سیستم پس از هر تغییر کد ، وقت گیر و مستعد خطا است. خودکار کردن این فرآیند تضمین می کند:
- ویژگی ورود همانطور که انتظار می رود کار می کند.
- هرگونه مسئله رگرسیون زود هنگام گرفتار می شود.
- شما برای کارهای تست پیچیده تری صرفه جویی می کنید.
پایان
تبریک می گویم! شما اولین اسکریپت های تست خودکار خود را با استفاده از آن نوشتید سلنیوم/پایتون وت نمایشنامه نویس/نسخهبشر این ابزارها قدرتمند و همه کاره هستند و آنها را برای خودکارسازی برنامه های وب ایده آل می کنند.
مراحل بعدی:
- ویژگی های پیشرفته مانند دست زدن به عناصر پویا ، مدیریت انتظار و ادغام آزمایشات در خطوط لوله CI/CD را کاوش کنید.
- با سایر ابزارها و چارچوب ها آزمایش کنید تا آنچه را که برای تیم شما بهتر است ، پیدا کنید.
در testamplify به ما مراجعه کنید