2012-02-15 60 views
5

tôi có một liên kết:Selenium IDE: Làm thế nào để kiểm tra màu sắc văn bản sử dụng CSS

<a class="title">My link</a>

Nó được kiểu với mã CSS này:

a.title { 
    color: #CC3333; 
} 

Làm thế nào tôi có thể xác minh rằng văn bản " Liên kết của tôi "có màu đỏ? Tôi có thể định vị phần tử với css=a.title, nhưng làm cách nào tôi có thể khẳng định rằng color == "#CC3333" trong Selenium IDE?

+0

Hoặc làm cách nào tôi có thể tìm thấy công cụ định vị này theo màu (màu: # CC3333;) – user1211063

Trả lời

4

style.color sẽ trả lại màu nếu phần tử DOM thực tế có thuộc tính style. Trong trường hợp của bạn, khi màu sắc được definied trong <style> thẻ nó sẽ không hoạt động. Điều này chúng tôi cần bạn sử dụng getComputedStyle(). Tuy nhiên, color trả về màu ở định dạng RGB nhưng bạn có thể chuyển đổi màu của mình manually và xác minh kết quả RGB.

Như thế này:

assertEval(
    "window.document.defaultView.getComputedStyle(window.document.getElementsByClassName('title')[0]).getPropertyValue('color')", 
    "rgb(204, 51, 51)" 
) 

N.B. Bạn cũng nên sử dụng selenium.browserbot.getCurrentWindow() thay vì window. Tôi rời khỏi cửa sổ để tạo đoạn mã ngắn hơn.

+0

Tôi nhập "assertEval" vào lệnh và "(" window.document.getElementsByClassName ('post-tag') [0] .style.color "," # CC3333 ")" để nhắm mục tiêu, nhưng nó không hoạt động. "[error] không tìm thấy trình định vị: window.document.getElementsByClassName ('post-tag') [0] .style.color", "# CC3333" – user1211063

+0

Xin lỗi tôi đã quên thay đổi lớp mẫu cho bạn. Xem nhận xét cập nhật. – p0deje

+0

Nó không hoạt động quá (Selenium không thể tìm thấy định vị – user1211063

Các vấn đề liên quan