2017-04-23 16 views
5

Làm thế nào để bạn đặt cổng và máy chủ cho lệnh ng e2e bằng tệp cấu hình?Cách chỉ định cổng và máy chủ cho ng e2e bằng cách sử dụng cấu hình

Tôi biết rằng nó có thể sử dụng câu lệnh sau tại cửa sổ dòng lệnh

ng e2e --port <port number> --host <host> 

này hoạt động độc đáo, nhưng nó sẽ là thuận tiện hơn để thiết lập các cổng và địa chỉ trong file cấu hình. Tôi đã xem bên trong .angular-cli.json và thấy rằng có một tệp có tên là protractor.config.js, tôi đã không thể tìm ra cài đặt nào để sử dụng trong tệp đó, có cài đặt baseUrl, nhưng thay đổi không tạo ra bất kỳ sự khác biệt nào với cổng được sử dụng bởi lệnh ng e2e. Dường như nó đang sử dụng một cổng ngẫu nhiên.

Ngoài baseUrl Tôi cũng đã thử đặt portseleniumPort nhưng chúng không có sự khác biệt.

Sau khi nhập lệnh ng e2e đầu ra sau đây sẽ xuất hiện ở trong giao diện điều khiển

** NG Live Development Server is running on http://localhost:49155 ** 

Trong protractor.config.js Tôi có baseUrl bộ như http://localhost:50000. Tôi đã quan sát các kiểm tra thực hiện và tôi có thể thấy rằng trình duyệt đang sử dụng địa chỉ http://localhost:49155 không phải là địa chỉ mà tôi mong muốn.

ng --version trả về followin

@ góc/cli: 1.0.0
nút: 7.7.1
os: win32 x64
@ góc/chung: 4.0.3
@ góc/biên dịch: 4.0.3
@ góc/lõi: 4.0.3
@ góc/hình thức: 4.0.3
@ góc/http: 4.0.3
@angu lar/nền tảng trình duyệt: 4.0.3
@ góc/nền tảng plug-in động: 4.0.3
@ góc/router: 4.0.3
@ góc/cli: 1.0.0
@ góc/compiler- cli: 4.0.3

+1

gì làm bạn mean * "được sử dụng bởi lệnh' ng e2e' "*? Bạn đang nói về cổng mà selenium đang chạy hay cổng sẽ tìm ứng dụng đang chạy? Sau này bạn chắc chắn có thể thay đổi bằng cách sử dụng 'baseUrl'. Bạn có thể hiển thị đầu ra bạn đang nhận được không? – jonrsharpe

+0

@jonrsharpe Tôi đang nói về cổng mà ứng dụng đang chạy. Dòng đầu ra đầu tiên là «** NG Live Development Server đang chạy trên http: // localhost: 49155 **' nhưng tôi đã đặt 'baseUrl' là' http: // localhost: 50000' – user7237069

+0

Đó là cổng mà 'ng phục vụ' đang chạy trên, chắc chắn, không nhất thiết những gì 'ng e2e' đang tìm kiếm? – jonrsharpe

Trả lời

6

tôi đã không nhìn thấy một cấu hình cho cổng máy chủ dev chạy trên khi chạy ng e2e

đặt cược tốt nhất của bạn có lẽ là một kịch bản NPM: https://docs.npmjs.com/misc/scripts

  1. Thêm "e2e":"ng e2e --port <port number> --host <host>"-package.json dưới scripts
  2. Sử dụng kịch bản bằng cách chạy npm run e2e, điều này sẽ chạy script e2e trong package.json, trong trường hợp này ng e2e --port <port number> --host <host>

Nó isnt một tập tin cấu hình của bạn, nhưng nó hoạt động giống như một .

2

thuộc tính baseUrl bằng cách nào đó không hoạt động trong protractor.config.js, nhưng bạn programatically có thể thiết lập thuộc tính trong phương pháp onPrepare trong config.js cùng

{ 
    onPrepare() { 
     browser.baseUrl = 'http://localhost:4200/'; 
    }, 
} 

Tôi đã sử dụng giải pháp này trong 1.x kiễu góc, vẫn hoạt động cho góc 2/4

+0

I ' đã nhận thấy điều này là tốt; khi sử dụng lệnh Angular CLI 'ng e2e', baseUrl bị ghi đè vì một lý do nào đó. – Willwsharp

+0

Tôi không thể tìm thấy tệp 'protractor.config.js' ở bất kỳ đâu vì nó được đổi tên thành' protractor.conf.js' trong các phiên bản mới nhất. –

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