Kiểm thử tự động - Chọn nhiều hạng mục
Chọn nhiều hạng mục 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 com.hiepsiit.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:\\SeleniumWebdriver\\chromedriver.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