Selenium WebDriver - Bài 6 -Keyboard Mouse Events , Uploading Files - Webdriver
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ẽ tìm hiểu cách xử lý chuột , bàn phím trong WebDriver và cách xử lý file upload
Xử lý bàn phím và chuột được thực hiện bằng cách sử dụn Advanced User
Interactions API . Nó chứa các Action và Action class cần thiết để thực hiện các sự kiện này. Sau đây là các sự
kiện bàn phím và chuột thường được sử dụng nhất được cung cấp bởi Actions class
Method
|
Ý nghĩa
|
clickAndHold()
|
Nhấp giữ chuột tại
vị trí chuột hiện tại.
|
contextClick()
|
Nhấp chuột tại vị trí hiện tại
|
doubleClick()
|
Nhấp đôi chuột
|
dragAndDrop(source,
target)
|
Thực hiện nhấn và giữ ở vị trí của các thành phần nguồn,
di chuyển đến vị trí của phần tử mục tiêu, sau đó nhả chuột.
tham số:
Source : Vị trí element
Target : Vị trí move chuột và thả chuột
|
dragAndDropBy(source,
x-offset, y-offset)
|
Thực hiện nhấn và giữ ở vị trí của các phần tử nguồn, di chuyển
và nhả chuột
tham số:
source : vị trí element
xOffset- : Vị trí ngang
yOffset- : Vị trí dọc
|
keyDown(modifier_key)
|
Nhấn giữ phím trong
modifier_key
Modifier_key : Phím bất kỳ trên bàn phím
((Keys.ALT, Keys.SHIFT, or Keys.CONTROL)
|
keyUp(modifier
_key)
|
Nhấn phím
modifier_key - phím nhấn bất kỳ (Keys.ALT, Keys.SHIFT, or Keys.CONTROL)
|
moveByOffset(x-offset,
y-offset)
|
Move chuột từ vị trí x đến vị trí y
|
moveToElement(toElement)
|
Move chuột tới một phần tử
|
release()
|
Thả chuột tới 1 vị trí hiện tại
|
sendKeys(onElement,
charsequence)
|
Một ví dụ về trường hợp Hover chuột nhé .
Mở trang web Demo : http://newtours.demoaut.com/
Bình thường , khi
không Hover chuột, phần tử đó có giá trị
màu cam #FFC455 , khi Hover , nó trở
thành trong suốt và màu nền sẽ hiển thị
( Màu xanh )
Step 1 :
Import the Actions and Action classes.
import
org.openqa.selenium.interactions.Action;
import
org.openqa.selenium.interactions.Actions;
|
Step 2 : Khởi tạo new Actions object.
Actions builder = new Actions(driver); |
Step 3:
Khởi tạo hành đồng cho new Actions object ở Step 2
Action mouseOverHome = builder.moveToElement(link_Home).build();
|
Trong trường hợp này, chúng ta sẽ sử dụng phương thức moveToElement (), Nó sẽ thực hiện hành động rê chuột qua đối tượng "Home" . Dùng build () để hoàn thành hành động rê chuột
Step 4:
Sử dụng phương thức perform() khi thực thi lệnh
Action ở Step 3
mouseOverHome.perform();
|
Dưới đây là đoạn Script WebDriver để kiểm tra màu nền của ô đầu tiên ở menu trước và sau khi chuột rê chuột
package HocKiemThuPhanMem;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
public class HocKiemThuPhanMemPractice{
public static void main(String[] args) {
String baseUrl = "http://newtours.demoaut.com/";
WebDriver driver = new FirefoxDriver();
driver.get(baseUrl);
// Lấy xpath của đối tượng cần kiểm tra
WebElement ObjectToHover =driver.findElement(By.xpath("/html/body/div/table/tbody/tr/td[1]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[1]"));
// Lấy màu nền của đối tượng cần kiểm tra
String bgColorGet = ObjectToHover.getCssValue("background-color");
// In màu nền trước khi Hover chuột
System.out.println("Before hover: "+bgColorGet);
// Thực hiện việc rê chuột
Actions builder = new Actions(driver);
Action mouseOverHome = builder
.moveToElement(ObjectToHover)
.build();
mouseOverHome.perform();
// Lấy màu nền khi rê chuột
bgColorGet = ObjectToHover.getCssValue("background-color");
// In màu khi rê chuột
System.out.println("After hover: "+bgColorGet);
driver.quit();
}
}
|
Thực thi đoạn Script sau đó dùng bản màu CSS để kiểm tra kết quả trả về đúng không nhé !
Qua bài sau, Bài thứ 7- Chúng ta sẽ thực hành Drag and Drop element nhé
----------------------------
Học kiểm thử phần mềm