Không hiếm các test case kiểm thử cho các trang web có sự tương tác từ chuột và bàn phím. Ví dụ như drag/drop để upload, right-click, hoặc sử dụng key shortcuts để tương tác nhanh hơn.
Selenium cũng có một bộ thư viên đễ hỗ trợ mình thực hiện các hành động nàynày thông qua:
import org.openqa.selenium.interactions.Actions;
Khởi tạo biến để có thể làm việc Actions actions = new Actions(driver);
Drag/drop
WebDriver driver = new ChromeDriver();
driver.get("https://the-internet.herokuapp.com/drag_and_drop");
Actions actions = new Actions(driver);
WebElement boxA = driver.findElement(By.id("column-a"));
WebElement boxB = driver.findElement(By.id("column-b"));
actions.dragAndDrop(boxA,boxB).perform();
Right Click - Context Menu
WebDriver driver = new ChromeDriver();
driver.get("https://the-internet.herokuapp.com/context_menu");
Actions actions = new Actions(driver);
WebElement box = driver.findElement(By.id("hot-spot"));
actions.contextClick(box).perform();
Hover
WebDriver driver = new ChromeDriver();
driver.get("https://the-internet.herokuapp.com/hovers");
Actions actions = new Actions(driver);
WebElement user1 = driver.findElement(By.className("figure"));
actions.moveToElement(user1);
Keypress
WebDriver driver = new ChromeDriver();
driver.get("https://the-internet.herokuapp.com/key_presses");
Actions actions = new Actions(driver);
actions.sendKeys(Keys.ARROW_UP).perform();