ИНТЕРФЕЙС WEBDRIVER
| Интерфейс WebDriver ChromeDriver ChromeDriverService |
| System.setproperty(ключ, значение) |
| драйвер chromedriver gecko msedgedriver phantomjs |
| Драйвер WebDriver; ChromeDriver(); FirefoxDriver(); |
записи
Все классы, специфичные для браузера ( ChromeDriver , FirefoxDriver и т.д.), реализовали общий интерфейс, называемый WebDriver interface. информация
- Интерфейс WebDriver содержит часто используемые методы автоматизации браузера.
Экс:
Методы WebDriver
| закрыть() | пустота |
| findElement(По by) | Веб-элемент |
| Элементы поиска(By by) | java.util. Список |
| get(java.lang. Строковый URL-адрес) | пустота |
| getTitle() | java.lang. Строка |
| Подлежит определению | Подлежит определению |
- Мы можем создать другой объект браузера, используя тот же тип объекта WebDriver.
Экс:
Драйвер WebDriver;
драйвер ChromeDriver();
драйвер FirefoxDriver();
package io.webdriver.chrome;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeDriverService;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.GeckoDriverService;
import org.openqa.selenium.phantomjs.PhantomJSDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriverService;
import java.io.File;
public class WebDriverInterface {
public static void main(String[] args) {
WebDriver driver;
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, getDriver("chromedriver").getAbsolutePath());
System.setProperty(GeckoDriverService.GECKO_DRIVER_EXE_PROPERTY, getDriver("geckodriver").getAbsolutePath());
System.setProperty(EdgeDriverService.EDGE_DRIVER_EXE_PROPERTY, getDriver("msedgedriver").getAbsolutePath());
System.setProperty(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, getDriver("phantomjs").getAbsolutePath());
driver = new ChromeDriver();
System.out.println(driver.toString());
driver.quit();
driver = new FirefoxDriver();
System.out.println(driver.toString());
driver.quit();
driver = new EdgeDriver();
System.out.println(driver.toString());
driver.quit();
driver = new PhantomJSDriver();
System.out.println(driver.toString());
driver.quit();
}
/**
* Based on the OS, we get browser driver location.
*
* @param driverName a string. ex: "chromedriver"
* @return the relative (partial) path of the driver. ex: driver/chromedriver
*/
private static File getDriver(String driverName) {
if (System.getProperty("os.name").contains("Mac OS X")) {
return new File(new File("driver"), driverName);
} else {
return new File(new File("driver"), driverName + ".exe");
}
}
}
ChromeDriver: chrome on WINDOWS (24a35fb050dc5e8d46ba8c0eede0eb1f) FirefoxDriver: firefox on WINDOWS (413c13b1-7984-41e4-a7cc-a31b85438e71) EdgeDriver: msedge on WINDOWS (83af823aa10d801182ad9726e3ed911b) PhantomJSDriver: phantomjs on XP (01d457b0-7114-11eb-a16e-d3a30713c1eb)
| WebDriver – это интерфейс. |
| Классы ChromeDriver, FirefoxDriver и т.д. реализовали интерфейс WebDriver. |
| WebDriver имеет общие методы для всех браузеров. Например: get(), getTitle(), findElement() и т.Д |
Оригинал: “https://dev.to/jagadeeshshetty/why-selenium-webdriver-is-an-interface-1eea”