Các câu lệnh sử dụng trong Selenium WebDriver

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp kiểm thử tự động trong kiểm thử phần mềm của trung tâm thông tin tín dụng quốc gia việt nam (Trang 66 - 69)

II. NỘI DUNG

3.3.3.Các câu lệnh sử dụng trong Selenium WebDriver

a. Các câu lệnh trình duyệt

Một số câu lệnh thao tác của Selenium WebDriver như trình duyệt như mở, đóng và lấy tiêu đề của trang Web như dưới đây:

- Câu lệnh get

Mục đích: Sử dụng để mở một trang Web mới trong trình duyệt lựa chọn. Cú pháp: drive.get(URL);

Trong đó URL: Là dùng để tải trang, nên sử dụng một url đầy đủ - Câu lệnh để lấy tiêu đề getTitle

Mục đích: Sử dụng để lấy tiêu đề trang web muốn lấy Cú pháp: driver.getTitle();

- Câu lệnh lấy URL hiện tại getCurrentUrl

Mục đích: Câu lệnh này sử dụng để lấy URL của trang hiện tại. Cú pháp: driver.getCurrentUrl();

- Câu lệnh lấy nguồncủa trang Web getPageSource

Mục đích: Câu lệnh này dùng để lấy nguồn của trang được tải cuối cùng. Cú pháp: driver.getPageSource();

b. Các câu lệnh WebElement

Để tương tác với trang Web thì việc đầu tiên cần phải xác định vị trí của cá phần tử trên trang Web, WebDriver cung cấp 2 phương thức “Find Element” and “Find

Phương thức “Find Element” và “Find Elements”

Phương thức “Find Element” và “Find Elements” là trả về đối tượng WebElement, trả về một danh sách WebElement, có thể sẽ trả về danh sách rỗng nếu không có phần tử DOM phù hợp với truy vấn. Phương thức “Find” lấy vị trí hoặc đối tượng truy vấn gọi bằng phương thức “By”

- Tìm phần từ bằng ID: By ID

Mục đích: Tìm vị trí của phần tử bằng ID, nếu tìm được ID phù hợp sẽ trả về vị trí của phần tử, nếu không có phần từ phù hợp với id sẽ xuất hiện

NoSuchElementException Cú pháp: driver.findElement(By.id("")); - Tìm phần tử bằng Name (By Name)

Mục đích: Tìm vị trí của phần tử bằng name, nếu tìm được giá trị name phù hợp sẽ trả về vị trí của phần tử, nếu không có phần từ phù hợp với thuộc tính name sẽ xuất hiện NoSuchElementException.

Cú pháp: driver.findElement(By.name("")); - Tìm phần tử bằng Class Name

Mục đích: Tìm các phần tử dựa trên giá trị của thuộc tính chúng “class”. Cú pháp: driver.findElement(By.className(""));

- Tìm phần tử bằng Link Text

Mục đích: Tìm phần tử thẻ a bằng tên link , Cú pháp: driver.findElement(By.tagName(""));

c. Các câu lệnh điều hướng trình duyệt

- Câu lệnh forward

Mục đích: Dùng để đi đến trang tiếp theo. Cú pháp: driver.navigate().forward();

- Câu lệnh back: Lệnh này dùng để quay lại về trang trước. Cú pháp: driver.navigate().back();

- Câu lệnh refresh

Mục đích: Dùng để làm mới trang hiện tại . Cú pháp: driver.navigate().refresh();

d. Các lệnh switch

Một số trang Web có nhiều khung hoặc nhiều cửa sổ. Selenium WebDriver gán ID cho mỗi cửa sổ ngay khi đối tượng WebDriver được khởi tạo. ID này được gọi là cửa sổ xử lý.

Sau đây là một số câu lệnh switch: - Câu lệnh getWindowHandle (adsbygoogle = window.adsbygoogle || []).push({});

Mục đích: Dùng gọi cửa sổ xử lý của một cửa sổ đang dùng hiện tại. Cú pháp: driver.getWindowHandle();

- Câu lệnh getWindowHandles

Mục đích: Dùng để gọi cửa sổ xử lý (window handle) của nhiều cửa sổ hiện tại. Cú pháp: driver.getWindowHandles();

- Câu lệnh Switch To Window

Mục đích: Dùng hỗ trợ di chuyển giữa các cửa sổ khác nhau thông qua tên của chúng bằng cách sử dụng phương thức “switchTo”.

Cú pháp: driver.switchTo().window("windowName");

e. Các câu lệnh wait - Câu lệnh implicitlyWait

Mục đích: thời gian chờ khi không tìm thấy các phần tử trên trang web.

Cú pháp: drive.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); - Câu lệnh pageLoadTimeout

Mục đích: Thiết lập thời gian chờ cho trang Web hoàn thành tải trước khi báo lỗi. Cú pháp: driver.manage().timeouts().pageLoadTimeout(100, SECONDS);

- Câu lệnh setScriptTimeout

Mục đích: Thiết lập thời gian chờ một kịch bản(script) không đồng bộ để kết thúc việc thực hiện trước khi báo lỗi.

Cú pháp: driver.manage().timeouts().setScriptTimeout(100,SECONDS); - Câu lệnh sleep

Mục đích: Câu lệnh này được sử dụng rất ít, vì nó luôn buộc các trình duyệt chờ đợi một thời gian cụ thể. Cú pháp: thread.sleep(1000);

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp kiểm thử tự động trong kiểm thử phần mềm của trung tâm thông tin tín dụng quốc gia việt nam (Trang 66 - 69)