Одним из наиболее фундаментальных и важных взаимодействий при автоматизированном тестировании Selenium является автоматизация операций нажатия на элементы на веб-странице. Мы облегчаем взаимодействие при нажатии с помощью метода Selenium.click().
Метод Selenium click(), хотя и является одним из самых основных, часто используется неэффективно. Даже опытные тестировщики, кажется, упускают всю реализацию метода click в Selenium. Они заняты написанием сложных тестовых сценариев и забывают, что иногда случайный щелчок в пользовательском интерфейсе веб-приложения может привести к ошибке. Именно поэтому сегодня я расскажу о различных способах использования команды Selenium.click(), которые помогут вам быстрее и лучше выполнять автоматизацию тестирования.
В этой статье я подробно расскажу о Selenium.click(). Мы автоматизируем от базовых до продвинутых взаимодействий с помощью щелчка.
Если вы новичок в Selenium и задаетесь вопросом, что это такое, рекомендуем ознакомиться с нашим руководством — Что такое Selenium?
Если вы опытный тестировщик, вы можете пропустить базовые операции и перейти к продвинутым операциям с мышью. Для новичков мы начнем с базового введения в Selenium-тестирование. Без лишних слов, поехали!
Попробуйте использовать эту сетку инструментов Selenium Testing Tool Grid для запуска сценариев автоматизации тестирования в браузере. Наша облачная инфраструктура насчитывает 3000+ настольных и мобильных сред. Попробуйте бесплатно!
- Что такое Selenium?
- Что такое Selenium ‘.click()’?
- Базовые операции с использованием Selenium.Click()
- Выполнение щелчка мышью/щелчка левой кнопкой мыши в Selenium-тестировании
- Выполнение правого клика в Selenium тестировании
- Выполнение наведения мыши в Selenium-тестировании
- Расширенные операции с использованием Selenium.Click()
- Использование Selenium Click Button с координатами X,Y
- Выполнение двойного щелчка в Selenium-тестировании
- Щелчок и удержание с помощью автоматизированного тестирования Selenium
- Выполнение перетаскивания в Selenium-тестировании
- Локаторы и щелчок Selenium
- 1. ID()
- 2. Name()
- 3. Имя класса()
- 4. Имя тега()
- 5. Link Text()
- 6. Частичный текст ссылки()
- 7. CSS Selector()
- 8. Xpath()
- Бонус: случайные ссылки с помощью метода Click в Selenium
- Бонус: Java Loop с использованием метода нажатия кнопки Selenium
- Мы щелкнули несколько новых идей?
Что такое Selenium?
Selenium — один из самых популярных фреймворков для автоматизации тестирования. Будучи бесплатным и с открытым исходным кодом, он стал популярным выбором среди мирового сообщества тестировщиков для автоматизации веб-тестирования. Автоматизированное тестирование Selenium поддерживает множество языков программирования и браузеров, таких как Google Chrome, Mozilla Firefox, Safari, Microsoft Edge, Internet Explorer и т.д., что делает его идеальным выбором для проведения автоматизированного кроссбраузерного тестирования. Его популярность как open-source помогла ему обеспечить совместимость с многочисленными фреймворками автоматизации тестирования! Давайте быстро и в общих чертах разберемся в этом.
Selenium имеет 4 варианта:
-
Selenium IDE (интегрированная среда разработки) — это фреймворк, который используется только для автоматизации веб-приложений. Это комбинированный инструмент записи и воспроизведения, который используется для автоматизации веб-приложений в браузерах Firefox и Chrome.
-
Selenium RC (Remote Control) — Selenium Remote Control также называется selenium 1.0. Он поддерживает все браузеры, но при использовании selenium RC необходимо сначала запустить сервер. его выполнение медленнее. Он не поддерживает протокол HTTP.
-
Selenium WebDriver — Selenium webdriver — это инструмент для автоматизации веб-страниц, который используется только для автоматизации веб-страниц. Для работы с Selenium WebDriver не нужен сервер. Он напрямую подключается к браузерам с помощью драйвера.
-
Selenium Grid — Selenium Grid представляет собой комбинацию клиентской библиотеки webdriver и библиотеки RC (Remote Control). Мы используем Selenium Grid для выполнения программы в удаленном управлении.
Selenium Webdriver также поддерживает безголовый браузер, например PhantomJS. Между тем, Selenium WebDriver имеет и некоторые недостатки, например, WebDriver не может автоматизировать captcha. Использование Selenium WebDriver для игрового и аудио & видео тестирования невозможно. Самый большой недостаток Selenium WebDriver заключается в его способе выполнения тестов. Selenium WebDriver позволяет последовательное выполнение тестовых примеров, что делает его немного проблематичным для сложных и больших веб-приложений или наборов тестов, поскольку может потребоваться довольно много времени для проверки достаточного тестового покрытия.
В качестве решения была представлена Selenium Grid, позволяющая тестировщикам выполнять параллельное тестирование с помощью Selenium. Сегодня, когда автоматизация тестирования находится на подъеме, Selenium играет решающую роль в помощи стартапам и крупным предприятиям в запуске на рынок.
Для получения более подробной информации о различиях между этими 4 вариантами Selenium, обратитесь к нашему учебнику по Selenium WebDriver.
Ознакомьтесь с этим учебником по автоматизированному тестированию Cypress. Это поможет вам узнать о преимуществах автоматизации Cypress, а также о том, как установить Cypress и выполнить автоматизированное тестирование Cypress на множестве браузеров и операционных систем в режиме онлайн…
Что такое Selenium ‘.click()’?
Selenium предлагает метод ‘.click()’, чтобы помочь вам выполнять различные операции с помощью мыши для вашего веб-приложения. Вы можете использовать метод Selenium click button для различных целей, таких как выбор радиокнопки и флажка или просто нажатие на любую кнопку или ссылку, перетаскивание, нажатие и удержание и т.д.
В следующем разделе я собираюсь продемонстрировать практическую реализацию метода Selenium click button для базовых и расширенных операций. После этого я также покажу, как можно использовать селекторы CSS с методом Selenium .click.
Базовые операции с использованием Selenium.Click()
Давайте начнем с основных операций, которые вы выполняете, используя метод нажатия кнопки Selenium для автоматизации тестирования. Мы сделаем это с помощью класса Action. Класс Action — это способность, используемая для обработки любой операции мыши с помощью метода кнопки Selenium click. Он поставляется как встроенная способность для автоматизированного тестирования Selenium. Вы также можете использовать класс Action для взаимодействия с клавиатурой.
Выполнение щелчка мышью/щелчка левой кнопкой мыши в Selenium-тестировании
Самая основная операция с использованием метода кнопки Selenium — это щелчок левой кнопкой мыши или щелчок мышью.
Сценарий тестирования: Посетите домашнюю страницу LambdaTest и нажмите на кнопку Login.
Пример кода для тестового сценария:
Вы также можете использовать кнопку Selenium .click() для включения/выключения флажков, радиокнопок.
Сценарий тестирования 2: После нажатия на кнопку LambdaTest Login установите флажок «Запомнить меня».
Примечание: Для подтверждения того, выбран ли флажок или радиокнопка или нет, мы используем функцию isSelected().
Эта сертификация предназначена для тех, кто хочет быть впереди среди профессионалов, развивающих свою карьеру в области автоматизированного тестирования Selenium.
Вот краткий обзор сертификации Selenium 101 от LambdaTest:
Выполнение правого клика в Selenium тестировании
В некоторых сценариях при автоматизированном Selenium-тестировании веб-страницы вам может понадобиться автоматизировать нажатие правой кнопки мыши на кнопке, тексте, изображении и т.д.
**Сценарий тестирования: **Зайдите на LambdaTest Live и откройте видео в новой вкладке.
Класс действий может оказаться неэффективным для автоматизации этого сценария, поскольку мы пытаемся открыть меню правой кнопки мыши в браузере Google Chrome. Класс Action имеет несколько ограничений на использование клавиатуры, вы можете объявить только клавиши-модификаторы, такие как Shift, Ctrl, CapsLk и т.д., используя класс actions. Однако вы можете использовать класс Robot, чтобы задействовать клавиатурные вводы, отличные от клавиш-модификаторов.
Здесь мы будем использовать класс Robot для захвата элементов меню правой кнопки мыши и выполнения щелчка на одном из этих элементов для автоматизации с помощью метода Selenium click button.
Это руководство по браузерному тестированию Playwright поможет вам настроить фреймворк Playwright, что позволит вам писать сквозные тесты для ваших будущих проектов.
Выполнение наведения мыши в Selenium-тестировании
Наведение курсора мыши является жизненно важной частью любого контрольного списка кроссбраузерного тестирования. Много раз вы хотите проверить, поддерживается ли стилизация, примененная к веб-элементу, последовательным образом при доступе из разных браузеров или нет? Вы также можете использовать наведение мыши для проверки сообщения с подсказкой на кнопке.
Сценарий тестирования: Зайдите на сайт LambdaTest Pricing и наведите курсор мыши на текст «Что такое параллельные тесты?». После понимания того, что такое параллельные тесты, выберите значение параллельного теста из выпадающего списка.
В некоторых проектах некоторые элементы времени не видны или элемент отключен, в этом случае нам необходимо воспользоваться помощью JavaScript Executor. При работе с невидимыми элементами возникает «illegalStateException», и мы можем избавиться от этого с помощью JavascriptExecutor.
Пример сценария для тестового сценария:
Расширенные операции с использованием Selenium.Click()
Рассмотрев основные операции, мы переходим к выполнению расширенных операций с использованием метода Selenium Click Button.
Использование Selenium Click Button с координатами X,Y
Мы можем использовать movebyOffset для выполнения щелчка в любом месте страницы, передавая координаты (x,y) в WebDriver. Вы можете даже генерировать щелчок на пустых участках веб-страницы, если вам известны координаты (X,Y).
Сценарий тестирования: Посетите домашнюю страницу LambdaTest и найдите координаты (x,y) для кнопки «Начать бесплатное тестирование».
На изображении выше вы можете заметить координаты X, Y, указанные под выделенной кнопкой «Начать бесплатное тестирование».
Примечание: Эти координаты (X, Y) будут отличаться в зависимости от разрешения и размера экрана.
Выполнение двойного щелчка в Selenium-тестировании
Двойной щелчок является обязательным элементом автоматизированного тестирования Selenium, будь то тестирование производительности или автоматизированное тестирование браузера. Вот пример того, как можно выполнить двойной щелчок с помощью скриптов автоматизации Selenium.
Щелчок и удержание с помощью автоматизированного тестирования Selenium
Много раз, выполняя автоматизированное тестирование с помощью Selenium, вы можете столкнуться с требованием выделить текст или изображение, щелкнув и удерживая мышь. Давайте рассмотрим сценарий для автоматизации этого взаимодействия.
Сценарий тестирования: Посетите интерфейс JQuery UI Draggable Interface, щелкните и удерживайте мышь над перетаскиваемым полем, а затем переместите его с помощью смещения.
Ниже приведен код для автоматизации щелчка и удержания, а также перемещения с помощью смещения.
Выполнение перетаскивания в Selenium-тестировании
Схожим, но немного отличным от Click and Hold, является требование Drag and Drop. Здесь место, куда нужно опустить элемент после перетаскивания, специально указывается в пользовательском интерфейсе, чтобы вы знали, куда поместить элемент.
Сценарий тестирования: Посетите интерфейс JQuery UI Droppable Interface, выполните щелчок на перетаскиваемом блоке, а затем бросьте его в контейнерный блок.
Вот как можно автоматизировать вышеупомянутый сценарий тестирования с помощью метода Selenium click button.
Локаторы и щелчок Selenium
Локаторы Selenium позволяют определить местоположение веб-элемента на веб-странице. В Selenium существует 8 типов локаторов (identifire). Давайте посмотрим, как можно выполнить щелчок в Selenium, используя различные локаторы.
1. ID()
Если в HTML-коде любого веб-элемента указан идентификатор, вы можете использовать его в сценариях автоматизированного тестирования Selenium для определения местоположения конкретного веб-элемента. ID веб-элемента всегда будет уникальным, что делает его очень мощным способом автоматического определения местоположения веб-элементов с помощью автоматизированного тестирования Selenium. Для автоматизации кликов с помощью ID-локатора вам нужно указать в коде следующее.
driver.findelement (by.id(“idLocator”)).click();
2. Name()
Аналогичным образом вы можете найти имя веб-элемента, изучив HTML, и использовать его для определения местоположения веб-элемента с помощью автоматизированного тестирования Selenium. Чтобы использовать кнопку Selenium click с локатором Name, необходимо обратиться к ней аналогичным образом.
driver.findelement (by.name(“password”).sendkeys(“123456789”);
3. Имя класса()
Я редко использую имя класса в качестве альтернативы другим локаторам в Selenium. Осмотрите веб-элемент, найдите имя его класса и определите его местоположение с помощью скриптов автоматизации Selenium.
driver.findelement (by.class.name(“mycheckbox”)).click();
4. Имя тега()
При наличии веб-элемента с уникальным HTML-тегом мы можем использовать локатор TagName в автоматизированном тестировании Selenium. Уникальные HTML-теги могут быть разных типов, например:
Гиперссылка — < a >
Изображение — < img >
Заголовок — < h1 >
Так, например, если у вас есть уникальный тег Hyperlink TagName, использующий тег якоря, то вы можете включить взаимодействие Selenium с кнопкой click, используя приведенный ниже код.
driver.findelement(by.tagname(“a”)).click();
5. Link Text()
Если есть гиперссылка с уникальным HTML-тегом, то можно воспользоваться локатором LinkText. Здесь мы указываем текст, при нажатии на который гиперссылка активируется на веб-странице.
driver.findelement(by.linktext(“facebook”).click();
6. Частичный текст ссылки()
Вы можете задать текст для гиперссылки даже частично и найти ее с помощью локатора Partial Link Text. Например, если мы хотим найти веб-элемент с гиперссылкой Amazon, мы можем сделать это с помощью следующей команды.
driver.findelement(by.partiallinktext(“zon”)).click();
7. CSS Selector()
Более совместимым с браузерами локатором, чем Xpath, является CSS-селектор, поскольку основные браузеры, такие как Google Chrome и Mozilla Firefox, разработаны для оптимизации времени выполнения CSS-селектора.
driver.findElement(By.cssSelector("#app > section > form > div > div > input:nth-child(3)")).click();
Примечание: При использовании CSS-селектора или Xpath в качестве локатора не следует использовать обязательные атрибуты, поскольку обязательные атрибуты будут одинаковыми для подобных элементов, поэтому всегда рекомендуется использовать дополнительные атрибуты.
8. Xpath()
XPath — это локатор, который используется для поиска веб-элемента на основе тега, атрибута, текста и т.д. Мы можем использовать Xpath как для HTML, так и для XML-документов.
Бонус: случайные ссылки с помощью метода Click в Selenium
Вот классный совет, с помощью которого вы можете нажать на каждую гиперссылку на веб-странице. Нужно щелкнуть их все!
Сценарий тестирования: Посетите домашнюю страницу LambdaTest и щелкните по каждой гиперссылке, вызванной через тег якоря в HTML.
Ниже приведен сценарий, который генерирует список гиперссылок на домашней странице LambdaTest, где tagName — «a», представляющий собой тег якоря. После этого он щелкнет по каждой ссылке один раз в случайном порядке. Сценарий посетит первую ссылку, перейдет на соответствующую веб-страницу, а затем вернется в LambdaTest, чтобы посетить следующую ссылку, и цикл будет продолжаться до тех пор, пока каждая ссылка не будет посещена один раз.
Вывод консоли:
Как вы можете видеть, всего было 47 гиперссылок, которые были накоплены скриптами автоматизации тестирования. Они посещаются одна за другой! Я оставлю за вами право найти способ включить это в ваши сценарии автоматизированного тестирования браузера.
Бонус: Java Loop с использованием метода нажатия кнопки Selenium
Иногда, чтобы воспроизвести ошибку в элементе пользовательского интерфейса, вам может понадобиться автоматизировать цикл, чтобы проверить, возникла ли ошибка в X количестве попыток. Я собираюсь показать вам, как создать Java-цикл для метода Selenium Click Button.
Сценарий тестирования: Войдите в приложение LambdaTest. Перейдите к значку профиля в правом верхнем углу и нажмите, чтобы открыть меню, затем нажмите, чтобы закрыть его. Продолжайте процедуру в течение 75 щелчков, чтобы проверить, не возникнет ли какая-либо аномалия.
Вот запись выполнения теста:
Мы щелкнули несколько новых идей?
К настоящему времени, я надеюсь, вы хорошо понимаете, насколько мощным может быть метод кнопки Selenium .click() и как вы можете его использовать. Я надеюсь, что бонусные советы были полезны для ваших ежедневных сценариев автоматизированного браузерного тестирования. Хотите ли вы тоже поделиться бонусным советом или уникальным способом использования метода Selenium click button? Если да, поделитесь своими мыслями в разделе комментариев ниже! Счастливого тестирования! 🙂