Hướng dẫn xpath css selector extension - tiện ích mở rộng bộ chọn xpath css

1/ Giới thiệu:

Trong kiểm thử tự động, nếu các phần tử không được tìm thấy bởi các thuộc tích như id, class, name, ... thì XPath trong Selenium WebDriver được sử dụng để tìm một element trên trang web. Trong nội dung bài này, mình sẽ giới thiệu các bạn sử dụng tool ChroPath trong việc hỗ trợ xác định XPath một cách chính xác và nhanh nhất.

Trước khi vào tìm hiểu ChroPath thì ta cùng tìm hiểu sợ lại khái niệm của XPath. Nói nôm na XPath được định nghĩa là đường dẫn XML. Nó là một cú pháp hoặc ngôn ngữ để tìm kiếm bất kỳ phần tử nào trên trang web bằng cách sử dụng biểu thức XML path. XPath được sử dụng để tìm vị trí của bất kỳ phần tử nào trên trang web bằng cách sử dụng cấu trúc DOM HTML.

Định dạng cơ bản của XPath được giải thích bên dưới:

Hướng dẫn xpath css selector extension - tiện ích mở rộng bộ chọn xpath css

2/ Cài đặt và khởi động ChroPath:

Các bước cài đặt ChroPath:

  • Mở trình duyệt Chrome và truy cập vào link sau: https://chrome.google.com/webstore/detail/chropath/ljngjbnaijcbncmcnjfhigebomdlkcjo?hl=en

  • Chọn vào nút “Add to Chrome”

  • Chọn vào nút Add extension

  • Tắt và khởi động lại trình duyệt, sẽ có biểu tượng ChroPath trên thanh tab bar của trình duyệt

Khởi động ChroPath:

  • Để khởi động ChroPath thì ta Click chuột phải và chọn Inspect.

  • Tại Chrome Dev Tools panel, ta chọn ChroPath

3/ Tìm hiểu các tính năng của ChroPath

Sau khi cài đặt thành công ChroPath thì chúng ta cùng nhau vọc tool này nhé:

Chropath sẽ hỗ trợ chúng ta các tính năng sau:

3.1 Xác định XPath tương đối:

  • Khởi động ChroPath
  • Chọn giá trị ở ô #1 option: rel XPath#1 option: rel XPath
  • Select phần tử mà chúng ta muốn lấy giá trị XPath tương đối

Kết quả ta thấy được ChroPath sẽ tự sinh ra một giá trị XPath tương đối cho duy nhất một phần tử mà chúng ta muốn tìm kiếm. Ta có thể nhận thấy:

  • #2: Hiển thị giá trị Xpath được sinh ra dưới dạng tương đối, và ta có thể copy được giá trị này: Hiển thị giá trị Xpath được sinh ra dưới dạng tương đối, và ta có thể copy được giá trị này
  • #3: Hiển thị giá trị thẻ element trong DOM mapping với Xpath: Hiển thị giá trị thẻ element trong DOM mapping với Xpath
  • #4: Hiển thị highlight element trên UI mapping với Xpath: Hiển thị highlight element trên UI mapping với Xpath
  • #5: Hiển thị highlight element trên DOM mapping với Xpath: Hiển thị highlight element trên DOM mapping với Xpath

3.2 Xác định XPath tuyệt đối:

  • Khởi động ChroPath
  • Chọn giá trị ở ô #1 option: rel XPath#1 option: abs XPath
  • Select phần tử mà chúng ta muốn lấy giá trị XPath tương đối

Kết quả ta thấy được ChroPath sẽ tự sinh ra một giá trị XPath tương đối cho duy nhất một phần tử mà chúng ta muốn tìm kiếm. Ta có thể nhận thấy:#2 sẽ hiển thị giá trị Xpath được sinh ra dưới dạng tuyệt đối

#2: Hiển thị giá trị Xpath được sinh ra dưới dạng tương đối, và ta có thể copy được giá trị này

  • Khởi động ChroPath
  • Chọn giá trị ở ô #1 option: rel XPath#1 option: CSS selector
  • Select phần tử mà chúng ta muốn lấy giá trị XPath tương đối

Kết quả ta thấy được ChroPath sẽ tự sinh ra một giá trị XPath tương đối cho duy nhất một phần tử mà chúng ta muốn tìm kiếm. Ta có thể nhận thấy:#2 sẽ hiển thị giá trị Xpath được sinh ra dưới dạng cssSelector

#2: Hiển thị giá trị Xpath được sinh ra dưới dạng tương đối, và ta có thể copy được giá trị này

  • Khởi động ChroPath
  • Chọn giá trị ở ô #1 option: rel XPath
  • Select phần tử mà chúng ta muốn lấy giá trị XPath tương đối

Kết quả ta thấy được ChroPath sẽ tự sinh ra một giá trị XPath tương đối cho duy nhất một phần tử mà chúng ta muốn tìm kiếm. Ta có thể nhận thấy:"Submit" trên UI tương ứng với giá trị XPath chúng ta đã nhập. Ngoài việc tự động generate ra Xpath, ChroPath còn có thể cho ta nhập các giá trị Xpath của chúng ta tự define và sẽ giúp chúng ta kiểm tra cú pháp của Xpath cũng như giúp chúng ta biết được xpath đó sẽ mapping với element nào trên UI.

#2: Hiển thị giá trị Xpath được sinh ra dưới dạng tương đối, và ta có thể copy được giá trị này

#3: Hiển thị giá trị thẻ element trong DOM mapping với Xpath

  • #4: Hiển thị highlight element trên UI mapping với Xpath
  • #5: Hiển thị highlight element trên DOM mapping với Xpath
  • 3.2 Xác định XPath tuyệt đối:
  • Chọn giá trị ở ô #1 option: abs XPath

Select phần tử mà chúng ta muốn lấy giá trị XPath tương đối

Kết quả ta thấy được ChroPath sẽ tự sinh ra một giá trị XPath tuyệt đối cho duy nhất một phần tử mà chúng ta muốn tìm kiếm. Tương tự như trên, ở #2 sẽ hiển thị giá trị Xpath được sinh ra dưới dạng tuyệt đối

Và trên mạng mình tìm kiếm cũng chưa có nhiều bài viết về tool ChroPath này. Mình hy vọng bài viết này có thể giúp các bạn biết thêm 1 tool mới, hữu ích trong việc phát triển kiểm thử tự động.

Tham khảo:

https://confengine.com/selenium-conf-2018/proposal/6018/chropath-a-smarter-way-to-get-locators-and-verify-them

http://selenium-makeiteasy.blogspot.com/2017/04/hello-guys-i-have-developed-tool_22.html