Статьи

Как проверить процесс входа в систему с помощью Selenium и Java

Название изображения

Поначалу автоматическое тестирование может показаться кошмаром, особенно если вы так долго занимались ручным тестированием. Учитывая скорость, с которой движется потребность в автоматизированном тестировании, для тестировщиков веб-сайтов стало необходимым углубиться в автоматизацию и начать обучение. Чтобы стать профессионалом, нужно время; это требует знания и глубокого понимания многочисленных инструментов и структур автоматизации. Будучи новичком в области автоматизации тестирования, вы, возможно, с нетерпением ждете возможности использовать среду тестирования с открытым исходным кодом. В этом руководстве по Selenium Java я продемонстрирую пример входа в систему Selenium с использованием Java, который поможет вам автоматизировать процесс входа в систему.

Автоматизация процесса входа в систему с использованием Selenium с Java или любым другим языком программирования — это первый шаг к успешному тестированию автоматизации. Без дальнейших церемоний, давайте начнем.

Некоторые предпосылки для Selenium Java Tutorial

Прежде чем мы начнем с нашего учебника по Selenium Java для процесса входа в систему, мы должны знать о предварительных условиях. Начнем с того, что все приложения независимо от домена, на который они могут ориентироваться, обычно имеют связанный с ними поток функций входа в систему. Будь то электронная коммерция, банковское дело, медицина или образование, все просят пользователей войти в приложение для дальнейшего использования. Как следует из названия, этот учебник предлагает базовый уровень понимания, чтобы помочь начинающим освоиться с автоматизированным тестированием с использованием Selenium и Java. Мы рассмотрим пример входа в систему Selenium с Java (один из самых универсальных языков, используемых для множества методов и областей). Чтобы начать это, вам нужно иметь базовое понимание Java. Во-первых, убедитесь, что у вас есть все предпосылки для написания первого сценария входа в систему с использованием Java и Selenium.Вам необходимо иметь следующее:

  • Загрузите и установите JDK (Java Development Kit)  отсюда .
  • Установите Eclipse с  официального сайта .
  • Загрузите версию Selenium Java Client  здесь .
  • Исполняемый файл драйвера: в зависимости от браузера, в котором вы хотите выполнить свой скрипт, вы можете загрузить его исполняемый файл Selenium  отсюда . По мере перехода по странице будут доступны для загрузки различные браузеры, такие как драйверы Chrome, Mozilla, Opera и Edge, которые помогут вам выполнить автоматическое межбраузерное тестирование с использованием Selenium.

Вот и все. Откройте Eclipse и создайте свой проект. Добавьте свой Selenium jar в путь сборки Java, и все готово. 

Основные шаги для теста Selenium

Прежде чем мы проведем автоматизированное тестирование для проверки правильности входа в систему с использованием Selenium и Java, необходимо выполнить несколько основных шагов для любого тестового примера, который вы намереваетесь написать. Если вы будете следовать им, у вас никогда не будет неполных тестовых примеров в вашем наборе автоматизации:

  1. Создайте экземпляр Selenium WebDriver.
  2. При необходимости настройте браузер (например, разверните браузер, отключите уведомления браузера и т. Д.).
  3. Перейдите к нужному URL (веб-странице).
  4. Найдите элемент HTML.
  5. Выполните действие с расположенным HTML-элементом.
  6. Проверьте и подтвердите действие (завершенный шаг).
  7. Сделайте скриншоты и сгенерируйте отчет, используя платформу для тестовых случаев.

Если вы планируете разработать стратегию автоматизации тестирования для своей организации, но не знаете, с чего начать, следуйте моему блогу, чтобы начать  тестирование автоматизации с нуля .

Давайте автоматизируем Selenium Login с Java

Сценарий, о котором я буду упоминать в статье ниже, будет ссылаться на эти шаги. Мы не будем рассматривать седьмой шаг, так как для этого потребуется отдельная статья, и я планирую сделать это в моих будущих блогах, так что следите за обновлениями! Теперь давайте подробно рассмотрим эти шаги, чтобы помочь нам выполнить автоматизированное тестирование с использованием Selenium для входа в систему с Java:

1. Создайте экземпляр Selenium WebDriver

Webdriver driver=new ChromeDriver();

Чтобы запустить веб-сайт в нужном браузере, необходимо установить в системных свойствах путь к драйверу для необходимого браузера. В этом руководстве по Selenium Java мы будем использовать Chromedriver для демонстрации примера входа в систему Selenium с использованием Java. Синтаксис для того же будет:
System.setProperty(“webdriver.chrome.driver”, “File path for the Exe”);

2. Настройте браузер, если требуется

Исходя из потребностей, мы можем настроить браузер. Например, в этом руководстве по Selenium Java, касающемуся входа в Selenium через Java, браузер по умолчанию будет находиться в свернутом режиме. Однако мы можем настроить браузер в режиме максимизации. Ниже приведен синтаксис.
driver.manage().window().maximize();

Другие вещи, которые вы можете сделать для настройки вашего браузера — это настроить различные параметры, такие как отключение информационных панелей, уведомлений браузера и добавление расширений. Вы также можете использовать  класс возможностей  для запуска скрипта в различных браузерах, что помогает в кросс-браузерном тестировании.

3. Перейдите на нужный URL

Откройте браузер с нужным URL. Все, что вам нужно сделать, это написать приведенный ниже синтаксис, и ваш URL откроется в нужном экземпляре браузера.
driver.get(“https://www.linkedin.com/login”);

4. Найдите элемент HTML

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

Например, давайте попробуем найти поле электронной почты и пароль в форме входа в LinkedIn.

Ниже приведена структура DOM для поля ввода электронной почты:

поле ввода электронной почты
Вы можете найти его через идентификатор локатора в Selenium WebDriver, как показано ниже:
driver.findElement(By.id(“username”));

Так как это возвращает веб-элемент, вы можете сохранить его в переменной веб-элемента, как показано ниже:
WebElement username=driver.findElement(By.id(“username”));

То же самое может быть достигнуто для поля пароля и кнопки входа, которое

Формат:

driver.findElement (By.id ( «пароль»)); Пароль WebElement = driver.findElement (By.id («пароль»)); driver.findElement (By.xpath («// button [text () = ‘Войти’]»)); WebElement login = driver.findElement (By.xpath («// button [text () = ‘Войти’]»));

5. Выполните действие с расположенным HTML-элементом.

После обнаружения вам необходимо выполнить желаемое действие, которое в нашем случае отправляет текст в поле электронной почты и пароль и нажимает кнопку входа в систему. Чтобы выполнить это действие в Selenium примере входа с Java, мы используем методы  sendKeys  и  при click  условии , селен , как показано ниже:

Формат:

username.sendKeys ( «xyz@gmail.com»); password.sendKeys ( «exampleAboutSelenium123»); login.click ();

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

6. Проверьте и подтвердите действие

Чтобы подтвердить результаты, все, что вам нужно сделать, это использовать утверждение. Утверждения имеют жизненно важное значение для сравнения ожидаемых результатов и фактических результатов. Почти аналогично вашим тестовым примерам, где каждый тестовый пример имеет реальное и ожидаемое поведение. Если он совпадает, тестовый пример проходит, если нет, то тестовый пример не проходит. Утверждения делают точно так же. Класс утверждений предоставляется как инфраструктурой JUnit, так и TestNG, и вы можете выбрать любой из них. Приведенный ниже синтаксис поможет подтвердить (проверить) результат действий, выполнив вход в Selenium с помощью Java.

Assert.assertEquals(String actual, String expected);

Таким образом, в этом случае мы сохраним наш фактический URL для входа в пост в строковое значение:
String actualUrl=” https://www.linkedin.com/feed/”;

И ожидаемый URL можно найти из метода ниже:

String expectedUrl= driver.getCurrentUrl();

Таким образом, ваше окончательное утверждение станет следующим:

Assert.assertEquals(actualUrl, expectedUrl);

Примечание.  Чтобы использовать утверждение, вам нужно использовать аннотации TestNG или JUnit «@Test», чтобы утверждения работали. В случае, если вы сейчас не хотите ломать голову над поиском ключевых слов фреймворка, вы можете просто сопоставить строку с помощью оператора «if» и вывести результаты в консоли соответственно, как показано ниже:

Формат:

if (actualUrl.equalsIgnoreCase (pectedUrl)) {System.out.println («Тест пройден»)} else {System.out.println («Тест не пройден»)}

Вы выполнили тестирование автоматизации на примере входа в систему Selenium с Java.

Ниже приведен сводный код всех приведенных выше утверждений с использованием утверждений.

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); }   }

Консольный вывод:

SeleniumLogin_2

Ниже приведен сводный код всех операторов, объясненных выше, с использованием оператора 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"); } }   }

Консольный вывод:

SeleniumLogin_3

Движущиеся тесты Selenium On Cloud

Selenium позволяет автоматизированным тестерам быстро отслеживать свои усилия и циклы испытаний. Однако с преимуществами Selenium WebDriver есть и некоторые недостатки. Наиболее известные из них включают последовательное выполнение тестов, которое может занять некоторое время для больших автоматизированных наборов тестов. Помня об этом, Selenium Grid была введена, чтобы помочь людям параллельно выполнять тесты Selenium. Однако в этом есть и обратная сторона: покрытие тестами и потребление ресурсов процессора. Тестирование совместимости браузеров можно выполнять только в тех браузерах, которые установлены на вашем локальном компьютере. Установка многочисленных браузеров не является возможным решением.

Как это было?

Престижность! Вы успешно выполнили тестирование автоматизации для процесса входа в систему с использованием Selenium & Java. Как вы нашли этот учебник Selenium Java для процесса входа в систему? Дайте мне знать ваши мысли в разделе комментариев ниже. Я с нетерпением жду ваших ответов. Удачного тестирования!