Если вы только начинаете с автоматизированного тестирования своего продукта Selenium, первой страницей, которую вы, вероятно, захотите автоматизировать, будет страница регистрации или входа в систему. Если у вас есть онлайн-платформа, такая как компания электронной коммерции или продукт “Программное обеспечение как услуга”, страница регистрации служит дверью для приветствия посетителей вашего веб-приложения. Это одна из самых простых, но в то же время одна из самых важных страниц вашей платформы, и она появляется в начале каждого возможного путешествия пользователя, которое вы, возможно, захотите протестировать. Следовательно, это также одна из самых важных веб-страниц для вашего веб-приложения.
Итак, сегодня мы углубимся в то, как вы можете выполнить тестирование автоматизации Selenium страницы формы регистрации. Мы собираемся выполнить автоматизированное тестирование с помощью Selenium и Java. В одном из наших предыдущих Руководств по Java Selenium мы продемонстрировали, как автоматизировать процесс входа в систему с помощью тестирования Selenium automation.
Сегодня мы рассмотрим пример Страницы регистрации/Страницы регистрации из Лямбда-теста. Мы начнем наше обсуждение с тестовых примеров и процесса для страницы регистрации LambdaTest, а затем перейдем к части автоматизации, чтобы посмотреть, как мы можем увеличить охват нашего браузера для эффективного кроссбраузерного тестирования и ускорить тестирование автоматизации с помощью параллельного тестирования на Selenium Grid .
Прежде чем двигаться дальше, давайте рассмотрим рабочий процесс немного подробнее и посмотрим, как работает Страница регистрации лямбда-теста .
В качестве первого шага мы вводим URL https://www.lambdatest.com
Оттуда мы собираемся нажать на кнопку “Бесплатная регистрация” и перейти на страницу Регистрации Лямбда-теста.
Теперь давайте проверим Функциональные поля на этой странице регистрации и перечислим их.
- Организация /Название компании (Текстовое поле)
- Полное имя пользователя (Текстовое поле)
- Рабочий адрес электронной почты Идентификатор (Текстовое поле)
- Желаемый пароль (Текстовое поле)
- Телефон номер пользователя (Текстовое поле)
- Условия и Политика конфиденциальности (флажок)
- Бесплатная регистрация (кнопка)
Рабочий Процесс Страницы Регистрации
Введите все необходимые поля: Полное имя, Рабочий адрес электронной почты, Желаемый Пароль, Номер телефона, Условия и флажок Политики конфиденциальности.
Проверьте поля:
- Рабочий адрес электронной почты: Не должен быть существующим пользователем, действительный адрес электронной почты.
- Пароль: Должен содержать минимально необходимую длину пароля.
- номер телефона
- Флажок “Условия и политика конфиденциальности”
До сих пор мы обсуждали все основные моменты, касающиеся страницы регистрации, в частности, связанные с страницей регистрации LambdaTest . Итак, давайте продолжим написание тестовых примеров для этой страницы.
Возможные сценарии тестирования Страницы регистрации
Элементы
Проверьте, все ли кнопки, заголовок, флажки присутствуют на странице и работают ли они, нажав на все кнопки и флажки. В случае страницы регистрации лямбда-теста мы должны проверить следующие кнопки, текстовые поля, флажок “Условия и политика конфиденциальности” и т.д.
Связи
Проверьте, все ли ссылки, присутствующие на странице, перенаправляют на ожидаемые страницы. Нам также нужно проверить, если:
- Лямбда-тест перенаправление ссылки на Лямбда-тест запускает правильную страницу.
- Условия предоставления услуг ссылка открывает новую вкладку с перенаправлением на страницу Условий предоставления услуг.
- Политика конфиденциальности ссылка открывает новую вкладку с перенаправлением на страницу Политики конфиденциальности.
- Вход ссылка перенаправляет со страницы регистрации на страницу входа.
Необязательные Поля
В случае страницы регистрации Лямбда-теста необязательно указывать название организации или компании. Поэтому мы постараемся зарегистрироваться с указанием названия Организации или Компании и без него, и в обоих случаях должна быть возможность завершить регистрацию (учитывая, что пользователь правильно предоставил всю остальную информацию).
Обязательные поля
В случае страницы регистрации лямбда-теста у нас есть следующие обязательные поля, поэтому давайте обсудим случаи, связанные с каждым полем.
полное имя
→ Проверка без указания полного имени, она должна выдать соответствующую ошибку, и не должно быть возможности перейти дальше на страницу регистрации.
→ подтвердите, указав полное имя, должна быть возможность завершить регистрацию (учитывая, что пользователь правильно предоставил всю остальную информацию).
Рабочая электронная почта
→ Подтвердите действительный идентификатор электронной почты, но у вас есть существующая учетная запись на платформе LambdaTest с этим идентификатором электронной почты, тогда в этом случае вам не должно быть разрешено регистрироваться с этим идентификатором электронной почты и должно быть выдано соответствующее сообщение об ошибке (учитывая, что пользователь правильно предоставил всю остальную информацию).
→ Проверка без указания каких-либо подробностей в поле Рабочая электронная почта, ей не должно быть разрешено регистрироваться без какого-либо идентификатора электронной почты и должно быть выдано соответствующее сообщение об ошибке.
= Подтвердите действительный идентификатор электронной почты, у которого нет учетной записи на платформе тестирования Lambda с этим идентификатором электронной почты, поэтому пользователь должен иметь возможность успешно продолжить и зарегистрироваться (учитывая, что пользователь правильно предоставил всю остальную информацию).
Желаемый Пароль
→ Проверка без указания пароля в нужном поле пароля, он должен выдать соответствующее сообщение об ошибке для ввода пароля.
→ Как мы видим, для пароля требуется минимальная длина символов, которая составляет не менее 8 символов. Таким образом, мы можем использовать методику разработки тестов для анализа граничных значений (BVA), поскольку у нас есть минимальные критерии из 8 символов, поэтому мы можем тестировать с длиной 7, 8 и 9 символов.
- Когда он меньше 7, он должен выдать ошибку пользователю, и пользователь может продолжить процесс регистрации.
- Когда будет 8, пользователь сможет успешно завершить процесс регистрации без каких-либо ошибок. (учитывая, что пользователь правильно предоставил всю остальную информацию).
- Когда будет 9, тогда также у пользователя должна быть возможность успешно завершить процесс регистрации без каких-либо ошибок. (учитывая, что пользователь правильно предоставил всю остальную информацию).
Телефон
→ Подтвердите, не указывая номер телефона в поле, так как это также обязательное поле, поэтому пользователь не должен иметь возможности продолжить и завершить регистрацию без указания номера телефона.
→ Подтвердите, указав неверный номер телефона (номер телефона с 2-3 цифрами), в этом случае также пользователь не сможет продолжить и завершить регистрацию с неверным номером телефона.
→ Подтвердите, указав действительный номер телефона в поле, в этом случае пользователь должен иметь возможность успешно зарегистрироваться с действительным номером телефона (учитывая, что пользователь правильно предоставил всю остальную информацию).
Флажок “Условия предоставления услуг”:
= Проверка без проверки флажка “Условия предоставления услуг”, так как это обязательное поле в процессе регистрации, пользователь не может продолжить процесс регистрации, не установив этот флажок.
→ Установлен флажок Проверить Условия предоставления услуг, после чего пользователь может успешно завершить регистрацию без каких-либо ошибок (учитывая, что пользователь правильно предоставил всю остальную информацию).
Так мы видели до сих пор
- Какие поля обычно присутствуют на Странице регистрации, а также пример страницы регистрации LambdaTest.
- Ожидаемый рабочий процесс страницы регистрации.
- Тестовые примеры/сценарии для страницы регистрации
Автоматизация формы регистрации пользователей с использованием Selenium и Java
До сих пор в этом учебнике по Java Selenium вы четко представляли, что вам нужно протестировать на странице регистрации. Имея это в виду, давайте приступим к действиям и автоматизируем эту страницу регистрации, выполнив автоматическое тестирование Selenium с помощью Java и TestNG.
Теперь мы разработаем сценарии автоматизации Selenium и выполним их в онлайн-сетке Selenium. Мы также будем использовать возможности параллельного тестирования для ускорения нашего автоматизированного кроссбраузерного тестирования. Но прежде всего вы должны быть готовы к следующим предварительным условиям.
Предпосылки
Прежде чем перейти к сценарию, давайте рассмотрим некоторые основные предпосылки для написания и выполнения сценария тестирования Selenium Automation.
- JDK и JRE – Это необходимо для выполнения любой программы Java в нашей системе. Вы можете скачать его с официального сайта Oracle. Вы можете скачать его с официального сайта Oracle.
- Среда РАЗРАБОТКИ Eclipse – Мы использовали Eclipse для написания нашей программы или тестового сценария. Вы можете скачать его с официального сайта Eclipse или вы можете использовать любую другую ИДЕЮ по вашему выбору.
- Банки Selenium – Для написания любого сценария тестирования автоматизации Selenium в проекте должны быть банки Selenium. Вы можете скачать банки с селеном с официального сайта Selenium .
- Платформа TestNG/| – В следующем тестовом сценарии мы использовали платформу TestNG для тестирования автоматизации Selenium, которая поможет нам в создании отчетов о тестировании, приоритизации тестовых случаев, группировании тестовых случаев, а также для параллельного выполнения в разных браузерах. Вы можете либо загрузить банки TestNG, либо напрямую добавить их в Eclipse с Eclipse Marketplace, используя URL-адрес TestNG Eclipse или вы можете обратиться к Тестирование для загрузки .
В приведенном ниже примере мы интегрировали наш тестовый скрипт с Лямбда-тестом, инструментом кроссбраузерного тестирования. Интересно, почему мы запускаем наши тесты автоматизации Selenium на облачном инструменте тестирования Selenium, таком как Лямбда-тест?
Хотя Selenium позволяет автоматизировать тестирование веб-приложений в разных браузерах. Вы можете выполнять тестирование Selenium automation только в браузерах, установленных на вашем компьютере, где запущен локальный веб-драйвер. Теперь установка сотен браузеров и поддержка библиотеки для вашей собственной инфраструктуры Selenium может быть очень трудоемкой, не говоря уже о том, что это отнимает много времени.
Вот почему рекомендуется запускать автоматическое тестирование Selenium в онлайн-инструменте для тестирования селена , таком как Лямбда-тест, но это не единственная причина для этого. Лямбда-тест – это намного больше!
Что такое Лямбда-тест?
Лямбда-тест – это инструмент кроссбраузерного тестирования в облаке, который предлагает как ручное, так и автоматическое тестирование совместимости браузеров в сетке Selenium, состоящей из более чем 2000 реальных браузеров в облаке. LambdaTest позволяет выполнять параллельное тестирование, создавать подробные отчеты о тестировании Selenium automation, предоставляет вам записанное видео всего выполнения тестового сценария, а также возможность легко интегрировать ваш набор для тестирования Selenium automation с вашими любимыми инструментами CI/CD. Он также предлагает собственные плагины для Jenkins и многое другое.
Автоматическое Тестирование Selenium Для Страницы Регистрации С Помощью Лямбда-Теста
Итак, теперь давайте обсудим процесс интеграции нашего тестового сценария с лямбда-тестом и выполним его, чтобы увидеть результаты. В нашем тестовом сценарии selenium мы инициализируем веб-драйвер как,
WebDriver driver = new ChromeDriver(); Or WebDriver driver = new FirefoxDriver(); Or WebDriver driver = new EdgeDriver();
В то время как для начала, когда мы хотим запустить тестовый скрипт на сетке лямбда-теста Selenium, мы должны инициализировать веб-драйвер как
WebDriver driver = new RemoteWebDriver(new URL("https://" + username + ":" + accesskey + "@hub.lambdatest.com/wd/hub"), DesiredCapabilities.firefox());
Теперь возникнет несколько вопросов, например, для чего нужны эти имя пользователя и ключ доступа? Таким образом, мы можем сгенерировать эти имя пользователя и ключ доступа из Генератора возможностей лямбда-теста .
Здесь, как только мы выберем ОС, браузер, версию веб-драйвера Selenium и т. Д., Мы сможем получить имя пользователя и ключ доступа для наших пользователей, которые мы можем использовать в тестовом сценарии.
Примечание: Чтобы сгенерировать это имя пользователя и ключ доступа, вы должны быть зарегистрированы и войти в свою учетную запись Lambda Test.
Поэтому после того, как мы сгенерируем эти имя пользователя и ключ доступа, мы сможем использовать их в нашем тестовом сценарии в интеграции с лямбда-тестом. Мы создали следующий тестовый сценарий для страницы регистрации/регистрации лямбда-теста, мы рассмотрели тестовые сценарии, которые мы обсуждали выше, как ручные тестовые случаи и сценарии.
При выполнении любых тестовых случаев автоматизации существует несколько общих шагов, которые необходимо выполнить в начале набора тестов, в то время как перед каждым тестовым случаем требуется выполнить несколько шагов, которые мы можем назвать предварительными условиями для тестового случая. Например: При выполнении каждого тестового случая нам нужно открыть браузер и перейти по целевому URL-адресу, прежде чем приступить к выполнению фактического тестового случая, удалить файлы cookie и т.д..
Для этой цели мы используем аннотации @BeforeClass и @BeforeMethod из тестирования, поэтому в нашем случае нам понадобится
- чтобы установить несколько возможностей (браузер, платформа и т.д.)
- Откройте браузер
- Удалить файлы cookie
- Откройте платформу лямбда-тестирования и перейдите на страницу регистрации
public String username = "yadneshshah91"; //your LambdaTest username public String accesskey = "1234ABCD"; //your LambdaTest access key public static RemoteWebDriver driver = null; public String gridURL = "@hub.lambdatest.com/wd/hub"; //LambdaTest Hub URL boolean status = false; //Setting up capabilities to run our test script @Parameters(value= {"browser","version"}) @BeforeClass public void setUp(String browser, String version) throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("browserName", browser); capabilities.setCapability("version", version); capabilities.setCapability("platform", "win10"); // If this cap isn't specified, it will just get the any available one capabilities.setCapability("build", "LambdaTestSampleApp"); capabilities.setCapability("name", "LambdaTestJavaSample"); 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 + ":" + accesskey + gridURL), capabilities); } catch (MalformedURLException e) { System.out.println("Invalid grid URL"); } catch (Exception e) { System.out.println(e.getMessage()); } } //Opening browser with the given URL and navigate to Registration Page @BeforeMethod public void openBrowser() { driver.manage().deleteAllCookies(); driver.get("https://www.lambdatest.com/"); driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(15, TimeUnit.SECONDS); WebElement signUpButton = driver.findElement(By.xpath("//a[contains(text(),'Free Signup')]")); signUpButton.click(); }
В приведенной выше части кода обратите внимание на объект DesiredCapabilities. Этот объект используется для настройки таких возможностей, как браузер, версия, операционная система и т.д., И дает команду сетке лямбда-тестов запускать тесты для требуемых конфигураций. Если вы хотите запускать тесты локально, то вам не обязательно нужен этот объект. , , затем мы открыли браузер, удалили файлы cookie, перешли на страницу по умолчанию лямбда-теста, а затем нажали кнопку Зарегистрироваться, чтобы перенаправить на нашу целевую страницу, которая является страницей регистрации.
То же самое относится и к операциям/задачам, которые необходимо выполнить в конце или после выполнения тестовых случаев. Например: Закрытие сеанса браузера и т.д.
Для этого мы использовали аннотации @AfterMethod или @AfterMethod из тестирования. Если вы новичок в тестировании, то я предлагаю вам прочитать нашу подробную статью о Аннотации TestNG .
// Closing the browser session after completing each test case @AfterClass public void tearDown() throws Exception { if (driver != null) { ((JavascriptExecutor) driver).executeScript("lambda-status=" + status); driver.quit(); } }
В приведенной выше части кода вы можете видеть, что мы закрыли сеанс браузера, который нам нужно делать после каждого тестового случая.
Как мы уже видели, что и как это работает до и после каждого тестового случая, теперь давайте выполним автоматизированное тестирование Selenium для тестовых случаев, рассмотренных выше. В любом тестовом сценарии автоматизации Selenium для выполнения каких-либо действий с элементами веб-страницы нам сначала нужно их найти. Для этого мы используем Локаторы селена .
Глубокое Погружение В Тестовые Случаи
Давайте рассмотрим наши тестовые примеры, чтобы понять наши тестовые сценарии, которые нам необходимо автоматизировать с помощью тестирования Selenium.
Тестовый случай 1
Чтобы проверить, доступны ли ожидаемые элементы на странице регистрации.
//Verifying elements on Registration page @Test public void verifyElemntsOnPageTest() { WebElement lambdaTestLogo = driver.findElement(By.xpath("//p[@class='signup-titel']")); lambdaTestLogo.isDisplayed(); WebElement signUpTitle = driver.findElement(By.xpath("//p[@class='signup-titel']")); signUpTitle.isDisplayed(); WebElement termsText = driver.findElement(By.xpath("//label[@class='woo']")); termsText.isDisplayed(); WebElement loginLinkText = driver.findElement(By.xpath("//p[@class='login-in-link test-left']")); loginLinkText.isDisplayed(); }
В приведенном выше тестовом примере функции verifyElemntsOnPageTest мы обнаружили несколько элементов, таких как логотип LambdaTest, заголовок регистрации, текст условий предоставления услуг и т.д. Для поиска веб-элементов мы можем использовать различные стратегии поиска, такие как идентификатор, XPath, селектор CSS, имя класса и т.д.. В приведенном выше случае мы обнаружили эти элементы с помощью XPath.
Как только эти элементы будут найдены, мы проверим каждый из них, отображаются ли они с помощью метода Отображается().
Тестовый случай 2
To verify the redirections with the links present on the pages. //Verifying redirection to the terms and conditions page @Test public void termsRedirectionTest() { WebElement termsLink = driver.findElement(By.xpath("//a[contains(text(),'Terms')]")); termsLink.click(); SetallWindows = driver.getWindowHandles(); for(String handle : allWindows) { driver.switchTo().window(handle); } String expectedURL = "https://www.lambdatest.com/terms-of-service"; String actualURL = driver.getCurrentUrl(); //System.out.println(actualURL); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Terms of Service - LambdaTest"; String actualTitle = driver.getTitle(); //System.out.println(actualTitle); Assert.assertEquals(actualTitle, expectedTitle); } //Verifying Privacy policy page redirection @Test public void privacyPolicyRedirectionTest() { WebElement privacyPolicyLink = driver.findElement(By.xpath("//a[contains(text(),'Privacy')]")); privacyPolicyLink.click(); Set allWindows = driver.getWindowHandles(); for(String handle : allWindows) { driver.switchTo().window(handle); } String expectedURL = "https://www.lambdatest.com/privacy"; String actualURL = driver.getCurrentUrl(); //System.out.println(actualURL); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Privacy Policy | LambdaTest"; String actualTitle = driver.getTitle(); //System.out.println(actualTitle); Assert.assertEquals(actualTitle, expectedTitle); } //Verifying redirection to the Login page from Registration page @Test public void loginRedirectionTest() { WebElement loginLink = driver.findElement(By.xpath("//a[contains(text(),'Login')]")); loginLink.click(); String expectedURL = "https://accounts.lambdatest.com/login"; String actualURL = driver.getCurrentUrl(); //System.out.println(actualURL); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Login - LambdaTest"; String actualTitle = driver.getTitle(); //System.out.println(actualTitle); Assert.assertEquals(actualTitle, expectedTitle); } //Verifying redirection to the landing page @Test public void landingPageRedirectionTest() { WebElement lambdaTestLogo = driver.findElement(By.xpath("//p[@class='logo-home']//a//img")); lambdaTestLogo.click(); String expectedURL = "https://www.lambdatest.com/"; String actualURL = driver.getCurrentUrl(); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = ""; }
Итак, здесь вы можете видеть, что мы добавили 4 метода для различных ссылок, представленных на странице регистрации и мы проверили, что после нажатия на эти ссылки пользователь перенаправляется на правильный URL и страницу или нет. В описанных выше методах мы также добавили утверждения, чтобы проверить, выполняется ли перенаправление должным образом.
Тестовый случай 3
Для проверки процесса регистрации с предоставлением действительных входных данных.
// Registration with all valid data @Test public void validRegistrationTest(){ WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test6.lambdatest@gmail.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@12345"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedURL = "https://accounts.lambdatest.com/email/verify"; String actualURL = driver.getCurrentUrl(); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Verify Your Email Address - LambdaTest"; String actualTitle = driver.getTitle(); Assert.assertEquals(actualTitle, expectedTitle); }
Тестовый случай 4
Для проверки процесса регистрации с различными неверными входными данными.
// Registration without providing Company Name field @Test public void emptyCompanyNameTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys(""); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test7.lambdatest@gmail.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@12345"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); /* * SetallWindows = driver.getWindowHandles(); * * for(String handle : allWindows) { driver.switchTo().window(handle); } */ String expectedURL = "https://accounts.lambdatest.com/email/verify"; String actualURL = driver.getCurrentUrl(); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Verify Your Email Address - LambdaTest"; String actualTitle = driver.getTitle(); Assert.assertEquals(actualTitle, expectedTitle); } // Registration without providing Name field @Test public void emptyNameTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys(""); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Please enter your Name"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Please enter your Name')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration without providing user email field @Test public void emptyEmailTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("test"); WebElement email = driver.findElement(By.name("email")); email.sendKeys(""); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Please enter your Email Address"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Please enter your Email Address')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration with email id which already have account @Test public void invalidEmailTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "This email is already registered"; WebElement exp = driver.findElement(By.xpath("//p[@class='error-mass']")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration without providing password field @Test public void emptyPasswordTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys(""); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Please enter a desired password"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Please enter a desired password')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration with invalid password @Test public void inValidPasswordTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("T"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Password should be at least 8 characters long"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Password should be at least 8 characters long')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); //Password should be at least 8 characters long } // Registration without providing user phone number field @Test public void emptyPhoneTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys(""); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "The phone field is required."; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'The phone field is required.')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration with providing invalid user phone number field @Test public void inValidPhoneTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("98"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Please enter a valid Phone number"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Please enter a valid Phone number')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); //Please enter a valid Phone number } // Registration without accepting terms and condition tickbox @Test public void uncheckedTerms() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); //WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); //termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedTermsErrorMessage = "To proceed further you must agree to our Terms of Service and Privacy Policy"; WebElement uncheckedTermCheckbox = driver.findElement(By.xpath("//p[@class='error-mass mt-2']")); String actualTermsErrorMessage = uncheckedTermCheckbox.getText(); //To proceed further you must agree to our Terms of Service and Privacy Policy Assert.assertEquals(actualTermsErrorMessage, expectedTermsErrorMessage); }
В приведенной выше части кода вы можете видеть, что мы рассмотрели различные случаи, когда то или иное поле содержит неверные входные данные. Кроме того, в конце каждого метода мы добавили утверждение вместе с ожидаемыми сообщениями об ошибках для предоставленных нами неверных входных данных.
Весь Тестовый Сценарий Для Автоматизации Регистрации С Использованием Selenium И Java
Поскольку мы видели сценарий тестирования Selenium automation и различные тестовые случаи по частям, теперь давайте объединим этот код, чтобы представить весь тестовый сценарий, который мы можем выполнить в нескольких браузерах, которые мы предоставляем в качестве параметра. Поэтому, пожалуйста, также обратитесь к testng.xml файл, который предоставляется в конце, что очень важно для параллельного выполнения тестирования Selenium automation в разных браузерах.
Сценарий автоматизированного тестирования для Страницы регистрации Лямбда-теста:
package com.lambdatest; //TestNG Todo : Sample App import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.Platform; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import org.testng.asserts.Assertion; import com.beust.jcommander.Parameter; import java.net.MalformedURLException; import java.net.URL; import java.util.Set; import java.util.concurrent.TimeUnit; public class SignUpTest{ public String username = "yadneshshah91"; public String accesskey = "iD4oCZKyC8R2kwH1kLhTxAGgXZFANGoyzGDzY9RTqDTx9jskZo"; public static RemoteWebDriver driver = null; public String gridURL = "@hub.lambdatest.com/wd/hub"; boolean status = false; //Setting up capabilities to run our test script @Parameters(value= {"browser","version"}) @BeforeClass public void setUp(String browser, String version) throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("browserName", browser); capabilities.setCapability("version", version); capabilities.setCapability("platform", "win10"); // If this cap isn't specified, it will just get any available one capabilities.setCapability("build", "LambdaTestSampleApp"); capabilities.setCapability("name", "LambdaTestJavaSample"); 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 + ":" + accesskey + gridURL), capabilities); } catch (MalformedURLException e) { System.out.println("Invalid grid URL"); } catch (Exception e) { System.out.println(e.getMessage()); } } //Opening browser with the given URL and navigate to Registration Page @BeforeMethod public void openBrowser() { driver.manage().deleteAllCookies(); driver.get("https://www.lambdatest.com/"); driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(15, TimeUnit.SECONDS); WebElement signUpButton = driver.findElement(By.xpath("//a[contains(text(),'Start Free Testing')]")); signUpButton.click(); } //Verifying elements on Registration page @Test public void verifyElemntsOnPageTest() { WebElement lambdaTestLogo = driver.findElement(By.xpath("//p[@class='signup-titel']")); lambdaTestLogo.isDisplayed(); WebElement signUpTitle = driver.findElement(By.xpath("//p[@class='signup-titel']")); signUpTitle.isDisplayed(); WebElement termsText = driver.findElement(By.xpath("//label[@class='woo']")); termsText.isDisplayed(); WebElement loginLinkText = driver.findElement(By.xpath("//p[@class='login-in-link test-left']")); loginLinkText.isDisplayed(); } //Verifying redirection to the terms and conditions page @Test public void termsRedirectionTest() { WebElement termsLink = driver.findElement(By.xpath("//a[contains(text(),'Terms')]")); termsLink.click(); SetallWindows = driver.getWindowHandles(); for(String handle : allWindows) { driver.switchTo().window(handle); } String expectedURL = "https://www.lambdatest.com/terms-of-service"; String actualURL = driver.getCurrentUrl(); //System.out.println(actualURL); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Terms of Service - LambdaTest"; String actualTitle = driver.getTitle(); //System.out.println(actualTitle); Assert.assertEquals(actualTitle, expectedTitle); } //Verifying Privacy policy page redirection @Test public void privacyPolicyRedirectionTest() { WebElement privacyPolicyLink = driver.findElement(By.xpath("//a[contains(text(),'Privacy')]")); privacyPolicyLink.click(); Set allWindows = driver.getWindowHandles(); for(String handle : allWindows) { driver.switchTo().window(handle); } String expectedURL = "https://www.lambdatest.com/privacy"; String actualURL = driver.getCurrentUrl(); //System.out.println(actualURL); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Privacy Policy | LambdaTest"; String actualTitle = driver.getTitle(); //System.out.println(actualTitle); Assert.assertEquals(actualTitle, expectedTitle); } //Verifying redirection to the Login page from Registration page @Test public void loginRedirectionTest() { WebElement loginLink = driver.findElement(By.xpath("//a[contains(text(),'Login')]")); loginLink.click(); String expectedURL = "https://accounts.lambdatest.com/login"; String actualURL = driver.getCurrentUrl(); //System.out.println(actualURL); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Login - LambdaTest"; String actualTitle = driver.getTitle(); //System.out.println(actualTitle); Assert.assertEquals(actualTitle, expectedTitle); } //Verifying redirection to the landing page @Test public void landingPageRedirectionTest() { WebElement lambdaTestLogo = driver.findElement(By.xpath("//p[@class='logo-home']//a//img")); lambdaTestLogo.click(); String expectedURL = "https://www.lambdatest.com/"; String actualURL = driver.getCurrentUrl(); Assert.assertEquals(actualURL, expectedURL); } // Registration with all valid data @Test public void validRegistrationTest(){ WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test6.lambdatest@gmail.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@12345"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedURL = "https://accounts.lambdatest.com/email/verify"; String actualURL = driver.getCurrentUrl(); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Verify Your Email Address - LambdaTest"; String actualTitle = driver.getTitle(); Assert.assertEquals(actualTitle, expectedTitle); } // Registration without providing Company Name field @Test public void emptyCompanyNameTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys(""); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test7.lambdatest@gmail.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@12345"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); /* * Set allWindows = driver.getWindowHandles(); * * for(String handle : allWindows) { driver.switchTo().window(handle); } */ String expectedURL = "https://accounts.lambdatest.com/email/verify"; String actualURL = driver.getCurrentUrl(); Assert.assertEquals(actualURL, expectedURL); String expectedTitle = "Verify Your Email Address - LambdaTest"; String actualTitle = driver.getTitle(); Assert.assertEquals(actualTitle, expectedTitle); } // Registration without providing Name field @Test public void emptyNameTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys(""); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Please enter your Name"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Please enter your Name')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration without providing user email field @Test public void emptyEmailTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("test"); WebElement email = driver.findElement(By.name("email")); email.sendKeys(""); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Please enter your Email Address"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Please enter your Email Address')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration with email id which already have account @Test public void invalidEmailTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "This email is already registered"; WebElement exp = driver.findElement(By.xpath("//p[@class='error-mass']")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration without providing password field @Test public void emptyPasswordTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys(""); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Please enter a desired password"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Please enter a desired password')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration with invalid password @Test public void inValidPasswordTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("T"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Password should be at least 8 characters long"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Password should be at least 8 characters long')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); //Password should be at least 8 characters long } // Registration without providing user phone number field @Test public void emptyPhoneTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys(""); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "The phone field is required."; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'The phone field is required.')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); } // Registration with providing invalid user phone number field @Test public void inValidPhoneTest() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("98"); WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedErrorMsg = "Please enter a valid Phone number"; WebElement exp = driver.findElement(By.xpath("//p[contains(text(),'Please enter a valid Phone number')]")); String actualErrorMsg = exp.getText(); Assert.assertEquals(actualErrorMsg, expectedErrorMsg); //Please enter a valid Phone number } // Registration without accepting terms and condition tickbox @Test public void uncheckedTerms() { WebElement companyName = driver.findElement(By.name("organization_name")); companyName.sendKeys("TestCompany"); WebElement fullName = driver.findElement(By.name("name")); fullName.sendKeys("TestName"); WebElement email = driver.findElement(By.name("email")); email.sendKeys("test@test.com"); WebElement password = driver.findElement(By.name("password")); password.sendKeys("Test@123"); WebElement phone = driver.findElement(By.name("phone")); phone.sendKeys("9876543210"); //WebElement termsOfServices = driver.findElement(By.id("terms_of_service")); //termsOfServices.click(); WebElement signUp = driver.findElement(By.xpath("//button[contains(@class,'btn sign-up-btn-2 btn-block')]")); signUp.click(); String expectedTermsErrorMessage = "To proceed further you must agree to our Terms of Service and Privacy Policy"; WebElement uncheckedTermCheckbox = driver.findElement(By.xpath("//p[@class='error-mass mt-2']")); String actualTermsErrorMessage = uncheckedTermCheckbox.getText(); //To proceed further you must agree to our Terms of Service and Privacy Policy Assert.assertEquals(actualTermsErrorMessage, expectedTermsErrorMessage); } // Closing the browser session after completing each test case @AfterClass public void tearDown() throws Exception { if (driver != null) { ((JavascriptExecutor) driver).executeScript("lambda-status=" + status); driver.quit(); } } }
В приведенном выше примере тестового сценария вы можете заметить, что мы использовали параметризованную опцию для указания имени браузера и версии браузера, чтобы мы могли предоставить браузер и версию браузера в соответствии с нашими требованиями, на которых нам необходимо протестировать вышеуказанный тестовый сценарий. Мы также можем предоставить несколько браузеров и версий для параллельного выполнения нашего тестового сценария.
И для достижения этого нам нужно предоставить эти значения имени и версии браузера из testng.xml файл, который мы используем с каждым скриптом TestNG. Например, вы можете сослаться на следующее testng.xml в котором мы предоставили 2 браузера (Chrome и Firefox) с их соответствующими версиями.
Ниже приведен снимок окончательного выполнения, которое было запущено на тестовой платформе Lambda. Мы выполнили скрипт автоматизации кроссбраузерного тестирования в двух браузерах, таких как Google Chrome 77 и Mozilla Firefox 69.
Если вы посмотрите на панель мониторинга лямбда-теста автоматизация , вы сможете заметить несколько вкладок, представляющих различные типы журналов для вашего сценария автоматизации тестирования. Вы получаете вкладки для анализа журналов команд, сетевых журналов, необработанных журналов Selenium, метаданных и многого другого. Вы также получаете полную видеозапись вашего сценария кроссбраузерного тестирования на облачных серверах Lambda Test, а также скриншот по команде.
Это Было Все
Теперь вы можете перейти к автоматизации страницы регистрации с использованием Selenium и Java. В этом руководстве по Java Selenium мы рассмотрели процесс регистрации лямбда-теста. Мы подумали о разных тестовых случаях, скомпилировали тестовый сценарий для их выполнения, а затем сценарий Selenium Automation testing был проанализирован для параллельного запуска в разных браузерах.
Тестовые сценарии автоматизации Selenium были выполнены с использованием Selenium и Java с помощью платформы тестирования. В случае, если вы чувствуете, что я пропустил особые тестовые случаи, касающиеся страницы регистрации лямбда-теста, не стесняйтесь, дайте мне знать. Я весь внимание! Счастливого испытания. 🙂
Оригинал: “https://dev.to/ramitd1995/selenium-java-tutorial-automation-testing-of-user-signup-form-3kmg”