2016-01-29 13 views
5

Tôi đang cố gắng để có được attr tàn tật trên một nút nó phải là "vô hiệu hóa" nhưng tôi dường như không nhận được giá trị. Mới đến góc cạnh và thước đo góc!sử dụng thước đo góc để lấy thuộc tính bị vô hiệu hóa trên nút không hoạt động

Khi tôi kiểm tra trang này là những gì HTML tôi nhận được cho nút hiện khuyết tật bị vô hiệu hóa, giống như nó là trên trang:

<button type="submit" class="button primary inverse" ng-disabled="!comment.$dirty && comment.$valid" disabled="disabled">Save</button> 

Các thử nghiệm thước đo góc dưới lợi nhuận 'Dự kiến ​​null để bình đẳng disabled'

var btnSave = element(by.css('.primary')); 
    expect(btnSave.isPresent()).toBeTruthy(); 

    var attr = element(by.css('.primary')).getAttribute('disabled'); 

    expect(attr).toEqual("disabled"); 

Khi tôi cố gắng, tôi nhận được dự kiến ​​'' bị vô hiệu hóa bình đẳng.

expect(attr).toEqual("disabled"); 

Bất kỳ ý tưởng nào tôi gặp sự cố?

Cảm ơn

+0

Tôi tự hỏi liệu ['isEnabled()'] (http://www.protractortest.org/#/api?view=webdriver.WebElement.prototype.isEnabled) (hoặc phiên bản 'không' được Promisified) để xác định bị vô hiệu hóa? –

Trả lời

7

getAttribute() chức năng trong thước đo giá trị trả về dưới dạng lời hứa. Vì vậy, hoặc là bạn phải chờ cho đến khi nó được trả về và sau đó thực hiện xác nhận hoặc bạn có thể chuyển chức năng vào số expectation để giải quyết lời hứa. Thuộc tính html disabled html là boolean attribute và do đó giá trị trả về là true hoặc false. Đây là cách -

element(by.css('.primary')).getAttribute('disabled').then(function(attr){ 
    expect(attr).toBe(true); 
}); 

HOẶC

expect(element(by.css('.primary')).getAttribute('disabled')).toBe(true); 

Hy vọng nó giúp.

+0

Cảm ơn. Nhưng tôi chỉ có thể làm cho nó bất bình đẳng "đúng" .Vì vậy, ở đâu đó bị vô hiệu hóa = "true" đang được chọn. phần tử (by.css ('. primary')). getAttribute ('disabled'). (hàm (attr) { mong đợi (attr) .toBe ("true"); }); – thegunner

+1

@thegunner vô hiệu hóa thuộc tính không có bất kỳ giá trị được gán cho nó như là một thuộc tính boolean của nó. Bạn có thể kiểm tra sự hiện diện của tên thuộc tính trong trường hợp này bằng cách kiểm tra xem giá trị có đúng không. Cập nhật câu trả lời với cùng một. Cảm ơn thuộc tính bị vô hiệu hóa –

+0

@thegunner không có bất kỳ giá trị nào được gán cho nó làm thuộc tính boolean của nó. Bạn có thể kiểm tra sự hiện diện của tên thuộc tính trong trường hợp này bằng cách kiểm tra xem giá trị có đúng không. Cập nhật câu trả lời với cùng một. Cảm ơn –

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