Hiện tại, ai cũng biết rằng Selenium là công cụ kiểm thử tự động được sử dụng thường xuyên nhất. Với sự đa dạng của các tính năng, nó tạo điều kiện cho các chức năng khác nhau. Một trong số đó là việc sử dụng bộ định vị để tìm các phần tử web khi kiểm tra trang web. Trong số các công cụ định vị khác nhau, XPath đặc biệt hữu ích
Bài viết này sẽ kiểm tra Xpath và cách sử dụng nó để tìm các phần tử web trong thử nghiệm Selenium tự động
chủ đề dưới đây được đề cập trong bài viết này
Ghi chú. Vui lòng tham khảo Locators trong Selenium trước khi tiếp tục với bài viết này
Giới thiệu về XPath
XPath là một ngôn ngữ để truy vấn các tài liệu XML. Có thể sử dụng trên cả tài liệu HTML và XML, nó cho phép người kiểm tra điều hướng qua cấu trúc XML của bất kỳ tài liệu nào. Nó bao gồm một biểu thức đường dẫn cùng với một số điều kiện
Cú pháp XPath
Dưới đây là cú pháp cho Xpath
Xpath =//tagname[@Attribute=’value’]
trong đó
- //. Được sử dụng để chọn nút hiện tại
- tên thẻ. Tên thẻ của một nút cụ thể
- @. Được sử dụng để chọn thuộc tính select
- Thuộc tính. Tên thuộc tính của nút
- Giá trị. Giá trị của thuộc tính
Để tìm hiểu sâu hơn về các nguyên tắc cơ bản của XPath, hãy nghiên cứu bài viết này về Các cách hiệu quả để sử dụng XPath trong Selenium
Trước khi khám phá các hàm XPath, hãy xem một ví dụ đơn giản để hiểu
Cách tìm các phần tử bằng XPath trong Selenium. Thí dụ
Ví dụ này sẽ khởi chạy Google Chrome và điều hướng đến yahoo. com để tạo tài khoản yahoo. Mục đích là xác định vị trí các trường bằng XPath
- Chuyển đến tab Tên và nhấp chuột phải >> Kiểm tra
- Khi kiểm tra phần tử web, nó sẽ hiển thị thẻ đầu vào và các thuộc tính như lớp và id
- Sử dụng id và các thuộc tính này để xây dựng XPath, lần lượt, sẽ định vị trường tên
Hãy viết XPath trong tab phần tử
Ghi chú. Sử dụng Ctrl+F để viết XPath trong tab phần tử như hình bên dưới
Như đã thấy ở trên, một XPath đơn giản được sử dụng để định vị tab FirstName. Dựa trên cú pháp XPath, trước tiên hãy sử dụng // có nghĩa là bất kỳ đâu trong tài liệu. Ở đây, đầu vào là tên thẻ có thuộc tính id với giá trị “usernamereg-firstname”
Khi viết XPath, nó đã đánh dấu phần tử ngụ ý rằng phần tử cụ thể này được định vị bằng XPath
Ghi chú. Người ta cũng có thể định vị cùng một phần tử bằng cách sử dụng thuộc tính tên vì nó cũng có giá trị định vị cho thẻ tên. Sử dụng bộ định vị tên, XPath là. // đầu vào{@name=”firstname”]
Tham khảo ảnh chụp nhanh bên dưới để rõ ràng
cũng đọc. Cách tìm phần tử theo văn bản trong Selenium. hướng dẫn
Bây giờ, hãy thử tự động hóa việc này bằng Selenium. Đây là chương trình Java được viết bằng Eclipse cho cùng mộ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.chrome.ChromeDriver; public class XPathexample { public static void main[String[] args] { System.setProperty["webdriver.chrome.driver", "Your-Chrome-Driver-Path"]; // Provide the path to your chrome driver. Make sure your chrome driver version is updated. WebDriver driver = new ChromeDriver[]; driver.manage[].window[].maximize[]; driver.manage[].deleteAllCookies[]; driver.manage[].timeouts[].pageLoadTimeout[40, TimeUnit.SECONDS]; driver.manage[].timeouts[].implicitlyWait[30, TimeUnit.SECONDS]; driver.get["//login.yahoo.com/account/create"]; driver.findElement[By.xpath["//input[@id='usernamereg-firstName']"]].sendKeys["Your-Name"]; // Will send values to First Name tab } }
Khi thực thi đoạn mã trên, Chromedriver sẽ khởi chạy Google Chrome, điều hướng đến trang đăng ký Yahoo và nhập giá trị cho tab tên như hình bên dưới
Tương tự, điền vào tất cả các chi tiết và tìm các phần tử bằng XPath trong Selenium
import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class XPathexample { public static void main[String[] args] { System.setProperty["webdriver.chrome.driver", "Your-Chrome-Driver-Path"]; // Provide the path to your chrome driver. Make sure your chrome driver version is updated. WebDriver driver = new ChromeDriver[]; driver.manage[].window[].maximize[]; driver.manage[].deleteAllCookies[]; driver.manage[].timeouts[].pageLoadTimeout[40, TimeUnit.SECONDS]; driver.manage[].timeouts[].implicitlyWait[30, TimeUnit.SECONDS]; driver.get["//login.yahoo.com/account/create"]; driver.findElement[By.xpath["//input[@id='usernamereg-firstName']"]].sendKeys["Your-Name"]; // Will send values to First Name tab driver.findElement[By.xpath["//input[@id='usernamereg-lastName']"]].sendKeys["Your-Last_name"]; //xpath for last name box driver.findElement[By.xpath["//input[@id='usernamereg-yid']"]].sendKeys["email@yahoo.com"]; //xpath for email box driver.findElement[By.xpath["//input[@id='usernamereg-phone']"]].sendKeys["123456789"]; //xpath for phone number box driver.findElement[By.xpath["//select[@id='usernamereg-month']"]].click[]; //xpath for usermonth box driver.findElement[By.xpath["//input[@id='usernamereg-day']"]].sendKeys["01"]; //xpath for userday box driver.findElement[By.xpath["//input[@id='usernamereg-year']"]].sendKeys["1999"];// xpath for user year driver.findElement[By.xpath["//button[@id='reg-submit-button']"]].click[];// xpath for submit button } }
Khi thực hiện chương trình trên, nó sẽ điền vào tất cả các chi tiết và nhấn nút Tiếp tục để hoàn thành việc gửi biểu mẫu
Chạy thử nghiệm Selenium miễn phí trên các thiết bị thực
Mặc dù bài đăng này đã thảo luận về nhiều cách khác nhau để xác định vị trí các phần tử trên trang web bằng cách sử dụng trình định vị XPath trong Selenium Webdriver, người ta nên sử dụng dao cạo của Occam – các tùy chọn hợp lý và đơn giản nhất trong khi chọn các phần tử để đảm bảo việc làm lại tối thiểu trong trường hợp thiết kế lại trang
Hãy thử chạy mã chi tiết ở trên bằng Selenium. Hãy nhớ rằng các bài kiểm tra Selenium phải được chạy trên đám mây thiết bị thực để có kết quả hoàn toàn chính xác. Lưới Selenium trên đám mây của BrowserStack gồm hơn 2000 trình duyệt và thiết bị thực cho phép người kiểm tra tự động kiểm tra giao diện người dùng trực quan trong điều kiện người dùng thực. Chỉ cần đăng ký, chọn kết hợp thiết bị-trình duyệt-HĐH và bắt đầu chạy thử nghiệm miễn phí
Kiểm tra tự động hóa Selenium Trình quản trị trang web Selenium
Bài đăng này có hữu ích không?
Vâng, cảm ơn Không thực sự
Chúng tôi rất tiếc khi biết điều đó. Hãy chia sẻ phản hồi của bạn để chúng tôi có thể làm tốt hơn
Cảm ơn rất nhiều phản hồi của bạn
thẻ
Kiểm tra tự động hóa Selenium Trình quản trị trang web SeleniumNhững bài viết liên quan
SendKeys trong Selenium WebDriver
Tìm hiểu cách phương thức SendKeys[] đóng vai trò quan trọng trong việc tự động hóa các trường hợp thử nghiệm cho các tương tác biểu mẫu bằng cách sử dụng
Tìm hiểu thêm
Cách tìm phần tử theo văn bản trong Selenium. hướng dẫn
Bài viết này nhằm mục đích giải thích cách một người có thể tìm thấy các phần tử trong Selenium dựa trên văn bản của nó bằng văn bản [
Tìm hiểu thêm
5 câu hỏi cần đặt ra trước mỗi lần phát hành phần mềm
Có một số điều quan trọng hơn trong phát triển phần mềm so với danh sách kiểm tra phát hành phần mềm. Tìm thấy