TESTEKVN - KIỂM THỬ THỰC CHIẾN Contact: Vincent - 083.286.8822 Email:
[email protected] 1 PHƯƠNG THỨC TƯƠNG TÁC WEBDRIVER TRONG SELENIUM 1. Khởi tạo driver Selenium support multi browser như Chrome, Firefox, Edge, Safari... và để tương tác với các phần tử chúng ta cần sử dụng đối tượng WebDriver. Trình duyệt Cấu trúc Google Chrome WebDriver driver = new ChromeDriver(); Firefox WebDriver driver = new FirefoxDriver(); Microsoft Edge WebDriver driver = new EdgeDriver(); Safari WebDriver driver = new SafariDriver(); (Chi tiết bạn tham khảo thêm tại: https://www.selenium.dev/documentation/webdriver/drivers) 2. Tương tác với navigation (điều hướng) 1) Truy cập website Để có thể tương tác và già lập các thao tác như người dùng, điều đầu tiên chúng ta cần truy cập vào các website thông qua các browser. Chúng ta có 02 cách để truy cập website thông qua selenium: driver.get("https://selenium.dev"); // Truy cập website trực tiếp driver.navigate().to("https://selenium.dev"); // Truy cập website thông qua navigation Open một new tab trong trình duyệt: driver.switchTo().newWindow(WindowType.TAB) Mở cửa sổ mới trong trình duyệt: driver.switchTo().newWindow(WindowType.WINDOW) 2) Truy cập trang trước/sau đó Truy cập trang trước: driver.navigate().back(); Truy cập trang tiếp sau: driver.navigate().forward(); 3) Làm mới trang hiện tại (F5) Làm mới trang: driver.navigate().refresh(); 4) Kiểm tra, lấy thông tin tiêu đề trang Lấy tiêu đề trang: String title = driver.getTitle(); Lấy địa chỉ trang hiện tại: String url = driver.getCurrentUrl(); Lấy thông tin source của trang: String html = driver.getPageSource(); 3. Tương tác với windows Các phương thưucs cơ bản khi tương tác với windows mà bạn cần phải nhớ: getWindowhandle(): Lấy window hiện tại getWindowhandles(): Get danh sách toàn bộ các window đang được mở switchTo: Thực hiện chuyển đổi giữa các cửa sổ hoặc tab close(): Thực hiện đóng window hiện tại quit(): Thực hiện đóng toàn bộ các windows và tabs mà đang tương tác tại session đó, đóng process và background driver. Lưu ý: Nếu bạn sử dụng SeleniumGrid thì tương ứng với việc thực thiện đóng session và thực thị mở một session mới. action: Phương pháp này giúp thực hiện các hành động nhất định trên cửa sổ (getTitle, getCurrentUrl, get,...) Ví dụ:
TESTEKVN - KIỂM THỬ THỰC CHIẾN Contact: Vincent - 083.286.8822 Email:
[email protected] 1 Tương tác với window: Thực hiện chuyển đổi sang các window/tab khác: Thực hiện việc đóng window/tab: Chi tiết các phương thức support bạn có thể theo dõi tại: https://www.selenium.dev/documentation/webdriver/interactions/windows/ 4. Tương tác với iFrame iFrame là gì? iFrame là một trang web hoặc một khung content hoặc một HTML khác được nhúng vào trong website, và thường được sử dụng để thêm nội dung cho các nguồn quảng cáo, nội dung in ấn dạng file pdf... Chúng được xác định bằng thẻ <iframe>. Lưu ý: Các thẻ trong iFrame chỉ có thể tương tác khi chúng ta switch qua các iframe đó thì mới có thể tương tác được. Ví dụ: Muốn truy xuất/tương tác vào button trong ví dụ, chúng ta cần làm các bước như sau: Phương thức để chuyển sang frame như sau:
TESTEKVN - KIỂM THỬ THỰC CHIẾN Contact: Vincent - 083.286.8822 Email:
[email protected] 1 Sử dụng index Sử dụng name hoặc ID Sử dụng Web Phương thức để leaving khỏi frame như sau: driver.switchTo().defaultContent(); Tài liệu tham khảo: 1. https://www.selenium.dev/documentation/webdriver/interactions/