Topic Học Kiểm thử phần mềm tự động sẽ tiếp tục giới thiệu các lệnh về trong Selenium Webdriver. Trong baì này, chúng ta sẽ cùng thực hành về Kéo và thả chuột từ vị trí nguồn đến vị trí đích ( Drag and Drop)
Như các bạn đã biết, một số ứng dụng web có chức năng kéo thả một item từ nơi này đến nơi khác . Làm sao để tự động hóa chức năng này ?Selenium Webdriver có cung cấp lớp xử lý " Action" nhằm xử lý các tương tác về sự kiện chuột và bàn phím như chức năng Hover , Kéo thả đã nói ở bài trước
Cách thức hoạt động :- Trước tiên nó sẽ xác định vị trí của đối tượng cần di chuyển thông qua lệnh Find Element, Sau đó lại xác định vị trí cần chuyển đến .
- Gọi lớp Action của Selenium Webdriver
- Sau đó gọi phương thức Build () để thực hiện hành động
Ví dụ nhé : Hãy viết 1 script thực hiện chức năng KÉO THẢ một Folder "Học kiểm thử phần mềm tự động " Sang Folder "Tài Liệu Selenium WebDriver ".
Ta lần lượt thực hiện các bước sau :
1) Đăng nhập vào Google Driver gồm :
- Password
- Không check remember
- Click nút đăng nhập
2) Xác định vị trí của Folder " Học Kiểm thử phần mềm tự đông "
3) Xác định vị trí của Folder " Tài liệu WebDriver"
4) Thực hiện Move " Học Kiểm thử phần mềm tự động " Sang " Tài Liệu Selenium WebDriver"
5) Kiểm tra kết quả thực hiệnĐoạn Script như sau
package Tài Liệu Selenium Webdriver Tiếng Việt ;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
public class Học kiểm thử phần mềm tự động{
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
String URL = "https://drive.google.com/drive/my-drive";
driver.get(URL);
// It is always advisable to
Maximize the window before performing DragNDrop action - Phóng to của sổ
driver.manage().window().maximize();
//Đăng nhập gmail
// Find element Email ID sau đó điền email đã đăng ký
driver.findElement(By.id("Email")).sendKeys("thanhsuong.py3");
//Find element password sau đó nhập password
driver.findElement(By.id("Passwd")).sendKeys("6677028@123");
WebElement checkRemember =
driver.findElement(By.id("PersistentCookie"));
// Bỏ chọn Remember cookies nếu default đã chọn - Bên Firefox nhớ dai lắm, tốt nhất là không nên chọn , hjhj
if (checkRemember.isSelected() == true) {
checkRemember.click();
}
// Click đăng nhập button
driver.findElement(By.id("signIn")).click();
// Đợi load trang
driver.manage().timeouts().implicitlyWait(10000,
TimeUnit.MILLISECONDS);
WebElement From =
driver.findElement(By.xpath
("/html/body/div[4]/div[2]/div[2]/div[2]/div/div/div[3]/div/div/div/div/div[1]/div/div/div[2]/div/div/div[1]/div/div/div/div[1]/div/div/div[2]/div/div[1]/div[2]/div[3]/div"));
WebElement To =
driver.findElement(By.xpath
("/html/body/div[4]/div[2]/div[2]/div[2]/div/div/div[3]/div/div/div/div/div[1]/div/div/div[2]/div/div/div[1]/div/div/div/div[1]/div/div/div[2]/div/div[2]/div[2]/div[3]/div"));
Actions builder = new Actions(driver);
Action dragAndDrop = builder.clickAndHold(From)
.moveToElement(To)
.release(To)
.build();
dragAndDrop.perform();
}
}
|
Xem video :
----------------------------
Học kiểm thử phần mềm tự động trong topic " Học Selenium Webdriver" cơ bản
Học kiểm thử phần mềm tự động trong topic " Học Selenium Webdriver" cơ bản