2012-12-13 38 views
5

Hãy tưởng tượng tôi có một hình ảnh như:Cách lấy attribute_value của phần tử page_object?

the_image = @browser.image(:id, 'image01') 

Cách để có được giá trị của các lớp học có thể là:

image_status = the_image.attribute_value('class') 

Ok. Tôi đang sử dụng page_object đá quý và cho phép giả sử tôi có hình ảnh như yếu tố, như:

image(:the_image, :id => 'image01') 

Để có được ATTRIBUTE_VALUE tôi có thể sử dụng:

image_status = the_image_element.attribute_value('class') 

... nhưng tôi nhận được một cảnh báo không chấp nhận:

*** DEPRECATION WARNING 
*** You are calling a method named attribute_value at page.rb:68:in `get_status'. 
*** This method does not exist in page-object so it is being passed to the driver. 
*** This feature will be removed in the near future. 

Tôi có thể nhận giá trị class bằng yếu tố page_object như thế nào? Chắc chắn câu trả lời là dễ dàng nhưng tôi đã không tìm thấy nó. Bạn có thể cho tôi biết đường không?

Cảm ơn bạn trước!

+0

Các lỗi không được thể hiện trong bối cảnh của lớp đối tượng trang của bạn. Có lẽ bạn có thể thêm nhiều hơn cho câu hỏi? –

+0

Xin chào Dave! Không có lỗi, chỉ và chỉ có Cảnh báo. Trong thực tế, phương thức hoạt động chính xác. Vấn đề là tôi không biết làm thế nào có được giá trị thuộc tính sử dụng đối tượng trang nguyên bản. Justin Ko cho tôi câu trả lời với: 'yourelement_element.attribute ('attribute_type')' – Ezetha

Trả lời

5

Nếu bạn đang sử dụng phiên bản mới nhất của Page-Object và Watir (v2.2.1 và v6.7.3 tương ứng), thì attribute_value sẽ không còn cảnh báo không dùng nữa. Cả hai #attribute#attribute_value đều được hỗ trợ.

Đối với phiên bản cũ của Trang-Object, bạn cần phải sử dụng các phương pháp #attribute:

image_status = the_image_element.attribute('class') 
+0

Bạn hoàn toàn đúng. Tôi googled và tìm kiếm trên cuốn sách Cheezy và không tìm thấy bất cứ điều gì. Ngoài ra nhìn vào thông tin Cheezy Rubydoc nhưng có vẻ như tôi đã không tìm kiếm một cách chính xác ... Tôi sẽ kiểm tra ba lần sau; cảm ơn cho câu trả lời! – Ezetha

+0

Liên kết Yout không may được chia nhỏ – SSchneid

+0

Cảm ơn @SSchneid. Tôi đã xóa liên kết. Phương thức này không còn được định nghĩa trực tiếp trong đá quý Page-Object. Nó hiện đang được giao cho phần tử 'Watir :: Element'. –

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