транспортир с огурцом и селеновым веб-драйвером: невозможно запустить мой файл функций - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь настроить систему автоматизации для тестирования моего углового веб-приложения.Для этого мы используем транспортир с жасмином и огурцом.Я сталкиваюсь с несколькими проблемами: Ниже приведен package.json, и я убедился, что я включил зависимости для cucumber, менеджера веб-драйверов selenium, и я установил protractor-cucumber-framework, используя следующую команду:

 npm install --save-dev protractor-cucumber-framework

файл package.json:

{
  "name": "taweb",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --proxy-config proxy.conf.json",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "test-unit": "ng test"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^7.0.2",
    "@angular/cdk": "^7.0.3",
    "@angular/common": "~7.0.0",
    "@angular/compiler": "~7.0.0",
    "@angular/core": "~7.0.0",
    "@angular/forms": "~7.0.0",
    "@angular/http": "~7.0.0",
    "@angular/platform-browser": "~7.0.0",
    "@angular/platform-browser-dynamic": "~7.0.0",
    "@angular/router": "~7.0.0",
    "core-js": "^2.5.4",
    "font-awesome": "^4.7.0",
    "ngx-logger": "^3.0.5",
    "hammerjs": "^2.0.8",
    "primeicons": "^1.0.0",
    "primeng": "^6.1.6",
    "rxjs": "~6.3.3",
    "selenium-webdriver": "^4.0.0-alpha.1",
    "zone.js": "~0.8.26",
    "webpack": "~4.16.4",
    "webpack-config": "~7.5.0",
    "har-validator": "~5.1.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.10.0",
    "@angular/cli": "~7.0.4",
    "@angular/compiler-cli": "~7.0.0",
    "@angular/language-service": "~7.0.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "chai": "^4.1.2",
    "chai-as-promised": "^7.1.1",
    "codelyzer": "~4.5.0",
    "cucumber": "^4.2.1",
    "cucumber-html-reporter": "^4.0.3",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-firefox-launcher": "^1.1.0",
    "karma-ie-launcher": "^1.0.0",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "protractor-beautiful-reporter": "^1.2.3",
    "protractor-cucumber-framework": "^6.1.1",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.1.1"
  }
}

Также установлены следующие плагины от транспортира:

-Полная поддержка огурца Огурца

-cucumber-gotostep

Проблемыстолкнулся: 1) Когда я создаю файл объектов "test1.feature" и начинаю добавлять сценарий и щелкаю правой кнопкой мыши, тогда он не дает мне возможность добавить определение шага.Показывает только один параметр, связанный с огурцом, который называется «Определение шага».2) Я не вижу значок огурца для вышеуказанного файла функций.Не уверен, что мне здесь не хватает. Ниже приведен мой config.ts:

import * as path from "path";
import { browser, Config } from "protractor";
import { Reporter } from "../support/reporter";
const jsonReports = process.cwd() + "/reports/json";

export const config: Config = {

    seleniumAddress: "http://127.0.0.1:4444/wd/hub",

    SELENIUM_PROMISE_MANAGER: false,

    baseUrl: "https://www.google.com",

    capabilities: {
        browserName: "chrome",
    },

    framework: "custom",
    frameworkPath: require.resolve("protractor-cucumber-framework"),

    specs: [
        //"../../features/*.feature",
        "src/Test/features/*.feature",
    ],

    onPrepare: () => {
        browser.ignoreSynchronization = true;
        browser.manage().window().maximize();
        Reporter.createDirectory(jsonReports);
    },

    cucumberOpts: {
        compiler: "ts:ts-node/register",
        format: "json:./reports/json/cucumber_report.json",
        //require: ["../../typeScript/stepdefinitions/*.js", "../../typeScript/support/*.js"],
        require: ["src/Test/steps/*.ts", "src/Test/support/*.ts"],
        strict: true,
        tags: "@CucumberScenario or @ProtractorScenario or @TypeScriptScenario or @OutlineScenario",
    },

    onComplete: () => {
        Reporter.createHTMLReport();
    },
};

3) Когда я пытаюсь запустить вышеуказанный файл объектов, используя node_modules.bin \ cucumber-js "Test1.feature", он показываетниже:

0 scenarios
0 steps
0m00.000s

4) Также я не могу увидеть файлы jar диспетчера веб-драйверов в расположении ниже: Когда я запускаю команды:

node_modules\.bin\webdriver-manager update
node_modules\.bin\webdriver-manager start

Выдает ошибку как

events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: connect ETIMEDOUT 172.217.7.208:443
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1113:14)
Emitted 'error' event at:
    at Request.onRequestError (..\..\node_modules\request\request.js:881:8)
    at ClientRequest.emit (events.js:187:15)
    at TLSSocket.socketErrorListener (_http_client.js:391:9)
    at TLSSocket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)

Как я могу добавить файлы jar, связанные с менеджером webdriver, как часть моего пакета npm, чтобы я мог обновить и запустить его?

Любая помощь очень ценится. Спасибо!

1 Ответ

0 голосов
/ 06 декабря 2018

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

Вы указали свой фреймворк, адрес селена, местоположение файла спецификаций и расположение файлов объектов.Вы должны запустить конфигурационный файл с транспортиром.

https://github.com/igniteram/protractor-cucumber-typescript

Чтобы избежать webdriver-manager, см. Следующий пост.

https://stackoverflow.com/a/53358685/8903949

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...