אנו זקוקים לדפדף בכדי לבדוק אפליקציות אינטרנט. Selenium מאופטמת לדפדוף ומסייעת באוטומציה של בדיקות אפליקציות אינטרנט בין דפדפנים שונים. ממשק ה- Selenium API ספק מגוון רחב של מחלקות וממשקים לעבודה עם סוגים שונים של דפדפנים ורכיבי HTML.
מהו ממשק ה- Selenium WebDriver?
ממשק ה- Selenium WebDriver הוא ממשק שמגדיר סט של שיטות. עם זאת, היישום מסופק על ידי המחלקות הספציפיות לדפדפן. כמה מהמחלקות המממשות הן AndroidDriver
, ChromeDriver
, FirefoxDriver
, InternetExplorerDriver
, IPhoneDriver
, SafariDriver
ועוד. הפונקציונליות העיקרית של WebDriver היא לשלוט בדפדפן. הוא גם עוזר לבחור ברכיבי דף HTML ולבצע פעולות כמו ללחוץ, למלא שדות טופס ועוד.

אם נרצה להריץ את מקרי הבדיקה שלך בדפדפן Firefox, עלינו להשתמש במחלקת FirefoxDriver
. באותה מידה, אם נרצה להריץ את מקרי הבדיקה בדפדפן Chrome, עלינו להשתמש במחלקת ChromeDriver
.
שיטות ממשק ה- Selenium WebDriver
Method | Description |
---|---|
get(String url) | This method will launch a new browser and opens the given URL in the browser instance. |
getWindowHandle() | It is used to handle single window i.e. main window. It return type is string. It will returns browser windlw handle from focused browser. |
getWindowHandles() | It is used to handle multiple windows. It return type is Set. It will returns all handles from all opened browsers by Selenium WebDriver. |
close() | This command is used to close the current browser window which is currently in focus. |
quit() | This method will closes all the browsers windows which are currently opened and terminates the WebDriver session. |
getTitle() | This method is used to retrieve the title of the webpage the user currently working on. |
SearchContext הוא הממשק העליון ב-API של Selenium שיש לו שני שיטות – findElement() ו-findElements(). ממשק Selenium WebDriver מכיל הרבה שיטות מופשטות כמו get(String url), quit(), close(), getWindowHandle(), getWindowHandles(), getTitle() ועוד. ל-WebDriver יש ממשקים מקוננים כמו Window
, Navigation
, Timeouts
ועוד. ממשקים מקוננים אלו משמשים לביצוע פעולות כמו back(), forward() וכדומה.
המחלקות העיקריות המיישמות את ממשק WebDriver הן ChromeDriver, EdgeDriver, FirefoxDriver, InternetExplorerDriver וכו'. כל מחלקת נהג מתאימה לדפדפן. אנו יכולים פשוט ליצור אובייקטים של מחלקות הנהג ולעבוד עם הם.
Class | Description |
---|---|
ChromeDriver | It helps you to execute Selenium Scripts on Chrome browser. |
FirefoxDriver | It helps you to execute Selenium Scripts on Firefox browser. |
InternetExplorerDriver | It helps you to execute Selenium Scripts on InternetExplorer browser. |
List of Commands on WebElement
אובייקט WebElement של Selenium מייצג אלמנט HTML. נוכל לקבל אינסטנס של WebElement באמצעות שיטת findElement() ולבצע פעולות ספציפיות כמו לחיצה, הגשה וכדומה. כמה מהשיטות הנפוצות של WebElement הן:
Command | Description | Syntax |
---|---|---|
findElement() | This method finds the first element within the current web page by using given locator. | WebElement element = driverObject.findElement(By.locator(“value”)); |
sendKeys() | This method enters a value in to an Edit Box or Text box. | driver.findElement(By.elementLocator(“value”)).sendkeys(“value”); |
clear() | It clears the Value from an Edit box or Text Box. | driverObject.findElement(By.locatorname(“value”)).clear(); |
click() | It clicks an Element (Button, Link, Checkbox) etc. | driverObject.findElement(By.ElementLocator(“LocatorValue”)).click(); |
דוגמת Selenium WebDriver – הדפסת כותרת האתר
בואו נסתכל על דוגמה פשוטה של שימוש ב-Selenium WebDriver כדי להפעיל את דפדפן Firefox ולהדפיס את כותרת האתר.
package com.journaldev.selenium.firefox;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class GeckoDriverExample {
public static void main(String[] args) {
//ציינו את המיקום של GeckoDriver לאוטומציה של דפדפן Firefox
System.setProperty("webdriver.gecko.driver", "geckodriver");
WebDriver driver = new FirefoxDriver();
driver.get("https://journaldev.com");
String PageTitle = driver.getTitle();
System.out.println("Page Title is:" + PageTitle);
driver.close();
}
}
פלט:
1551941763563 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/1t/sx2jbcl534z88byy78_36ykr0000gn/T/rust_mozprofile.t6ZyMHsrf2bh"
1551941764296 [email protected] WARN Loading extension '[email protected]': Reading manifest: Invalid host permission: resource://pdf.js/
1551941764297 [email protected] WARN Loading extension '[email protected]': Reading manifest: Invalid host permission: about:reader*
Can't find symbol 'GetGraphicsResetStatus'.
1551941765794 Marionette INFO Listening on port 61417
1551941765818 Marionette WARN TLS certificate errors will be ignored for this session
Mar 07, 2019 12:26:05 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Page Title is:JournalDev - Java, Java EE, Android, Python, Web Development Tutorials
1551941814652 Marionette INFO Stopped listening on port 61417

ניתן לבדוק עוד דוגמאות של Selenium ב- מאגר הקוד שלנו ב-GitHub.
הפניה: קוד GitHub של WebDriver
Source:
https://www.digitalocean.com/community/tutorials/selenium-webdriver