Автоматизированное тестирование поначалу может показаться кошмаром, особенно если вы довольно долго занимаетесь ручным тестированием. Глядя на темпы, с которыми возникает потребность в автоматизированном тестировании, для тестировщиков веб-сайтов стало неизбежным глубокое погружение в реку автоматизации и начало плавания. Чтобы стать профессиональным пловцом, требуется время, аналогично тому, как вы становитесь успешным тестировщиком автоматизации . Это требует знаний и глубокого понимания многочисленных инструментов и фреймворков автоматизации. Как новичок в автоматизированном тестировании, вы, возможно, с нетерпением ждете возможности воспользоваться платформой тестирования с открытым исходным кодом. После этого возникает вопрос: что дальше? Как мне использовать инструмент, фреймворк или платформу с открытым исходным кодом, и я здесь, чтобы помочь вам в этом отношении. Сегодня мы рассмотрим одну из самых известных платформ автоматизации тестирования с открытым исходным кодом, известную как Selenium. В этом руководстве по Selenium Java я продемонстрирую пример входа в систему Selenium с Java, чтобы помочь вам автоматизировать процесс входа в систему.
Автоматизация процесса входа в систему с использованием Selenium с Java или любым другим языком программирования – это самый первый шаг на пути к тому, чтобы стать успешным тестировщиком автоматизации. Без лишних слов давайте начнем.
Некоторые Предварительные Условия Для Учебника Selenium Java
Прежде чем мы начнем с нашего руководства по Selenium Java для процесса входа в систему, нам необходимо знать о предварительных требованиях. Начнем с того, что все приложения, независимо от домена, на который они могут быть нацелены, в 95% случаев имеют связанный с ними поток функций входа в систему. Будь то электронная коммерция, банковское дело, медицина, образование и т.д., Все они просят пользователя войти в приложение для дальнейшего использования. Как следует из названия “Учебник по Selenium Java”, этот учебник предлагает понимание базового уровня, чтобы помочь новичкам начать работу с автоматизированным тестированием с использованием Selenium и Java. Мы рассмотрим пример входа в систему Selenium с Java (один из наиболее универсальных языков, используемых для различных методов и областей). Для того чтобы начать работу, вам необходимо иметь базовое представление о Java. Не пугайтесь, услышав слово Java и Selenium. Мы будем делать это шаг за шагом. Итак, с чего вы начинаете? Во-первых, убедитесь, что у вас есть все необходимые условия, чтобы начать писать свой первый сценарий входа в систему с использованием Java и Selenium. Вам необходимо иметь следующее:
- Загрузите и установите JDK (комплект для разработки Java) с здесь .
- Установите Eclipse с официального сайта .
- Загрузите версию Java-клиента Selenium с здесь .
- Исполняемый файл драйвера – в зависимости от браузера, в котором вы хотите выполнить свой скрипт, вы можете загрузить его исполняемый файл Selenium с здесь . По мере продвижения по странице различные браузеры, такие как Chrome, Mozilla, Opera, Edge и т. Д., Будут доступны для загрузки, Чтобы помочь вам выполнить автоматическое кросс-браузерное тестирование с использованием Selenium .
Вот и все. Откройте eclipse и создайте свой проект. Добавьте свой Selenium jar в свой путь сборки Java, и все готово. Для получения подробной информации о том, как настроить проект и файл jar, перейдите по ссылке ниже:
Основные Шаги Для Тестового Примера Selenium
Прежде чем мы выполним автоматизированное тестирование для проверки входа в систему с использованием Selenium и Java, необходимо выполнить несколько основных шагов для любого тестового примера, который вы собираетесь написать, будь то вход в систему, выход из системы, профиль, панель мониторинга и т.д. Если вы будете следовать им, у вас никогда не будет неполных тестовых примеров в вашем пакете автоматизации:
- Создайте экземпляр Selenium WebDriver.
- При необходимости настройте свой браузер (например, разверните браузер, отключите уведомления браузера и т.д.).
- Перейдите по нужному URL-адресу (веб-странице).
- Найдите HTML-элемент.
- Выполните действие над расположенным HTML-элементом.
- Проверьте и подтвердите действие (завершающий шаг).
- Делайте скриншоты и создавайте отчет, используя фреймворк для тестовых примеров.
Если вы планируете разработать стратегию автоматизированного тестирования для своей организации, но не знаете, с чего начать? Следите за моим блогом, чтобы начать автоматизированное тестирование с нуля .
Давайте Автоматизируем Вход В Selenium С Помощью Java
Сценарий, который я упомяну в статье ниже, будет ссылаться на эти шаги. Мы не будем рассматривать седьмой шаг, так как для этого потребуется отдельная статья о себе, и я планирую сделать это в своих будущих блогах, так что следите за обновлениями! Теперь давайте подробно рассмотрим эти шаги, чтобы помочь нам выполнить автоматизированное тестирование с использованием Selenium для входа в систему с Java:
1. Создайте Экземпляр Веб-Драйвера Selenium
Веб-драйвер ChromeDriver();
Для того чтобы запустить веб-сайт в нужном браузере, вам необходимо установить в свойствах системы путь к драйверу для требуемого браузера. В этом уроке по Selenium Java мы будем использовать chromedriver для демонстрации примера входа в Selenium с Java. Синтаксис для того же будет: System.setProperty("webdriver.chrome.драйвер", "Путь к файлу Exe");
2. Настройте Свой Браузер При Необходимости
В зависимости от потребностей мы можем настроить браузер. Например, в этом руководстве по Selenium Java, касающемся входа в систему Selenium с помощью Java, браузер по умолчанию будет в режиме минимизации, мы можем настроить браузер в режиме максимизации. Ниже приведен синтаксис, используемый для того же самого. драйвер.управление().окно().развернуть();
Другие вещи, которые вы можете сделать для настройки своего браузера, – это настроить различные параметры, такие как отключение информационных панелей, уведомлений браузера, добавление расширений и т.д. Вы также можете использовать класс возможностей для запуска вашего скрипта в различных браузерах, тем самым помогая в кросс-браузерном тестировании.
3. Направлять На Требуемый URL-Адрес
Довольно просто, откройте браузер с нужным URL-адресом. Все, что вам нужно сделать, это написать приведенный ниже синтаксис, и ваш URL-адрес откроется в нужном экземпляре браузера. водитель.получить("https://www.linkedin.com/login ");
4. Разместить HTML-элемент
В этом суть написания сценария Selenium. Чтобы это работало, вам необходимо иметь четкое представление о различных локаторах, используемых для поиска HTML-элемента. Вы можете сослаться на мои статьи ниже, в которых рассказывается о различных локаторах, доступных в selenium, и о том, как найти элемент на разных примерах:
- Идентификатор локатора в Selenium WebDriver
- Локатор имен в Selenium WebDriver
- Локатор тегов в Selenium WebDriver
- Селектор CSS в Selenium WebDriver
- XPath в веб-драйвере Selenium
Например, давайте попробуем найти поле электронной почты и пароля в форме входа в LinkedIn
Ниже приведена структура DOM для поля ввода электронной почты:
Вы можете найти его с помощью идентификатора в Selenium WebDriver, как показано ниже:
драйвер.Найти элемент(By.id (“имя пользователя”)) ;
Поскольку это возвращает webelement, вы можете сохранить его в переменной webelement, как показано ниже WebElement.findElement(By.id ("имя пользователя"));
То же самое можно сделать для поля пароля и кнопки входа, которое
driver.findElement(By.id("password"));
WebElement password=driver.findElement(By.id("password"));
driver.findElement(By.xpath("//button[text()='Sign in']"));
WebElement login= driver.findElement(By.xpath("//button[text()='Sign in']"));
5. Выполнить Действие Над Расположенным HTML-Элементом
После определения местоположения вам необходимо выполнить желаемое действие, которое в нашем случае заключается в отправке текста на адрес электронной почты и поле пароля и нажатии на кнопку входа. Чтобы выполнить это действие в примере входа в Selenium с Java, мы используем такие методы, как SendKeys и нажмите предоставлено Selenium, как показано ниже:
username.sendKeys("xyz@gmail.com");
password.sendKeys("exampleAboutSelenium123");
login.click();
И знаете что, вы только что закончили писать самые важные части сценария. Теперь, в этом руководстве по Selenium Java, вам нужно только убедиться, что эти действия успешно вошли в систему пользователя, что приводит к нашему заключительному этапу создания скрипта для использования Selenium для входа в систему с Java.
6. Проверка и Подтверждение Действия
Для проверки результатов все, что вам нужно сделать, это использовать утверждение. Утверждения жизненно важны для сравнения ожидаемых результатов с фактическими результатами. Почти аналогично вашим тестовым случаям, в которых каждый тестовый случай имеет фактическое и ожидаемое поведение. Если он совпадает, тестовый случай проходит, если нет, то тестовый случай завершается неудачно. Утверждения делают точно то же самое. Класс утверждений предоставляется как платформой JUnit, так и платформой TestNG, вы можете выбрать любой. Приведенный ниже синтаксис поможет подтвердить (проверить) результат действий, выполнив вход в систему Selenium с помощью Java.
Assert.assertEquals(Фактическая строка, ожидаемая строка);
Итак, в этом случае мы сохраним ваш фактический URL-адрес после входа в систему в строковое значение: Строка;
И ожидаемый URL-адрес можно найти с помощью приведенного ниже метода:
Строка.getCurrentUrl();
Таким образом, ваше окончательное утверждение станет следующим:
Assert.assertEquals(фактический Url-адрес, ожидаемый Url-адрес);
Примечание: Чтобы использовать утверждение, вам необходимо использовать аннотации TestNG или JUnit ‘ @test ‘ для функционирования утверждений. В случае, если прямо сейчас вы не хотите утруждать себя поиском ключевых слов фреймворка, вы можете просто сопоставить строку с помощью оператора ‘if’ и соответствующим образом распечатать результаты в консоли, примерно так, как показано ниже:
if(actualUrl.equalsIgnoreCase(expectedUrl))
{
System.out.println("Test passed")
}
else
{
System.out.println("Test failed")
}
Бинго!! Вы выполнили автоматизированное тестирование с использованием примера входа в систему Selenium с Java.
Если вам интересно использовать аннотации, следуйте нашему блогу о Selenium Java-учебнике По аннотациям JUnit В Selenium С Примерами.
Ниже приведен сводный код всех утверждений, объясненных выше с использованием утверждений.
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
public class LoginUsingSelenium {
@Test
public void login() {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "path of driver");
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.linkedin.com/login");
WebElement username=driver.findElement(By.id("username"));
WebElement password=driver.findElement(By.id("password"));
WebElement login=driver.findElement(By.xpath("//button[text()='Sign in']"));
username.sendKeys("example@gmail.com");
password.sendKeys("password");
login.click();
String actualUrl="https://www.linkedin.com/feed/";
String expectedUrl= driver.getCurrentUrl();
Assert.assertEquals(expectedUrl,actualUrl);
}
}
Вывод на консоль:
Ниже приведен сводный код всех операторов, описанных выше, с использованием оператора if:
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
public class LoginUsingSelenium {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", " path of driver ");
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.linkedin.com/login");
WebElement username=driver.findElement(By.id("username"));
WebElement password=driver.findElement(By.id("password"));
WebElement login=driver.findElement(By.xpath("//button[text()='Sign in']"));
username.sendKeys("example@gmail.com");
password.sendKeys("password");
login.click();
String actualUrl="https://www.linkedin.com/feed/";
String expectedUrl= driver.getCurrentUrl();
if(actualUrl.equalsIgnoreCase(expectedUrl))
{
System.out.println("Test passed");
}
else
{
System.out.println("Test failed");
}
}
}
Вывод на консоль:
Перенос Тестов Селена В Облако
Selenium позволяет тестировщикам автоматизации быстро отслеживать свои усилия и циклы тестирования. Однако, помимо преимуществ Selenium WebDriver , есть и некоторые недостатки. Наиболее заметные из них включают последовательное выполнение тестов, которое может занять некоторое время для больших автоматизированных наборов тестов. Имея это в виду, сетка Selenium была введена, чтобы помочь людям параллельно проводить тесты Selenium. Однако у этого также есть и обратная сторона – охват тестированием и потребление процессора. Вы можете выполнять тестирование совместимости браузеров только в браузерах, установленных на вашем локальном компьютере. Установка множества браузеров нецелесообразна.
Вот почему в настоящее время все сводится к параллельному запуску ваших тестов Selenium в облаке через несколько браузеров для более быстрого кросс-браузерного тестирования с использованием таких инструментов, как LambdaTest. Лямбда-тест – это облако кросс-браузерного тестирования, предлагающее сетку Selenium из более чем 2000 реальных браузеров и версий браузеров, работающих в различных операционных системах. Вы можете интегрироваться с многочисленными инструментами CI/CD и извлекать отчеты о тестировании Selenium
ЗАПУСКАЙТЕ JAVA-СКРИПТЫ Параллельно НА СЕЛЕНОВОЙ СЕТКЕ
Более 2000 Браузеров И ОС
БЕСПЛАТНАЯ РЕГИСТРАЦИЯ
Ознакомьтесь со всеми интеграциями лямбда-тестов с несколькими инструментами CI/CD, инструментом управления проектами, инструментом совместной работы на основе обмена мгновенными сообщениями.
Мы можем запустить тот же сценарий входа в систему, который использовался в предыдущих разделах Лямбда-теста, определив платформу, браузер и версию для запуска этого сценария. Это помогает запускать ваш скрипт в нескольких браузерах, в зависимости от того, что поддерживает ваш проект/продукт.
Чтобы запустить скрипт для входа в Selenium с Java, все, что вам нужно сделать, это настроить URL-адрес RemoteWebDriver, через который вы будете подключаться к своей платформе LambdaTest. Этот URL-адрес представляет собой комбинацию вашего имени пользователя, ключа доступа и URL-адреса Lamda Test hub.
Опубликуйте это с помощью класса desiredcapabilities, вы можете установить платформу, например Windows 8 или 10 или Mac и т. Д. Затем определите браузер, в котором вы хотите запускать тесты, и его версию. Также можно указать название сборки и другие атрибуты, такие как видео, скриншоты, журналы и т.д. Вы можете использовать наш Генератор желаемых возможностей Selenium для получения значений, основанных на ваших желаемых возможностях. Вот оно что! Теперь используйте тот же сценарий входа, что и выше, для запуска теста на облачной платформе. Ниже приведен фрагмент кода, на который дана ссылка:
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class LoginUsingSelenium {
public RemoteWebDriver driver = null;
public String url = "https://www.lambdatest.com/";
public static final String username= "sadhvisingh24";
public static final String auth_key = "auth key generated";
public static final String URL = "@hub.lambdatest.com/wd/hub";
boolean status = false;
@Test
public void login () {
// TODO Auto-generated method stub
try {
driver.manage().window().maximize();
driver.get("https://www.linkedin.com/login");
WebElement username = driver.findElement(By.id("username"));
WebElement password = driver.findElement(By.id("password"));
WebElement login = driver.findElement(By.xpath("//button[text()='Sign in']"));
username.sendKeys("linkedin username");
password.sendKeys("fake password");
login.click();
String actualUrl = "https://www.linkedin.com/feed/";
String expectedUrl = driver.getCurrentUrl();
if (actualUrl.equalsIgnoreCase(expectedUrl)) {
System.out.println("Test passed");
status = true; //Lambda status will be reflected as passed
} else {
System.out.println("Test failed"); //Lambda status will be reflected as passed
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
finally {
tearDown();
}
}
@BeforeClass
public void setUp() {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("browserName", "chrome");
capabilities.setCapability("version", "72.0");
capabilities.setCapability("platform", "win8"); // If this cap isn't specified, it will just get the any available one
capabilities.setCapability("build", "TestNG_login_1");
capabilities.setCapability("name", "TestNG_login_1");
capabilities.setCapability("network", true); // To enable network logs
capabilities.setCapability("visual", true); // To enable step by step screenshot
capabilities.setCapability("video", true); // To enable video recording
capabilities.setCapability("console", true); // To capture console logs
try {
driver = new RemoteWebDriver(new URL("https://" + username + ":" + auth_key + URL), capabilities);
} catch (Exception e) {
System.out.println("Invalid grid URL" + e.getMessage());
}
}
private void tearDown () {
if (driver != null) {
((JavascriptExecutor) driver).executeScript("lambda-status=" + status); //Lambda status will be reflected as either passed/ failed
driver.quit();
System.out.println("The setup process is completed");
}
}
}
Лямбда-тест предоставляет вам статус вашего тестового запуска и соответствующее видео, журналы, сведения о сети, а также скриншоты
Ниже приведен скриншот выполнения вашего скрипта Selenium в сетке Selenium для лямбда-теста.
Как Это Было?
Слава! Вы успешно выполнили автоматизированное тестирование процесса входа в систему с использованием Selenium и Java. Как вы нашли этот учебник Selenium Java для процесса входа в систему? Дайте мне знать ваши мысли в разделе комментариев ниже. Я с нетерпением жду ваших ответов. Счастливого тестирования! 🙂
Первоначально опубликовано: Лямбда-тест
Статья по теме :
Учебное пособие по Selenium Java – Локатор имен классов В Селене
22 Практических Совета По Автоматизации Тестирования С Помощью Selenium WebDriver
Оригинал: “https://dev.to/sadhvisingh1/selenium-java-tutorial-how-to-test-login-process-2987”