مقدمه
Selenium یک فایل اجرایی (EXE) است که برای تست و خودکارسازی مرورگرهای وب مورد استفاده قرار میگیرد. این ابزار متنباز به توسعهدهندگان و تستکنندگان نرمافزار کمک میکند تا برنامههای وب را بدون نیاز به انجام تستهای دستی بررسی کنند. Selenium با زبانهای برنامهنویسی مختلفی مانند Python، Java، C#، JavaScript و Ruby سازگار است و میتواند تعاملات کاربر با مرورگر را شبیهسازی کند.
چرا selenium؟
- متنباز و رایگان: Selenium یک ابزار رایگان است که توسط جامعه متنباز پشتیبانی میشود.
- پشتیبانی از چندین مرورگر: این ابزار با مرورگرهایی مانند Chrome، Firefox، Edge و Safari کار میکند.
- سازگاری با سیستمعاملهای مختلف: میتوان آن را روی ویندوز، مک و لینوکس اجرا کرد.
- پشتیبانی از چندین زبان برنامهنویسی: امکان استفاده از Selenium با زبانهای مختلف فراهم است.
- امکان اجرای تستهای همزمان: با استفاده از Selenium Grid میتوان تستها را روی چندین مرورگر و سیستم اجرا کرد.
مولفه های Selenium
- Selenium WebDriver: یک API قدرتمند برای کنترل مرورگرها و اجرای تستهای خودکار.
- Selenium IDE: افزونهای برای مرورگرهای Firefox و Chrome که امکان ضبط و اجرای تستها را فراهم میکند.
- Selenium Grid: ابزاری برای اجرای تستها روی چندین سیستم و مرورگر بهطور همزمان.
کاربردهای هر مولفه در ویندوز
-
Selenium WebDriver:
- WebDriver ابزاری مستقل برای کنترل مرورگرها از طریق زبانهای برنامهنویسی مانند Python، Java و C# است.
- برای استفاده، ابتدا باید WebDriver متناسب با مرورگر (مثلاً ChromeDriver) دانلود و پیکربندی شود.
-
Selenium IDE:
- Selenium IDE یک افزونه برای مرورگرهای Chrome و Firefox است که کاربران را قادر میسازد تا تستهای خودکار را ضبط و اجرا کنند.
- این ابزار نیازی به کدنویسی ندارد اما نسبت به WebDriver امکانات محدودتری دارد.
-
Selenium Grid:
- Selenium Grid امکان اجرای تستهای خودکار را در محیطهای توزیعشده و روی چندین مرورگر بهطور همزمان فراهم میکند.
- برای استفاده از آن در ویندوز، نیاز به راهاندازی یک سرور مرکزی و نودهای مربوطه دارید که از طریق اجرای یک فایل JAR مدیریت میشود.
نصب و پیکربندی Selenium در ویندوز
۱. نصب Python (در صورت نیاز)
- به وبسایت رسمی Python مراجعه کرده و آخرین نسخه را دانلود و نصب کنید.
- پس از نصب، صحت نصب را با اجرای دستور زیر بررسی کنید:
اجرای دستور در CMD :
python --version
۲. نصب Selenium از طریق pip
- در CMD یا PowerShell دستور زیر را اجرا کنید:
pip install selenium
- برای نصب نسخه خاصی از Selenium:
pip install selenium=4.10.0
۳. دانلود و تنظیم WebDriver (مثلاً ChromeDriver)
- به سایت رسمی ChromeDriver مراجعه کرده و نسخه متناسب با مرورگر خود را دانلود کنید.
- فایل اجرایی را در مسیر پروژه یا مسیر سیستمی (C:\Windows\System32) قرار دهید.
۴. تنظیم متغیرهای محیطی (در صورت نیاز)
- مسیر chromedriver.exe را بهPATH اضافه کنید تا از هر دایرکتوری قابل اجرا باشد.
۵. اجرای تست Selenium در CMD
- یک فایل test.py ایجاد کرده و کد زیر را در آن قرار دهید:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.google.com")
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("Selenium WebDriver")
search_box.submit()
driver.quit()
- دستور فعال سازی محیط selenium در CMD
cd selenium_project
python -m venv venv
venv\Scripts\activate
- سپس فایل را با دستور زیر اجرا کنید:
python test.py
۶. راهاندازی Selenium Grid در ویندوز
- ابتدا Selenium Server را دانلود کنید:
wget https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.10.0/selenium-server-4.10.0.jar
- سپس سرور Grid را با دستور زیر اجرا کنید:
java -jar selenium-server-4.10.0.jar standalone
- اکنون میتوانید تستهای خود را بهصورت توزیعشده روی چندین مرورگر اجرا کنید.
ویژگیهای کلیدی Selenium
- کنترل عناصر DOM: امکان یافتن عناصر با استفاده از ID، کلاس، نام، XPath و CSS Selector.
- شبیهسازی تعاملات کاربری: امکان اجرای رویدادهایی مانند کلیک، اسکرول، پر کردن فرمها و ارسال کلیدها.
- مدیریت پنجرهها و تبها: قابلیت تغییر تبها، بستن پنجرهها و تغییر اندازه آنها.
- مدیریت کوکیها و نشستها: امکان خواندن و نوشتن کوکیها برای تستهای پیشرفته.
- انتظارهای هوشمند (Implicit و Explicit Waits): امکان تنظیم تاخیرهای پویا برای بارگذاری عناصر.
- اجرای تستهای توزیعشده: قابلیت اجرای تستها روی چندین مرورگر بهطور همزمان با Selenium Grid.
- گرفتن اسکرینشات از تستها: امکان ثبت وضعیت صفحه در طول اجرای تست.
قصد تهیه هاست دارید؟ میتوانید از طریق آتناهاست اقدام کنید. جهت کسب اطلاعات بیشتر از طریق راههای ارتباطی با ما تماس بگیرید.