- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 WebDriverIO 练习 CucumberJS 并进行测试 http://webdriver.io .我有以下功能文件和步骤定义,这工作正常。
功能文件
Feature: Application Title
Page title should be context sensitive
Scenario: Page loads with correct title
When Page "/" is loaded
Then Page title is "WebdriverIO - WebDriver bindings for Node.js"
const { Given, When, Then } = require('cucumber');
const assert = require('assert');
const webdriverio = require('webdriverio');
When(/^Page \"(.*)\" is loaded$/, (page) => {
browser.url(page);
});
Then(/^Page title is \"(.*)\"$/, (title) => {
assert(browser.title(), title);
});
Feature: Application Title
Page title should be context sensitive
Scenario Outline: Page loads with correct title
When Page "<url>" is loaded
Then Page title is "<title>"
Examples:
| url | title |
| / | WebdriverIO - WebDriver bindings for Node.js |
| /guide.html | WebdriverIO - Developer Guide |
D:\playground\webdriverio-cucumberjs>npm run e2e
> webdriverio-cucumberjs@1.0.0 e2e D:\playground\webdriverio-cucumberjs
> wdio
[13:11:45] COMMAND POST "/wd/hub/session"
[13:11:45] DATA {"desiredCapabilities":{"javascriptEnabled":true,"locationContextEnabled":true,"handlesAlerts":true,"rotatable":true,"maxInstances":5,"browserName":"chrome","loggingPrefs":{"browser":"ALL","driver":"ALL"},"requestOrigins":{"url":"http://webdriver.io","version":"4.12.0","name":"webdriverio"}}}
[13:11:49] INFO SET SESSION ID d206c5af3fcb467668d5f1d21135bd5a
[13:11:49] RESULT {"applicationCacheEnabled":false,"rotatable":false,"mobileEmulationEnabled":false,"networkConnectionEnabled":false,"chrome":{"chromedriverVersion":"2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91)","userDataDir":"C:\\Users\\BilalM\\AppData\\Local\\Temp\\scoped_dir2072_18134"},"takesHeapSnapshot":true,"pageLoadStrategy":"normal","databaseEnabled":false,"handlesAlerts":true,"hasTouchScreen":false,"version":"65.0.3325.181","platform":"Windows NT","browserConnectionEnabled":false,"nativeEvents":true,"acceptSslCerts":false,"acceptInsecureCerts":false,"locationContextEnabled":true,"webStorageEnabled":true,"browserName":"chrome","takesScreenshot":true,"javascriptEnabled":true,"cssSelectorsEnabled":true,"setWindowRect":true,"unexpectedAlertBehaviour":""}
ERROR: Cannot read property 'steps' of undefined
chrome
Type at CucumberEventListener.onTestStepPrepared (D:\playground\webdriverio-cucumberjs\node_modules\wdio-cucumber-framework\build\cucumberEventListener.js:186:44)
at emitOne (events.js:101:20)
at EventEmitter.emit (events.js:188:7)
at TestCaseRunner.emit (D:\playground\webdriverio-cucumberjs\node_modules\cucumber\lib\runtime\test_case_runner.js:94:29)
at TestCaseRunner.emitPrepared (D:\playground\webdriverio-cucumberjs\node_modules\cucumber\lib\runtime\test_case_runner.js:127:12)
at TestCaseRunner.<anonymous> (D:\playground\webdriverio-cucumberjs\node_modules\cucumber\lib\runtime\test_case_runner.js:219:14)
at next (native)
at tryCatcher (D:\playground\webdriverio-cucumberjs\node_modules\bluebird\js\release\util.js:16:23)
at PromiseSpawn._promiseFulfilled (D:\playground\webdriverio-cucumberjs\node_modules\bluebird\js\release\generators.js:97:49)
at TestCaseRunner.<anonymous> (D:\playground\webdriverio-cucumberjs\node_modules\bluebird\js\release\generators.js:201:15)
at TestCaseRunner.run (D:\playground\webdriverio-cucumberjs\node_modules\cucumber\lib\runtime\test_case_runner.js:236:22)
at Runtime.<anonymous> (D:\playground\webdriverio-cucumberjs\node_modules\cucumber\lib\runtime\index.js:113:51)
at next (native)
at tryCatcher (D:\playground\webdriverio-cucumberjs\node_modules\bluebird\js\release\util.js:16:23)
at PromiseSpawn._promiseFulfilled (D:\playground\webdriverio-cucumberjs\node_modules\bluebird\js\release\generators.js:97:49)
at Runtime.<anonymous> (D:\playground\webdriverio-cucumberjs\node_modules\bluebird\js\release\generators.js:201:15)
[13:11:49] COMMAND DELETE "/wd/hub/session/d206c5af3fcb467668d5f1d21135bd5a"
[13:11:49] DATA {}
------------------------------------------------------------------
[chrome #0-0] Session ID: d206c5af3fcb467668d5f1d21135bd5a
[chrome #0-0] Spec: D:\playground\webdriverio-cucumberjs\e2e\features\app-titles.feature
[chrome #0-0] Running: chrome
[chrome #0-0]
[chrome #0-0] Application Title
[chrome #0-0]
[chrome #0-0] Page loads with correct title
[chrome #0-0]
[chrome #0-0] Page loads with correct title
[chrome #0-0]
[chrome #0-0]
[chrome #0-0]
Cannot write xunit report: empty or invalid 'outputDir'.
Cannot write json report: empty or invalid 'outputDir'.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! webdriverio-cucumberjs@1.0.0 e2e: `wdio`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the webdriverio-cucumberjs@1.0.0 e2e script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\#$#$#$#$\AppData\Roaming\npm-cache\_logs\2018-04-06T11_11_49_985Z-debug.log
最佳答案
目前看来,这个功能被窃听了。您可以在 wdio-cucumber-framework GitHub 页面上跟踪该问题:Here
我花了一整天的时间尝试解决方法,但我想我们只需要等待修复即可。
关于cucumber - 场景大纲不适用于 CucumberJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49691707/
我想阻止 cucumber 一直运行失败的测试,因为这会浪费我们持续集成的时间,因为我们需要快速反馈。 我正在使用带有 Protractor 的 cucumber cucumberJs 的 javas
使用 cypress-cucumber-preprocessor 1.5.1 运行 Cypress 3.1.1。我需要将一些静态数据从一个步骤传递到另一个步骤(在同一场景/测试中)。我可以使用别名来做
每当在远程服务器上运行时出现步骤失败时,我想捕获失败的步骤,然后继续运行剩余的场景。然后,捕获的步骤将包含在文件中以用于报告目的。这有可能吗?我在其他地方看到的所有回复都只是说您应该在继续之前修复测试
我正在使用 WebDriverIO 练习 CucumberJS 并进行测试 http://webdriver.io .我有以下功能文件和步骤定义,这工作正常。 功能文件 Feature: Applic
使用 CucumberJS是否有选项或配置可以在执行测试后捕获错误屏幕截图? 最佳答案 您可以通过cucumber After钩子(Hook)进行截图,如下所示: // supports/take-s
我正在使用 javascript for Cucumber javascript 进行自动化。我关心的是我可以自动为步骤定义生成 .js 文件吗?到目前为止,我正在从命令行窗口复制粘贴它们(步骤),所
我有以下功能文件: Feature: Color feature @test Scenario Outline: Test color Given the first
成功完成场景后,cucumberjs 无限期地挂起。我怎样才能停止这种情况? 我在 npm/nodejs 上运行了一个 cucumberjs。 package.json: { "name": "f
我正在尝试用 cucumberjs 做一个相对简单的场景。也就是说,在场景失败后,我想重新启动浏览器,以便它回到下一个场景的初始状态。这是我的尝试 this.After({timeout: 30 *
任务: 使用 selenium、webdriver 和 cucumberjs 执行自动验收测试。 找到一个失败的验收测试场景并截取页面 将其保存为 go 管道中的工件。 这是我今天的任务。我已经通过编
这个问题可能是重复的,但我并不像预期的那样,所以再次提出。 我正在我们的项目中创建一个新的 Protractor 框架。我的应用程序有登录屏幕,我需要为功能中的每个案例使用不同的用户详细信息登录。我在
使用 protractor-cucumber-framework 如何修改将在运行时输出步骤的 CucumberJs 的控制台输出。 功能示例场景: Given that Home Page is D
我正在尝试验证 cucumberjs/puppeteer 中不存在的选择器。如何使用 cucumber-assert 来使用 throws 断言? 我致力于测试自动化以支持测试 ember 前端应用程
我正在将 TestCafe 与 Cucumber.js 一起使用,但我不知道如何重新加载页面。 Testcafe 文档说使用 .eval(() => location.reload(true))这给了
所以我已经实现了一个 Cucumberjs 数据表,但是我认为我做得不对..这是我所拥有的 this.And(/^If I click the row "([^"]*)" then I should
我正在尝试将多个格式化程序传递到我的 cucumberjs cli 运行程序中,我希望两者都打印到控制台,并生成一个 json 文件。 我使用的是cucumberjs v0.8.0 我尝试过的事情:
我向我的 cucumberOpts 添加了快速失败功能,如下所示: cucumberOpts: { require: [ conf.paths.e2e + '/utilities/hooks.
鉴于自动化 UI 测试有时会由于不稳定而失败,因此仅重新运行失败的测试的能力在 Protractor 等框架中变得非常有用。 不幸的是,截至 2016 年 9 月 13 日,无法使用 Protract
我正在实现一个 CucumberJS 场景,它在两个不同的步骤定义文件中使用多个步骤。第一步在世界上设置一些变量,其他步骤定义文件中的步骤必须使用这些变量。 变量设置正确,但是当其他文件上的步骤试图读
如何将 jasmine 与 cucumberjs 一起使用? 我尝试了来自 https://stackoverflow.com/a/30763260/5453732 的解决方案 但我总是遇到这个错误:
我是一名优秀的程序员,十分优秀!