2017-01-30 17 views
0

Я использовал это краткое руководство для установки этой тестовой среды: https://github.com/codeception/codeceptjs/.codeceptjs - Ошибка: не удалось подключиться к серверу selenium/для этой команды требуется идентификатор сеанса, но не найден в полезной нагрузке ответа

После успешной установки я редактировал мои "mytest_test.js" со следующими дополнениями:

Feature('CodeceptJS Demonstration'); 

Scenario('test some forms', (I) => { 
    I.amOnPage('http://simple-form-bootstrap.plataformatec.com.br/documentation'); 
    I.fillField('Email', '[email protected]'); 
    I.fillField('Password', '123456'); 
    I.checkOption('Active'); 
    I.checkOption('Male'); 
    I.click('Create User'); 
    I.see('User is valid'); 
    I.dontSeeInCurrentUrl('/documentation'); 
}); 

После этого я начал тест:

codeceptjs run --debug 

Мои результаты:

C:\laragon\www\codeceptjs2 ([email protected]) 31.01.2017 10:46:30,41      
λ codeceptjs run --debug                  
CodeceptJS v0.4.16                   
Using test root "C:\laragon\www\codeceptjs2"             

CodeceptJS Demonstration --                 
test some forms                    
> Error: Couldn't connect to selenium server             
* I am on page "http://simple-form-bootstrap.plataformatec.com.br/documentation"    
> Screenshot has been saved to C:\laragon\www\codeceptjs2\output\test_some_forms.failed.png 
> Error: A session id is required for this command but wasn't found in the response payload 

Я не получаю скриншотов в выходной папке, и эта структура не работает, и я не понимаю Зачем.

package.json

{ 
    "name": "codeceptjs2", 
    "version": "1.0.0", 
    "description": "", 
    "main": "mytest_test.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "devDependencies": { 
    "codeceptjs": "^0.4.16", 
    "selenium-webdriver": "^3.0.1", 
    "webdriverio": "^4.6.2" 
    } 
} 

codecept.json

{ 
    "tests": "./*_test.js", 
    "timeout": 10000, 
    "output": "./output", 
    "helpers": { 
    "WebDriverIO": { 
     "url": "http://localhost", 
     "browser": "firefox" 
    } 
    }, 
    "include": { 
    "I": "./steps_file.js" 
    }, 
    "bootstrap": false, 
    "mocha": {}, 
    "name": "codeceptjs2" 
} 

steps_file.js

'use strict'; 
// in this file you can append custom step methods to 'I' object 

module.exports = function() { 
    return actor({ 

    // Define custom steps here, use 'this' to access default methods of I. 
    // It is recommended to place a general 'login' function here. 

    }); 
} 

ответ

1

Для быстрого запуска с помощью CodeceptJs я бы рекомендовал использовать помощник Nightmare. Так codecept.conf вы должны иметь что-то подобное этому

'helpers': { 
     'Nightmare': { 
      'url': 'http://localhost:3000', 
      'waitForTimeout': 10000, 
      'show': false 
     } 
    }, 

И не забудьте установить nightmare

npm install --save-dev nightmare nightmare-upload 
+0

Я создал новую папку и выбрал Кошмар с командой 'codeceptjs init'. Затем я установил кошмар с кошмаром «npm install -save-dev». В моем пакете.json: «Кошмар»: «^ 2.9.1». Когда я пытаюсь запустить сгенерированный тестовый файл, я мгновенно получаю Windows Script Host - всплывающее окно с ошибкой компиляции в Microsoft JScript. –

+1

Я установил драйверы Firefox и Google для этой структуры, и теперь все работает. Спасибо за подсказку с Кошмаром. Теперь он запускается после того, как я установил следующее: 'npm install -g nightmare nightmare-upload'. Я приму ваш ответ и буду признателен, если вы сможете опросить мой вопрос. Кто-то проголосовал без причины. –

0

Вы уверены, что была действительно настроена должным образом? Я думаю, после этого первого теста должен быть ОК и флажок. Возможно, он даже не пошел на google.com.

Если это не проблема, возможно, вы можете получить ее для вывода снимка экрана или использовать функцию паузы при кодировании и проверить состояние.

Также возможно, что Google увидел ваш автоматический браузер в качестве бота и не отправил ту же самую веб-страницу, которую мы видим, поэтому она фактически отправила страницу без элемента #hplogo.

+0

Я добавил свой "codecept.json" и "steps_file.js". Я попробовал 'I.amOnPage ('https://example.com/'); I.see ('Example Domain');'. Но результат все тот же. Кажется, не работает, и я не понимаю, почему. Я использовал официальное руководство для установки по умолчанию. Вам нужна дополнительная информация? Скажите, пожалуйста, какую информацию я должен публиковать. –

0

Если вы используете помощник WebdriverIO, вам нужно начать вам селен сервер.

  1. НОГО установить селен автономного -g
  2. selnium-автономные установки
  3. селен автономного запуск

после этого вы можете запустить его