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

Единый файл Java и Selenium

Одна из причин, по которой языки сценариев привлекают меня, – это цикл обратной связи. Вы можете ввести код и… Помеченный java, селен.

Одна из причин, по которой языки сценариев привлекают меня, – это цикл обратной связи.

Вы можете ввести код и быстро выполнить этот код без отдельного этапа компиляции. Это быстрое движение записи-сохранения-запуска – одна из многих причин, по которым мне нравится Python.

В Java теперь есть функция (начиная с Java 11), называемая выполнением одного файла, которая переводит Java с языка записи-компиляции-запуска на язык записи-сохранения-запуска.

Выполнение одного файла позволяет использовать Java так, как если бы вы использовали язык сценариев! Это захватывающая штука.

Этот пост посвящен использованию этой новой функции для запуска тестов Selenium с Java. Чтобы было ясно, Java сложнее настроить и использовать, но если вы работаете в магазине, где требуется использовать Java, или в корпоративной среде, это отличный способ быстро написать сценарии Selenium.

Для этого вам нужна, по крайней мере, Java 11 или более поздняя версия. Более ранние версии Java не поддерживают выполнение одного файла. Вам также понадобится файл Selenium Java jar. Смотрите мои ссылки ниже.

import org.openqa.selenium.WebDriver; // Step 1
import org.openqa.selenium.chrome.ChromeDriver;

public class Testme {
  public static void main(String[] args) {
    // Step 2
    System.setProperty("webdriver.chrome.driver",
      "/projects/singlefilejava/chromedriver"); // chromedriver location
    WebDriver driver = null; // Step 3
    try {
      driver = new ChromeDriver();
      driver.get("https://p-p.me");
    } finally {
      if (driver!=null) {
        driver.quit();
      }
    }
  }
}

Шаг 1 – Мы должны импортировать код Selenium. Как WebDriver, так и ChromeDriver предоставляются Selenium. Это похоже на Python, поэтому синтаксис не должен вас удивлять.

Шаг 2 – Мы должны сообщить Java/Selenium, где находится исполняемый файл chromedriver. Вот что делает эта линия.

Шаг 3 – Здесь мы объявляем переменную, которая имеет тип WebDriver. Мы должны объявить переменную здесь, чтобы оператор try/catch/finally мог получить доступ к переменной. Если бы мы объявили переменную внутри оператора try, эта переменная не была бы доступна позже в finally (найдите правила определения области действия Java, если вы хотите узнать больше об этом).

Остальная часть программы очень похожа на примеры Python, которые я уже написал. Смотри здесь: Смотри здесь:

Если ваш файл назван Testme.java и у вас есть Java 11, вы можете запустить этот пример с помощью этой команды:

java -cp /projects/singlefilejava/selenium-server-standalone-3.141.59.jar Testme.java

Параметр командной строки -cp указывает Java, где найти вспомогательные классы, необходимые для вашей программы.

Обратите внимание, что здесь вам понадобится путь к банку Selenium, который указан в ссылках внизу этой статьи. Вы можете использовать относительный или абсолютный путь.

связи

Статья, которую я нашел, которая привела меня на этот путь (хороший материал): https://www.infoq.com/articles/single-file-execution-java11/

Селеновая банка для Java: Селеновая банка для Java:

JDKs здесь: https://adoptopenjdk.net/

Оригинал: “https://dev.to/tonetheman/single-file-java-and-selenium-4pd0”