Я работаю над проектом, который больше похож на доказательство концепции. На самом деле PO C для меня, поскольку я уверен, что это было сделано раньше.
Я пытаюсь работать с Cucumber. js, Appium Server / Client, Node и Javascript на Visual Код студии.
Немного фона. Я новичок в Javascript, но не совсем новичок в BDD / Cucumber и автоматическом тестировании с Appium.
Я столкнулся с препятствием в самом начале проекта, и я не могу понять, что не так и где до go отсюда. Поиск в inte rnet никуда меня не привел - вероятно, поиск не в нужных местах r с правильными ключевыми словами.
Позвольте мне объяснить. Я создал файлы функций в рабочей области в коде Visual Studio следующим образом:
Feature: Change Font Size
Scenario: Set Font Size to Default
Given that I am on Font Size option
When I click the default option
Then The font size should be set to default
Scenario: Set Font Size to Small
Given that I am on Font Size option
When I click the small option
Then The font size should be set to small
Я сгенерировал связующий код, используя следующую команду
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS C:\Projects\VisualStudioCode\CucumberAppium> node_modules/.bin/cucumber-js
Все хорошо, так как это создает связующий код / step, которые я добавляю в свой файл js. Мой файл js выглядит следующим образом. Это было выбрано КАК ЕСТЬ после выполнения команды cucumber- js (упомянутой выше)
const {Given,When,Then} = require('cucumber');
Given('that I am on Font Size option', function () {
// Write code here that turns the phrase above into concrete actions
return 'pending';
});
When('I click the default option', function () {
// Write code here that turns the phrase above into concrete actions
return 'pending';
});
Then('The font size should be set to default', function () {
// Write code here that turns the phrase above into concrete actions
return 'pending';
});
When('I click the small option', function () {
// Write code here that turns the phrase above into concrete actions
return 'pending';
});
Then('The font size should be set to small', function () {
// Write code here that turns the phrase above into concrete actions
return 'pending';
});
Я еще не добавил код, но когда я запустил это Run-> Run без отладки то самое меньшее, что я ожидаю, это НИЧЕГО - поскольку кода нет.
Но я получаю сообщение об ошибке (упомянутое ниже)
C:\Program Files (x86)\nodejs\node.exe features\steps.js\
internal/validators.js:118
throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "from" argument must be of type string. Received undefined
at validateString (internal/validators.js:118:11)
at Object.relative (path.js:437:5)
at getDefinitionLineAndUri (c:\Projects\VisualStudioCode\CucumberAppium\node_modules\cucumber\lib\support_code_library_builder\build_helpers.js:184:27)
at buildStepDefinitionConfig (c:\Projects\VisualStudioCode\CucumberAppium\node_modules\cucumber\lib\support_code_library_builder\build_helpers.js:124:7)
at SupportCodeLibraryBuilder.defineStep (c:\Projects\VisualStudioCode\CucumberAppium\node_modules\cucumber\lib\support_code_library_builder\index.js:51:79)
at Object.<anonymous> (c:\Projects\VisualStudioCode\CucumberAppium\features\steps.js:3:1)
at Module._compile (internal/modules/cjs/loader.js:1147:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1167:10)
at Module.load (internal/modules/cjs/loader.js:996:32)
at Function.Module._load (internal/modules/cjs/loader.js:896:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47 {
code: 'ERR_INVALID_ARG_TYPE',
[Symbol(originalCallSite)]: [
CallSite {}, CallSite {},
CallSite {}, CallSite {},
CallSite {}, CallSite {},
CallSite {}, CallSite {},
CallSite {}, CallSite {},
CallSite {}, CallSite {}
],
[Symbol(mutatedCallSite)]: [
CallSite {}, CallSite {},
CallSite {}, CallSite {},
CallSite {}, CallSite {},
CallSite {}, CallSite {},
CallSite {}, CallSite {},
CallSite {}, CallSite {}
]
}
Я знаю, что может быть что-то, что я мог пропустить.
Я был бы очень рад, если бы кто-нибудь мог указать мне правильное направление.
My package.json is as follows
{
"name": "cucumberappium",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"cucumber": "^6.0.5",
"selenium-webdriver": "^4.0.0-alpha.7"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"description": ""
}
Спасибо!