Рубрики
Без рубрики

Почему Selenium WebDriver – это интерфейс?

ИНТЕРФЕЙС WEBDRIVER КЛЮЧЕВЫЕ СЛОВА / ВОПРОСЫ Интерфейс WebDriver ChromeDriver Chrome Dr… С пометкой “тестирование”, java.

ИНТЕРФЕЙС 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”