потому что в вашем конфигурационном файле вы используете

ичок в транспортире и огурец рамки. я следовал за шагами от сайта транспортира и здесьhttps://semaphoreci.com/community/tutorials/getting-started-with-protractor-and-cucumber, у меня есть файл конфигурации, сконфигурированный с опциями структуры огурца, файлом функции и файлом определения шага. Но когда я запускаю свой конфигурационный файл cucumber, он не распознает мои определения шагов и всегда выдает ошибку. любая помощь по этому поводу? ниже мои установочные файлы.

//cucumber-config.js

exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  capabilities: {
      browserName:'chrome'
  },
  framework: 'custom',
  frameworkPath: require.resolve('protractor-cucumber-framework'),
  specs: [
    './features/*.feature'
  ],
  cucumberOpts: {
    require: ['./features/step_definitions/*.steps.js'],
    tags: [],
    strict: true,
    format: ["pretty"],
    dryRun: false,
    compiler: []
  },
  onPrepare: function () {
    browser.manage().window().maximize();
  }
};

//testone.feature

#features/test.feature
Feature: Running Cucumber with Protractor

    Scenario: Protractor and Cucumber Test
        Given I go to "https://angularjs.org/"
        When I add "Be Awesome" in the task field
        And I click the add button
        Then I should see my new task in the list

//testone_steps.js

var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');

chai.use(chaiAsPromised);
var expect = chai.expect;

module.exports = function() {
  this.Given(/^I go to "([^"]*)"$/, function(site) {
    browser.get(site);
  });

  this.When(/^I add "([^"]*)" in the task field$/, function(task) {
    element(by.model('todoList.todoText')).sendKeys(task);
  });

  this.When(/^I click the add button$/, function() {
    var el = element(by.css('[value="add"]'));
    el.click();
  });

  this.Then(/^I should see my new task in the list$/, function(callback) {
    var todoList = element.all(by.repeater('todo in todoList.todos'));
    expect(todoList.count()).to.eventually.equal(3);
    expect(todoList.get(2).getText()).to.eventually.equal('Do not Be Awesome')
      .and.notify(callback);
  });
};

когда в бегахprotractor cucumber-conf.jsя получаю ошибку ниже ...

/opt/protractor_tests
➔ protractor cucumber.config.js
(node:3963) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
[21:19:17] I/launcher - Running 1 instances of WebDriver
[21:19:17] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
Feature: Running Cucumber with Protractor

  Scenario: Protractor and Cucumber Test
  ? Given I go to "https://angularjs.org/"
  ? When I add "Be Awesome" in the task field
  ? And I click the add button
  ? Then I should see my new task in the list

Warnings:

1) Scenario: Protractor and Cucumber Test - features/testone.feature:4
   Step: Given I go to "https://angularjs.org/" - features/testone.feature:5
   Message:
     Undefined. Implement with the following snippet:

       Given('I go to {stringInDoubleQuotes}', function (stringInDoubleQuotes, callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

2) Scenario: Protractor and Cucumber Test - features/testone.feature:4
   Step: When I add "Be Awesome" in the task field - features/testone.feature:6
   Message:
     Undefined. Implement with the following snippet:

       When('I add {stringInDoubleQuotes} in the task field', function (stringInDoubleQuotes, callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

3) Scenario: Protractor and Cucumber Test - features/testone.feature:4
   Step: And I click the add button - features/testone.feature:7
   Message:
     Undefined. Implement with the following snippet:

       When('I click the add button', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

4) Scenario: Protractor and Cucumber Test - features/testone.feature:4
   Step: Then I should see my new task in the list - features/testone.feature:8
   Message:
     Undefined. Implement with the following snippet:

       Then('I should see my new task in the list', function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });

1 scenario (1 undefined)
4 steps (4 undefined)
0m00.000s
[21:19:22] I/launcher - 0 instance(s) of WebDriver still running
[21:19:22] I/launcher - chrome #01 failed 1 test(s)
[21:19:22] I/launcher - overall: 1 failed spec(s)
[21:19:22] E/launcher - Process exited with error code 1

/opt/protractor_tests
➔ 

Обновлено с ошибкой выполнения

[15:22:59] I/launcher - Running 1 instances of WebDriver
[15:22:59] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
Feature: Running Cucumber with Protractor

  Scenario: Protractor and Cucumber Test
  √ Given I go to "https://angularjs.org/"
  √ When I add "Be Awesome" in the task field
  √ And I click the add button
  × Then I should see my new task in the list

Failures:

1) Scenario: Protractor and Cucumber Test - features\testone.feature:4
   Step: Then I should see my new task in the list - features\testone.feature:8
   Step Definition: features\step_definitions\testone.steps.js:22
   Message:
     Error: function timed out after 5000 milliseconds
         at Timeout.<anonymous> (<local>\ProtractorTests\node_modules\cucumber\lib\user_code_runner.js:91:22)
         at ontimeout (timers.js:365:14)
         at tryOnTimeout (timers.js:237:5)
         at Timer.listOnTimeout (timers.js:207:5)

1 scenario (1 failed)
4 steps (1 failed, 3 passed)
0m05.049s
[15:23:19] I/launcher - 0 instance(s) of WebDriver still running
[15:23:19] I/launcher - chrome #01 failed 1 test(s)
[15:23:19] I/launcher - overall: 1 failed spec(s)
[15:23:19] E/launcher - Process exited with error code 1
error Command failed with exit code 1.

Ответы на вопрос(2)

Ваш ответ на вопрос