atesting.ru Блог Что такое относительные локаторы Selenium и как их использовать

Что такое относительные локаторы Selenium и как их использовать

В этой серии статей о Selenium 4 мы подробно рассмотрим локаторы Selenium Relative.

Что такое относительные локаторы в Selenium 4?

Относительные локаторы в Selenium, ранее известном как Friendly Locators.

При автоматизации тестирования наша основная задача при написании тестовых сценариев для веб-приложений — это поиск веб-элементов. Мы уже знаем существующие локаторы Selenium (id, name, className, linkText, partialLinkText, tagName, cssSelector, xpath). Вы можете узнать о локаторах Selenium здесь. Здесь следует отметить, что иногда мы не можем найти элементы, использующие эти локаторы, и чтобы преодолеть это, мы используем JavaScriptExecutor. Вы можете узнать о JavaScriptExecutor в Selenium здесь.

В Selenium 4.0 в список локаторов добавлен новый локатор, то есть дружественные локаторы, а позже он переименован в относительные локаторы.

Это помогает нам находить веб-элементы по их положению относительно других веб-элементов, таких как вверху , внизу , toLeftOf , toRightOf и около .

Проще говоря, относительные локаторы позволяют нам находить веб-элементы на основе их положения по отношению к другим веб-элементам.

< p> В Selenium 4 недавно добавлено пять локаторов:

above ()

Он предназначен для поиска веб-элемента чуть выше указанного элемента

below ()

Он предназначен для размещения веб-элемента чуть ниже указанного элемента

toLeftOf ()

Он предназначен для поиска веб-элемента, присутствующего слева от указанного элемента

< strong> toRightOf ()

Он предназначен для поиска веб-элемента, присутствующего справа от указанного элемента

near ( )

Он предназначен для размещения веб-элемента прибл. 50 пикселей от указанного элемента. Расстояние можно передать в качестве аргумента перегруженному методу.

Примечание. Добавлен метод withTagName (), который возвращает экземпляр RelativeLocator. Вышеупомянутые относительные локаторы поддерживают этот метод withTagName ()

Практические примеры относительных локаторов Selenium

< p>Что такое Относительные локаторы Selenium и их использование

ШАГ 1. Импортируйте RelativeLocator 'withTagName'

import static org.openqa.selenium .support.locators.RelativeLocator.withTagName;

ШАГ 2: Запустите веб-браузер и перейдите по адресу https://www.softwaretestingmaterial.com/

ШАГ 3. Найдите текстовое поле веб-элемента «Ваше имя»

ШАГ 4: Найдите текстовое поле веб-элемента «Ваш адрес электронной почты»

ШАГ 5: Найдите текстовое поле «Ваш адрес электронной почты», которое находится слева от текстового поля «Ваше имя», и введите текст.

ШАГ 6. Найдите текстовое поле «Ваше имя», которое находится справа от текстового поля «Ваш адрес электронной почты», и введите текст

ШАГ 7. Найдите веб-элемент «Учебник по Selenium» и откройте его

ШАГ 8: Найдите веб-элемент «Учебник по Java» и откройте его

ШАГ 9. Закройте браузер, чтобы завершить работу программы

123456789101112131415161718192021222324252627282930313233343536373839404142434/td. >

пакет программных тестовых материалов; import static org.openqa.selenium.support.locators.RelativeLocator.withTagName; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class RelativeLocatorsSample {public static void main (String [] args) {System.setProperty (& # 34; webdriver.gecko.driver & # 34; & # 34; C: \ Selenium \ drivers \ geckodriver-v0. 24.0-win64 \ geckodriver.exe & # 34;); Драйвер WebDriver = новый FirefoxDriver (); //Запустите веб-браузер и перейдите по адресу https://www.softwaretestingmaterial.com/driver.get (& # 34; http: //softwaretestingplace.blogspot.com/2015/10/sample-web-page-to-test .html & # 34;); //Найдите веб-элемент & # 39; Ваше имя & # 39; текстовое поле WebElement yourNameLabel = driver.findElement (By.xpath (& # 34; //input [@id = & # 39; form-field-name & # 39;] & # 34;)); //Найдите веб-элемент & # 39; Ваш адрес электронной почты & # 39; текстовое поле WebElement yourEmailLabel = driver.findElement (By.xpath (& # 34; //input [@id = & # 39; form-field-email & # 39;])); //Найдите & # 39; Ваш адрес электронной почты & # 39; текстовое поле слева от & # 39; Ваше имя & # 39; текстовое поле и введите текст WebElement txtEmailLabel = driver.findElement (withTagName (& # 34; input & # 34;). toLeftOf (yourNameLabel)); txtEmailLabel.sendKeys (& # 34; [email protected]"); //Найдите & # 39; Ваше имя & # 39; текстовое поле справа от & # 39; Your Email & # 39; текстовое поле и введите текст WebElement txtNameLabel = driver.findElement (withTagName (& # 34; input & # 34;). toRightOf (yourEmailLabel)); txtNameLabel.sendKeys (& # 34; YourName & # 34;); //Найдите веб-элемент & # 39; Selenium Tutorial & # 39; и откройте его WebElement seleniumTutorial = driver.findElement (withTagName (& # 34; img & # 34;). ниже (тема)); seleniumTutorial.click (); //Найдите веб-элемент & # 39; Java Tutorial & # 39; и откройте его WebElement javaTutorial = driver.findElement (withTagName (& # 34; img & # 34;). выше (тема)); javaTutorial.click (); //Закрываем браузер driver.close (); }}

TAG: qa