9

Tôi gặp lỗi dưới đây khi thử chạy thử nghiệm Thước đo đối với chrome.phiên không được tạo ngoại lệ cho chrome trong Thước đo

conf.ts My

import {Config} from 'protractor' 

export let config: Config = { 
    framework: 'jasmine', 
    // capabilities: { browserName: 'chrome'}, 
    multiCapabilities: [ 
     // {browserName: 'firefox'}, 
     { 
      browserName: 'chrome', 
      chromeOptions: { 
       args: ['--start-maximized'] 
      }, 

     }], 

    seleniumAddress: 'http://127.0.0.1:4444/wd/hub', 
    seleniumPort: null, 
    seleniumArgs: [], 
    specs: [ 
     './Protractor/Login/*.spec.js', 

Lỗi:

Protractor conf.js 
[17:19:07] I/hosted - Using the selenium server at http://127.0.0.1:4444/wd/hub 
[17:19:07] I/launcher - Running 1 instances of WebDriver 
[17:19:09] E/launcher - session not created exception 
from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"8800.1","isDefault":true},"id":1,"name":"","origin":"://"} 
    (Session info: chrome=54.0.2840.59) 
    (Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 1.07 seconds 
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03' 
System info: host: 'MAL000009416062', ip: '192.168.1.4', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_73' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
[17:19:09] E/launcher - SessionNotCreatedError: session not created exception 
from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"8800.1","isDefault":true},"id":1,"name":"","origin":"://"} 
    (Session info: chrome=54.0.2840.59) 
    (Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 1.07 seconds 
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03' 
System info: host: 'MAL000009416062', ip: '192.168.1.4', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_73' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
    at WebDriverError (C:\Users\392811\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:27:5) 
    at SessionNotCreatedError (C:\Users\392811\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:308:5) 

conf.ts

multiCapabilities: [ 

     { 
      browserName: 'chrome', 
      chromeOptions: { 
       args: ['--start-maximized'] 
      }, 

     }], 

Hầu hết các cuộc thảo luận trên web là khoảng phiên bản. Tôi hiện đang sử dụng các phiên bản cập nhật

Bất kỳ đầu mối nào vui lòng?

Cheers

+0

tay tải lái xe chrome phiên bản 2,24 và thay thế bằng tập tin chromdriver.exe hiện có. –

+0

@SudharsanSelvaraj Tôi có 'chromedriver_2.24.exe' trong đường dẫn này' node_modules \ protractor \ node_modules \ webdriver-manager \ selenium' – SMPH

Trả lời

13

Bạn có thể thay đổi phiên bản của chromedriver tải bởi webdriver-manager bằng cách thay đổi tập tin config.json thước đo của ...

  1. tập tin cấu hình Sửa thước đo của: node_modules/thước đo/config.json
  2. Thay đổi phiên bản trình điều khiển chrome thành bất kỳ thứ gì bạn cần. ví dụ. "chromedriver": "2,24".
  3. Chạy cập nhật trình quản lý trình quản lý web.

từ lỗi bạn đã đăng, thước đo góc không sử dụng phiên bản trình điều khiển chrome mới nhất.Trong theo dõi ngăn xếp, nó hiển thị phiên bản trình điều khiển chrome là 2.21.

+0

Tôi đang sử dụng 'multiCapabilities:' và cập nhật câu hỏi với phần 'conf.ts'. Vẫn không cập nhật với lệnh 'webdriver-manager update '. – SMPH

+0

chỉnh sửa tệp conf.json có trong 'node_modules/protractor/config.json'. không phải là dự án của bạn 'conf.js' –

+0

Tôi đã thêm nó vào' tsconfig.json 'ở vị trí đã đề cập. Sau đó, các kết quả 'cập nhật trình quản lý webkit-manager' được tạo ra bên dưới. 'Tôi/cập nhật - chromedriver: tệp tồn tại C: \ Users \ 392811 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium \ chromedriver_2.22win32.zip [20:29:17] Tôi/cập nhật - chromedriver: giải nén chromedriver_2.22win32.zip [20:29:17] Tôi/cập nhật - chromedriver: v2.22 cập nhật ngày – SMPH

6

tôi không có đủ đại diện chưa để lại nhận xét dưới câu trả lời Sudharsan nhưng vị trí của tập tin cấu hình anh đang nói cho bạn để sửa đổi thực sự là tại

node_modules/protractor/node_modules/webdriver-manager/config.json 

Nó không phải là tsconfig thước đo nhưng webdriver -manager config.json mà bạn muốn sửa đổi.

Điều đó đang được nói, tôi đã gặp phải vấn đề này trước đây và thực hiện một cách tiếp cận khác để giải quyết nó. Giải pháp mà Sudharsan cung cấp sẽ hoạt động nếu bạn chỉ cần cài đặt một lần. Chúng tôi đã xây dựng của chúng tôi đang chạy trong TFS mà làm sạch ra các đại lý xây dựng thư mục làm việc và kéo trong một repo tươi trên mỗi xây dựng. Thay đổi cấu hình trình quản trị web sẽ không hoạt động trong tình huống này vì chúng tôi npm install tất cả mọi thứ trước mỗi lần xây dựng. Trong trường hợp này, nó sẽ luôn quay trở lại phiên bản cũ của chromedriver.

Thay vào đó, tôi đã thêm chromedriver vào devDependencies của mình trong package.json và sau đó tôi xóa phiên bản chromedriver mà trình quản lý webdriver cài đặt và di chuyển phiên bản cập nhật của chromedriver vào vị trí chính xác với nhiệm vụ gulp. Vì vậy, trong package.json tôi đã liệt kê này dưới devDependencies:

"chromedriver": "~2.24.1" 

và sau đó tôi có một nhiệm vụ ngụm mà xóa và di chuyển các tập tin như thế này:

var gulp = require('gulp'); 
var del = require('del'); 

var chromeDriverFilesToMove = [ 
    './node_modules/chromedriver/lib/chromedriver/**' 
]; 

var chromeDriverFilesToDelete = [ 
    './node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver*.exe', 
    './node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver*.zip' 
]; 

gulp.task('delete-chromedriver', function() { 
    return del(chromeDriverFilesToDelete); 
}); 

gulp.task('move-chromedriver', function() { 
    gulp.src(chromeDriverFilesToMove) 
     .pipe(gulp.dest('node_modules/protractor/node_modules/webdriver-manager/selenium/')); 
}); 

gulp.task('chromedriver-update', ['delete-chromedriver', 'move-chromedriver']); 

Và bởi vì thước đo sẽ vẫn được tìm kiếm cho phiên bản cũ của chromedriver đã được cài đặt khi bạn chạy webdriver-manager update, bạn phải cho nó biết nơi để tìm chromedriver.exe để thêm này vào confractor của bạn.js và nó sẽ bắt đầu hoạt động.

chromeDriver: "../node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver.exe", 

Thật ngớ ngẩn khi chúng tôi phải trải qua tất cả những rắc rối này để nó hoạt động nhưng chromedriver 2.22 dường như không hoạt động với Chrome 53+. Ít nhất là không có trong kinh nghiệm của tôi.

TL; DR

Nếu bạn chỉ cần cài đặt nó một lần sử dụng giải pháp Sudharsan của (đưa cho bạn thay đổi cấu hình đúng), thật dễ dàng. Nếu bạn đang ở trong tình trạng của tôi và sẽ phải cài đặt thước đo góc liên tục thử giải pháp của tôi. Nó đã làm việc tốt cho tôi và tôi đã không chạy vào lỗi này kể từ đó.

1

Thước đo có bản phát hành mới (4.0.10) sẽ sử dụng bản phát hành mới của trình quản lý trình quản lý web (10.2.6), lần lượt sẽ cập nhật lên Chromedriver mới khi gọi cập nhật trình quản lý webdo. Tất cả những gì bạn cần làm là cập nhật Protractor trong tệp package.json của bạn.

"protractor": "^4.0.9" to "protractor": "^4.0.10" 

Hope this helps :)

3

Tôi chỉ cần thiết để:

npm update -g protractor 
webdriver-manager update 

Và nó làm việc một lần nữa.

0

Đối với tôi, cập nhật chromedriver và protractor-conf.js khắc phục sự cố.

  1. Tải mới nhất chromedriver rằng phù hợp với hệ điều hành của bạn (thay đổi phiên bản nhỏ nếu cần) từ đây: http://chromedriver.storage.googleapis.com/index.html?path=2.24/
  2. Giải nén vào thư mục /usr/local/bin/chromedriver.
  3. Trong protractor-conf.js (phải ở trong thư mục gốc ứng dụng) thêm một dòng với config.chromeDriver = '/usr/local/bin/chromedriver';
Các vấn đề liên quan