Двойной щелчок в Selenium
Действие двойного щелчка в веб-драйвере Selenium можно выполнить с помощью класса Actions. Класс Actions — это предопределенный класс в веб-драйвере Selenium, который используется для выполнения нескольких операций с клавиатурой и мышью, таких как щелчок правой кнопкой мыши, перетаскивание и т. Д.
Двойной щелчок в Selenium с помощью класса Actions
Actions actions = new Actions(driver); WebElement elementLocator = driver.findElement(By.id("ID")); actions.doubleClick(elementLocator).perform();
- Изначально нам нужно создать экземпляр объекта класса Actions, передав экземпляр драйвера в качестве параметра.
- Используя команду find element, нам нужно найти локатор элемента, который мы хотим дважды щелкнуть
- Используя предопределенный метод двойного щелчка класса Actions, нам нужно выполнить операцию двойного щелчка на веб-элементе.
Щелкните правой кнопкой мыши в Selenium
Действие правой кнопкой мыши в веб-драйвере Selenium можно выполнить с помощью класса Actions. Операция правого клика также называется контекстным щелчком в Selenium. Предопределенный контекстный щелчок метода, предоставляемый классом Actions, используется для выполнения операции щелчка правой кнопкой мыши. Ниже приведен код для демонстрации операции щелчка правой кнопкой мыши с помощью класса Actions.
Actions actions = new Actions(driver); WebElement elementLocator = driver.findElement(By.id("ID")); actions.contextClick(elementLocator).perform();
Пример двойного щелчка
Тестовый сценарий
- Запустите URL: http://demo.guru99.com/test/simple_context_menu.html
- Дважды щелкните на кнопке с надписью «Дважды нажмите на меня, чтобы увидеть предупреждение»
- Нажмите кнопку ОК на отображаемом предупреждении
Код:
package test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.Alert; public class DobuleClickDemo { public static void main(String[] args) throws InterruptedException { WebDriver driver; System.setProperty("webdriver.chrome.driver","X://chromedriver.exe"); driver= new ChromeDriver(); //Launch the Application Under Test (AUT) driver.get("http://demo.guru99.com/test/simple_context_menu.html"); driver.manage().window().maximize(); driver.get("http://demo.guru99.com/test/simple_context_menu.html"); driver.manage().window().maximize(); //Double click the button to launch an alertbox Actions action = new Actions(driver); WebElement link =driver.findElement(By.xpath("//button[text()='Double-Click Me To See Alert']")); action.doubleClick(link).perform(); //Switch to the alert box and click on OK button Alert alert = driver.switchTo().alert(); System.out.println("Alert Text\n" +alert.getText()); alert.accept(); //Closing the driver instance //driver.quit(); } }
Результат:
Нажата кнопка с надписью «Двойной щелчок по мне, чтобы увидеть предупреждение», и отображается всплывающее окно.
В Eclipse вы видите вывод в консоли
Пример правого клика
Тестовый сценарий:
- Запустите URL: http://demo.guru99.com/test/simple_context_menu.html
- Выполните операцию правого клика на кнопке: щелкните правой кнопкой мыши
- Нажмите на ссылку Изменить в отображаемом списке параметров правой кнопки мыши.
- Нажмите кнопку ОК на отображаемом предупреждении
- Закройте браузер
Код:
package test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.interactions.Actions; public class ContextClick { public static void main(String[] args) throws InterruptedException { WebDriver driver; System.setProperty("webdriver.chrome.driver","X://chromedriver.exe"); driver= new ChromeDriver(); //Launch the Application Under Test (AUT) driver.get("http://demo.guru99.com/test/simple_context_menu.html"); driver.manage().window().maximize(); // Right click the button to launch right click menu options Actions action = new Actions(driver); WebElement link = driver.findElement(By.cssSelector(".context-menu-one")); action.contextClick(link).perform(); // Click on Edit link on the displayed menu options WebElement element = driver.findElement(By.cssSelector(".context-menu-icon-copy")); element.click(); // Accept the alert displayed //driver.switchTo().alert().accept(); // Closing the driver instance //driver.quit(); } }
Результат:
Резюме:
- Класс Actions в Selenium в основном используется для выполнения сложных операций с клавиатурой и мышью. Следовательно, класс Actions является предпочтительным по сравнению с Javascript для выполнения таких операций, как щелчок правой кнопкой мыши и двойной щелчок в Selenium.
- Операция правой кнопкой мыши чаще всего используется, когда при щелчке правой кнопкой мыши на элементе открывается новое меню. Операцию правой кнопки мыши в веб-драйвере Selenium можно выполнить с помощью предварительно определенной команды Context Click, как указано ниже.
Actions action = new Actions(driver); WebElement link = driver.findElement(By.ID ("Element ID")); action.contextClick(link).perform();
- Операция двойного щелчка используется, когда состояние веб-элемента изменяется после операции двойного щелчка. Операцию двойного щелчка в веб-драйвере Selenium можно выполнить с помощью предварительно определенной команды Двойной щелчок, как указано ниже.
Actions action = new Actions(driver); WebElement link = driver.findElement(By.ID ("Element ID")); action. doubleClick (link).perform();