2015-01-23 24 views
5

Tôi mới bắt đầu với angularjs và cần một số trợ giúp. Tôi đang sử dụng ngStorage để xử lý lưu trữ cục bộ và thước đo góc với thông số e2e trong ứng dụng AngularJS.Thử nghiệm thước đo góc với ngStorage

describe('Test', function() { 
    beforeEach(function() { 
    browser.driver.manage().window().setSize(1280, 1024) 
    browser.get('http://localhost:9000/#/test/first-test') 
    }) 

    it("keeps the alternative marked", function() { 
     element(by.id('element')).click() 

     browser.refresh() 

     expect(element(by.id('element')).isSelected()).toBe(true) 
    }) 
}) 

Kết quả:

1) Test keeps the alternative marked 
    Message: 
    Expected false to be true. 
    Stacktrace: 
    Error: Failed expectation 
    at [object Object].<anonymous> (path/spec/test_spec.js:12:52) 

Tôi nghĩ rằng browser.refresh() xóa lưu trữ nội bộ. Có cách để giữ nó hay cách khác để kiểm tra cùng một thứ?

Cảm ơn bạn đã nâng cao.

Trả lời

0

Tôi đã gặp sự cố tương tự nhưng tôi không nghĩ rằng nó liên quan đến hành vi browser.refresh(). Có vẻ như có vấn đề về thời gian với ngStorage thực sự cập nhật mọi thứ trong localStorage.

Bạn có thể xem trong https://github.com/gsklee/ngStorage/blob/master/ngStorage.js#L205 rằng ngStorage đợi 100ms sau khi thay đổi trên $ rootScope để thực sự lưu vào localStorage.

Điều tôi thấy khá phù hợp với điều này: Đôi khi mục bị loại bỏ vẫn bị ẩn sau khi tải lại, đôi khi không. Nếu tôi đặt một số browser.waitForAngular() rõ ràng trước cuộc gọi làm mới, bài kiểm tra sẽ vượt qua thường xuyên hơn nhưng không phải mọi lần. Điều đáng tin cậy nhất tôi đã tìm thấy từ trước đến nay là thêm browser.sleep(125); rõ ràng sau mỗi hành động thay đổi localStorage qua ngStorage. Ngẫu nhiên, đây dường như là phương pháp ngStorage sử dụng trong các thử nghiệm riêng của nó.

Cần lưu ý rằng trình xử lý onbeforeunload trong ngStorage nên xử lý trường hợp cụ thể này, nhưng có vẻ như không thực hiện đúng khi gọi browser.refresh().

+0

Tôi đã thêm một vấn đề về github để hiểu rõ hơn về điều này: https://github.com/gsklee/ngStorage/issues/226 – cayleyh

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