2013-08-03 39 views
5

Tôi có ứng dụng góc sử dụng $routeProvider để tải các phần khác nhau thành ng-view.Gọi `ngủ` hoặc 'tạm dừng' trong kịch bản nghiệp cho khung phá vỡ ứng dụng góc

Vì vậy, trong các trường hợp e2e của mình, khi tôi gọi browser().navigateTo('/'), tôi cũng cần gọi sleep(0.5) hoặc thứ gì đó để chờ các yếu tố thực sự xuất hiện.

Thật không may, gọi sleep hoàn toàn phá vỡ thử nghiệm! Đột nhiên, khuôn khổ hoạt động như thể nó không thể nhìn thấy trang, và không bao giờ có thể tìm thấy các yếu tố.

Bài kiểm tra e2e của tôi mà tôi không phải đợi bất cứ thứ gì để tải có thể tìm thấy tất cả các phần tử mà tôi mong đợi, nhưng nếu tôi thực hiện cuộc gọi ngủ trong các bài kiểm tra đó, thì chúng cũng sẽ bị hỏng.

Có ai có đề xuất về nội dung cần xem không? Một số cách để tăng độ dài của giao diện điều khiển? Một số cách để chụp thử trở lại vào tiêu điểm?

Thông tin thêm:

  • Không có đầu ra lỗi trong trình duyệt giao diện điều khiển hoặc trên dòng lệnh giao diện điều khiển!
  • Tôi đã sao chép thiết lập nghiệp của mình trực tiếp từ dự án hạt giống góc. Theo như tôi có thể nói chúng giống hệt nhau.

Trả lời

0

Tôi khuyên bạn nên sử dụng Protractor để kiểm tra Angular E2E của bạn. Điều này có nhận thức về các lời hứa về góc cạnh và trả về. Bạn có thể làm một cái gì đó như thế này thì:

ptor.get('http://localhost/#/my-route').then(function() { 
    // Do something 
}); 

Bạn cũng có thể sử dụng ptor.wait như thế này:

var timeout = 10000; 

    ptor.wait(function() { 
     return {some condition} 
    }, timeout); 

nào sẽ chờ đợi cho một điều kiện là đúng trước khi chuyển.

Bạn cũng có thể sử dụng ptor.waitForAngular() để chờ góc để giải quyết mọi lời hứa và yêu cầu http.

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