Учебники

67) Двойной щелчок и правый клик

Двойной щелчок в 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 вы видите вывод в консоли

Пример правого клика

Тестовый сценарий:

  1. Запустите URL: http://demo.guru99.com/test/simple_context_menu.html
  2. Выполните операцию правого клика на кнопке: щелкните правой кнопкой мыши
  3. Нажмите на ссылку Изменить в отображаемом списке параметров правой кнопки мыши.
  4. Нажмите кнопку ОК на отображаемом предупреждении
  5. Закройте браузер

Код:

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