2012-02-29 42 views
5

Tôi có một hộp văn bản hiển thị văn bản giữ chỗ khi hộp văn bản không được lấy nét. Khi tiêu điểm được chuyển sang hộp văn bản này (bằng cách đặt con trỏ vào hộp văn bản), văn bản giữ chỗ biến mất và con trỏ xuất hiện trong hộp văn bản. Tôi đang cố gắng tự động hóa một kịch bản xác nhận hành vi này. Có ai từng cố gắng tự động hóa một kịch bản tương tự? Mọi lơi đê nghị đêu nên được đanh gia cao. Cảm ơnKiểm tra văn bản giữ chỗ bằng cách sử dụng Selenium Webdriver

Trả lời

1

Tôi đã thực hiện các thử nghiệm tương tự. Đối với các trường của chúng tôi có văn bản giữ chỗ, văn bản xuất hiện trong thuộc tính trình giữ chỗ trên phần tử. Trong Ruby, chúng tôi sử dụng mã như sau:

element = @driver.find_element(*<locator string>*) 
expected_placeholder_text = element.attribute('placeholder') 

Điều đó cho chúng ta chuỗi mà chúng tôi so sánh giống như bất kỳ chuỗi nào khác. Bạn cũng có thể rút ngắn cuộc gọi element.attribute thành số

element['placeholder'] 

nhưng chúng tôi thích trước đây (vì lý do không liên quan và hoàn toàn tùy ý).

+0

này không trả lời câu hỏi làm thế nào để xác minh hành vi thực tế. Bạn chỉ giả định rằng trình giữ chỗ HTML5 sẽ làm cho trình duyệt hoạt động đúng cách. – scott77777

+3

Và trừ khi bạn đang ở trong nhóm phát triển trình duyệt, tại sao bạn cần đảm bảo rằng trình duyệt đang thực hiện chính xác những gì nó nói? Bạn và nhóm của bạn sẽ làm gì với một báo cáo lỗi cho trình duyệt không làm những gì nó nói? Từ một quan điểm khác, nếu bạn có thử nghiệm tự động xác minh thuộc tính trình giữ chỗ hiện tại và như mong đợi trong mã ứng dụng của bạn, phải mất bao lâu để kích hoạt trình duyệt theo cách thủ công một lần trên mỗi phiên bản và đảm bảo văn bản xuất hiện? Bạn có thể xây dựng và duy trì tự động hóa trong thời gian ít hơn không? –

4

Bạn có thể tải văn bản trình giữ chỗ bằng cách sử dụng phương thức webdriver getAttribute.

HTML:

<input id="<ur id>" class="<ur class name>" type="password" lang="en" maxlength="30" placeholder="Enter Password" data-label="passwordPlaceholder" tabindex="5"> 

Mã Java:

String password=driver.findElement(By.cssSelector("ur css path")).getAttribute("placeholder"); 
Các vấn đề liên quan