Kiểm thử tự động Selenium – Textbox, checkbox, radio button, submit button, click (Phần 2)

Tram Ho

Để tiếp nối phần 1 trong chuỗi bài về Kiểm thử tự động Selenium. Hôm nay chúng ta sẽ tìm hiểu 1 số hàm phức tạp hơn 1 chút.
Để chuẩn bị cho bài viết này bạn nên đọc phần 1 .
Bài hôm nay tôi sẽ demo trên một trang demo: https://selenium-training.herokuapp.com/ Hoặc bạn cũng có thể lấy 1 trang bất kỳ có chức năng login/ register để thực hành đều được nhé!

1. TextBox, Submit Button, sendkeys(), click()

Bài toán: Hãy tự động hóa cho chức năng login trên trang web của bạn
Phân tích: Chức năng login sẽ thường có 1 ô textbox nhập username, 1 ô nhập password, và 1 button Submit
Đầu tiên là bạn phải tìm kiếm được phần tử của các items trên
Thực hiện F12 (hoặc inspect element) => lấy điểm đặc trưng của phần tử đó

Đã tìm được phần tử cho từng items. Giờ code và chạy chương trình xem kết quả nào

Kết quả như ảnh dưới,

Như trên bạn thấy tôi đã dùng hàm sendKeys() để truyền dữ liệu vào phần tử cần nhập và dùng hàm submit() để submit form Login
Vậy trong bài này ta sẽ lưu ý một số hàm thường dùng như sau:

ElementCommandMô tả
Input BoxsendKeys()được sử dụng để truyền dữ liệu vào text boxes
Input Boxclear()xóa giá trị hiện tại của text boxes
Linksclick()Nhấp vào liên kết để tải trang
Submit Buttonsubmit()Submit form, submit button

2. Select CheckBox, Radio Button và Image

Đối với items CheckBox, Radio Button và Image cũng tương tự như button. Tôi sẽ sử dụng hàm click() để chọn giá trị

  • Select CheckBox, Radio Button

Khi code sẽ dùng hàm click() để chọn giá trị

  • Image
    Sử dụng hàm click() để đi đến link có trong ảnh

3. Select value from Dropdown

Để chọn giá trị trong ô Dropdown đầu tiên vẫn cần lấy phần tử của ô cần chọn

Để chọn được giá trị trong ô Dropdown đầu tiên ta phải import thêm thư viện
import org.openqa.selenium.support.ui.Select;
Sau đó khởi tạo 1 biến Select để chọn đến Dropdown đó
Select language = new Select(driver.findElement(By.name("user[language]")));
Cuối cùng là chọn giá trị cần chọn
language.selectByVisibleText("English");

Ngoài hàm selectByVisibleText ta có thể dùng 1 số hàm khác để lấy giá trị qua index, id, value… cụ thể như sau:

ElementCommandDescription
Drop-Down BoxselectByVisibleText()/ deselectByVisibleText()lựa chọn/ bỏ chọn một option thông qua text hiển thị
selectByValue()/ deselectByValue()lựa chọn / bỏ chọn một option theo giá trị của thuộc tính “value”
selectByIndex()/ deselectByIndex()lựa chọn/ hủy bỏ một option theo thứ tự Index
isMultiple()trả về giá trị TRUE nếu phần tử Dropdown cho phép nhiều option cùng một lúc; FAILSE nếu không thể chọn nhiều option 1 lúc
deselectAll()Bỏ tất cả các tùy chọn đã chọn trước đó

Trên đây là cách truyền và chọn giá trị ở các items thường dùng. Trong quá trình thực hành bạn nên làm nhiều để thuần thục và nâng cáo skill hơn. Hy vọng bài viết này sẽ giúp ích được cho bạn đọc.

Tham khảo:
https://www.guru99.com/accessing-forms-in-webdriver.html

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo