Получение неопределенного.Реализуйте с помощью следующего фрагмента: -> транспортир + огурец - PullRequest
0 голосов
/ 20 мая 2018

пытаясь преобразовать мою структуру жасмина в структуру огурца, перепробовал много вариантов.но все еще становится ниже ошибки

Команда

protractor protractor.conf.js --cucumberOpts.tags="@login" 

и также устала от пряжи, но в итоге с той же ошибкой

yarn e2e

Ошибка

warnings:
1) Scenario: Login - Admin Login with 'VALID' UserName and Password - e2e/features/login.feature:6
   Step: Given I navigate to application - e2e/features/login.feature:7
   Message:
     Undefined. Implement with the following snippet:
       this.Given(/^I navigate to application$/, function (callback) {
         // Write code here that turns the phrase above into concrete actions
         callback(null, 'pending');
       });
1 scenario (1 undefined)
1 step (1 undefined)
0m00.001s
[09:17:59] I/launcher - 0 instance(s) of WebDriver still running
[09:17:59] I/launcher - chrome #01 failed 1 test(s)
[09:17:59] I/launcher - overall: 1 failed spec(s)
[09:17:59] E/launcher - Process exited with error code 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ir-backoffice@0.11.9 e2e: `ng e2e`
npm ERR! Exit status 1

файл функции.

login.feature

Feature: Login Regression Feature
  As a IR admin, I want to Login through IR Application
  So that Client can access application features

  @login
  Scenario:Login - Admin Login with 'VALID' UserName and Password
    Given I navigate to application

и файл определения шага

import { LoginDriver } from '../../drivers/login.driver';

const loginDriver = new LoginDriver();
import { browser } from 'protractor';
import { defineSupportCode } from 'cucumber';


defineSupportCode(({After, Given, Then, When}) => {

  Given(/^I navigate to application$/, function () {
   loginDriver.navigateByUrl();
  });

});

и protractor.config.ts

    // Protractor configuration file, see link for more information
    // https://github.com/angular/protractor/blob/master/lib/config.ts

    // const { SpecReporter } = require('jasmine-spec-reporter');

    exports.config = {
      allScriptsTimeout: 11000,
      specs: [
        './e2e/features/*.feature'
      ],
      capabilities: {
        browserName: 'chrome',
        chromeOptions: {
          // args: [ "--headless", "--disable-gpu", "--window-size=1980,1080" ]
        }
      },
      directConnect: true,
      baseUrl: 'http://localhost:4200/',
      framework: 'custom',
      frameworkPath: require.resolve('protractor-cucumber-framework'),
      cucumberOpts: {
        require: ["./e2e/features/**/*.steps.js"],
        tags: [],
        strict: true,
        format: ["progress"],
        dryRun: false,
        // compiler: [ 'ts:ts-node']
        compiler: "ts:ts-node/register"

      }
    }

;

Вот моя структура папок

введите описание изображения здесь

Я потратил 5-6 часов, чтобы найти решение, но я не смог пройти через него

Пожалуйста, помогите относительно, это было бы очень признательно

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

В самом журнале ошибок написано: «Невозможно вызвать требуемый шаг из файла определения шага. Обязательно проверьте следующее»,

i) Убедитесь, что и файл компонента, и файл определения шага, операторы совпадают(Там не должно быть лишних пробелов, пробелов),

ii) Убедитесь, что вы называете точное имя файла в файлах конфигурации,

iii) Убедитесь, что пути к файлам верны.

0 голосов
/ 20 мая 2018

Это очень простой вопрос, вы используете неправильное расширение файла на cucumbeOpts.require.Должно быть .ts, а не .js.

require: ["./e2e/features/**/*.steps.ts"],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...