11/08/2018, 19:28
Chọn nhiều hạng mục trong Selenium
Mouse actions trong Selenium Đôi khi bạn sẽ gặp tình huống phải để chọn hai hoặc nhiều hạng mục trong một list box hoặc text are. Bài này sẽ sử dụng trang web https://demos.devexpress.com/aspxeditorsdemos/ListEditors/ MultiSelect.aspx để thực hiện chọn nhiều hạng mục trong ...
Mouse actions trong Selenium
Đôi khi bạn sẽ gặp tình huống phải để chọn hai hoặc nhiều hạng mục trong một list box hoặc text are.
Bài này sẽ sử dụng trang web https://demos.devexpress.com/aspxeditorsdemos/ListEditors/ MultiSelect.aspx để thực hiện chọn nhiều hạng mục trong Selenium.
Ví dụ
Trong ví dụ này, chúng ta sẽ chon 3 hạng mục trong list ‘Phone features’ như hình sau:
File: MultiSelectDemo.java
package vn.viettuts.selenium; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.interactions.Action; import org.openqa.selenium.interactions.Actions; public class MultiSelectDemo { public static void main(String[] args) throws InterruptedException { System.setProperty("webdriver.chrome.driver", "D:SeleniumWebdriverchromedriver.exe"); WebDriver driver = new ChromeDriver(); // Open website driver.get("http://demos.devexpress.com/aspxeditorsdemos" + "/ListEditors/MultiSelect.aspx"); // Maximize the browser driver.manage().window().maximize(); // set 'Selection mode' to Multiple driver.findElement( By.id("ControlOptionsTopHolder_lbSelectionMode_B-1Img")) .click(); driver.findElement( By.id("ControlOptionsTopHolder_lbSelectionMode_DDD_L_LBI1T0")) .click(); Thread.sleep(5000); // Perform Multiple Select Actions builder = new Actions(driver); WebElement select = driver.findElement( By.id("ContentHolder_lbFeatures_LBT")); List<WebElement> options = select.findElements(By.tagName("td")); Action multipleSelect = builder.keyDown(Keys.CONTROL) // Ctrl Key .click(options.get(0)) // 3G .click(options.get(3)) // Memory Card Slot .click(options.get(5)) // Touch Screen .build(); multipleSelect.perform(); System.out.println("Mutil Select: "); System.out.println(options.get(0).getText()); System.out.println(options.get(3).getText()); System.out.println(options.get(5).getText()); // driver.close(); } }
Kết quả:
Mutil Select: 3G Memory Card Slot Touch screen
Mouse actions trong Selenium