Щракнете с десния бутон и Double Кликнете вътре Selenium
⚡ Умно обобщение
Щракнете с десния бутон и Double Кликнете вътре Selenium са автоматизирани действия на мишката чрез класа Actions. Този урок демонстрира и двете операции с работещи Java код, реални тестови сценарии и методите, които ги задвижват вътре Selenium WebDriver.
Щракнете с десния бутон Selenium
Действие с десен бутон в Selenium WebDriver се изпълнява с помощта на класа Actions. Операцията се нарича още Context Click. Предварително дефинираният contextClick() Методът на класа Actions извършва щракване с десен бутон. По-долу е показан основният синтаксис.
Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.contextClick(elementLocator).perform();
Как да щракнете с десния бутон Selenium
Сценарият по-долу стартира Guru99 демонстрационна страница, извършва щракване с десен бутон и избира опция от контекстното меню, което се появява.
Тестов сценарий:
- Стартиране: https://demo.guru99.com/test/simple_context_menu.html
- Щракнете с десния бутон върху бутона „Щракнете с десния бутон върху мен“
- Кликнете върху връзката „Редактиране“ в показаното меню
- Кликнете върху OK в предупреждението
- Затворете браузъра
Code:
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();
driver.get("https://demo.guru99.com/test/simple_context_menu.html");
driver.manage().window().maximize();
Actions action = new Actions(driver);
WebElement link = driver.findElement(By.cssSelector(".context-menu-one"));
action.contextClick(link).perform();
WebElement element = driver.findElement(By.cssSelector(".context-menu-icon-copy"));
element.click();
}
}
Резултат: Появява се контекстното меню и е избрана опцията „Редактиране“.
Double Кликнете вътре Selenium
Следвайки същия модел, базиран на действия, Double Кликнете вътре Selenium WebDriver използва предварително дефинирания doubleClick() метод. Класът Actions е стандартният помощник за комбинирани операции с мишката и клавиатурата, като например щракване с десен бутон, плъзгане и пускане и задържане на курсора.
Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.doubleClick(elementLocator).perform();
Процесът на изпълнение е:
- Създайте инстанция на обект Actions, използвайки екземпляра на драйвера.
- Намерете целевия елемент с
findElement. - ПОЗВЪНЯВАНЕ
doubleClick()и веригаperform()за изпълнение.
How to Double Кликнете вътре Selenium
Следващият сценарий демонстрира пълно двойно щракване, което задейства JavaСкриптът извежда предупреждение и го потвърждава програмно.
Тестов сценарий:
- Стартиране: https://demo.guru99.com/test/simple_context_menu.html
- Double щракнете върху бутона „Double-Кликнете върху мен, за да видите предупреждението
- Кликнете върху OK в предупреждението
Code:
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 DoubleClickDemo {
public static void main(String[] args) throws InterruptedException {
WebDriver driver;
System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
driver = new ChromeDriver();
driver.get("https://demo.guru99.com/test/simple_context_menu.html");
driver.manage().window().maximize();
Actions action = new Actions(driver);
WebElement link = driver.findElement(By.xpath("//button[text()='Double-Click Me To See Alert']"));
action.doubleClick(link).perform();
Alert alert = driver.switchTo().alert();
System.out.println("Alert Text\n" + alert.getText());
alert.accept();
}
}
Резултат: Предупреждението се появява и текстът на предупреждението се отпечатва на Eclipse конзола.




