2014-12-12 22 views
5

Tôi cực kỳ bối rối về cách nói với Protractor và Selenium từ đâu để phục vụ ứng dụng của tôi cho các bài kiểm tra tích hợp (chạy Gulp trên Jenkins).Thước đo góc và Selenium ở Gulp và Jenkins

Đây là cấu hình thước đo của tôi:

exports.config = { 
    seleniumServerJar: '../node_modules/protractor/selenium/selenium-server-standalone-2.44.0.jar', 

    multiCapabilities: [{ 
     browserName: 'chrome' 
    }], 

    baseUrl: 'http://127.0.0.1:9000/', 

    rootElement: 'html', 

    jasmineNodeOpts: { 
     showColors: true, 
     defaultTimeoutInterval: 30000 
    } 
}; 

Nhưng đây là vấn đề: http://127.0.0.1:9000 không tồn tại. Tôi có nên triển khai đầu tiên và sau đó thực hiện các kiểm tra tích hợp hay nó có thể được thực hiện trước khi triển khai? Bởi vì nếu triển khai cần phải được thực hiện đầu tiên, sau đó nó không làm cho bất kỳ ý nghĩa với tôi như là nơi để đặt nó vào hệ thống xây dựng. Bởi vì sau đó điều này là không và không thể là một phần của một hệ thống xây dựng. Vậy CI ở đâu?

Trả lời

6

Bạn cần phải làm điều này trong nhiều bước/nhiệm vụ với sự giúp đỡ của gulp:

  • bắt đầu một máy chủ selen (nếu bạn đang sử dụng một máy chủ selen địa phương)
  • bắt đầu một máy chủ web, xem gulp-webserver (bạn bị mất tích bước này)
  • chạy thước đo kiểm tra
  • shutdown một máy chủ web
  • shutdown một máy chủ selen
+0

Cảm ơn bạn, điều này đã hiệu quả. Tuy nhiên, 'gulp-connect' không được hỗ trợ cho' gulp-webserver', vì vậy tôi đã sử dụng nó. Và 'gulp-serve' không hoạt động. Và điều này không được đề cập ở đâu trong bất kỳ hướng dẫn nào, thậm chí không phải là hướng dẫn chính thức. Giống như tất cả chúng ta đều biết mọi thứ. – Alex

+0

@Alex wow, cảm ơn rất nhiều vì đã chia sẻ, tôi sẽ cập nhật câu trả lời phù hợp. – alecxe

0

Ví dụ làm việc đầy đủ của cấu hình như vậy có thể được tìm thấy trên dự án góc cạnh. https://github.com/angular/angular-seed

tôi đã quản lý để sử dụng thành công ví dụ này để sử dụng protractor thử nghiệm trong dự án GitHub của tôi: https://github.com/atais/angular-eonasdan-datetimepicker

Vì vậy, bạn có thể sử dụng một trong hai để giúp bạn ra ngoài.


Về cơ bản cách dễ nhất là:

  1. chạy http-server như daemon
  2. chạy thử nghiệm ngụm
  3. quản lý mọi thứ từ NPM (package.json)

Toàn mã có thể xem tại đây: https://stackoverflow.com/a/41983565/1549135

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