2014-09-16 18 views
6

Tôi đang cố gắng để có Testem chạy thử nghiệm của mình vào trình duyệt Chrome với các tiện ích mở rộng cụ thể được tải, nhưng theo mặc định đó là một hồ sơ Chrome trống được bắt đầu và kéo dài các phần mở rộng từ lần chạy này sang lần chạy khác.khởi chạy trình duyệt chrome testem với một số tiện ích mở rộng cụ thể

Mục tiêu của tôi là ví dụ: có Testem để khởi chạy trình duyệt Chrome được tải sẵn với Ember Inspector để tôi có thể gỡ lỗi các thử nghiệm bằng công cụ đó.

Tôi muốn biết liệu điều đó có thể thực hiện được không và nếu có thì làm cách nào.

+0

Liên quan: https://github.com/testem/testem/issues/808 – vine77

Trả lời

3

Rất tiếc, dường như không có cách tích hợp nào mà tôi có thể tìm thấy.

Nếu bạn muốn có một giải pháp nhanh chóng và dơ bẩn, tôi khuyên bạn như sau:

Các trình duyệt có sẵn trong testem được định nghĩa trong testem/lib/browser_launcher.js Nếu bạn muốn thay đổi các tập tin mà ember-cli sử dụng, đây sẽ là đường dẫn đầy đủ:

<your-app-dir>/node_modules/ember-cli/node_modules/testem/lib/browser_launcher.js 

Tệp này có chức năng gọi là browsersForPlatform(). Tìm nền tảng của bạn và mục nhập cho Chrome. Đối với Darwin, mục nhập có liên quan như sau:

 { 
     name: "Chrome", 
     exe: "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome", 
     args: ["--user-data-dir=" + tempDir + "/testem.chrome", "--no-default-browser-check", "--no-first-run", "--ignore-certificate-errors"], 
     setup: function(config, done){ 
      rimraf(tempDir + '/testem.chrome', done) 
     }, 
     supported: browserExeExists 
     }, 

Bạn sẽ muốn thay đổi args để được gọi theo ý muốn. Tôi đoán là vấn đề là --user-data-dir trỏ đến một thư mục tmp. Có lẽ chỉ cần loại bỏ điều này sẽ giải quyết được vấn đề.

Lý tưởng nhất, testem sẽ cung cấp cách trong tệp testem.json để ghi đè tùy chọn trình duyệt. Điều này có lẽ sẽ là một đóng góp hợp lý đơn giản cho dự án testem nếu bạn quan tâm và có sự quan tâm giữa các nhà bảo trì.

Nếu bạn đi theo lộ trình thay đổi browser_launcher.js, hãy nhớ rằng nó sẽ bị ghi đè mỗi lần gói nút được cập nhật. Tôi giả sử có một cách bạn có thể cài đặt một phiên bản chia rẽ và sau đó giữ cho bản sao của bạn được cập nhật khi bạn thấy phù hợp.

+0

Bạn có thể sử dụng npm-shrinkwrap.json để buộc ember-cli sử dụng phiên bản chia nhỏ của testem. Đối số Chrome hiện có trong [lib/utils/known-browsers.js] (https://github.com/testem/testem/blob/v1.9.1/lib/utils/known-browsers.js#L22-L33) – vine77

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