问题标签 [codeceptjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3612 浏览

javascript - 如何在 CodeceptJS 和 NightmareJS 中将条件应用于 E2E 测试

我需要的:

在 CodeceptJS 中使用 Nightmare 作为 Main Helper 进行 E2E 测试,以验证元素的存在,并根据结果继续执行一系列操作或其他操作。

示例代码:


此示例代码的当前结果是: - 如果按钮存在。

  • 否则按钮不存在:PASS。

我愿意接受建议、更正或不同的想法来解决这个问题。谢谢你们!(如果我的英语不是很清楚,请原谅)。

0 投票
1 回答
149 浏览

selenium-chromedriver - codeception ElementNotVisibleException

我正在使用 selenium 和 Chrome 驱动程序来运行代码接收验收测试。但是,我的测试脚本无法单击网站上的按钮,它在我的命令提示符下显示此错误消息:[Facebook\WebDriver\Exception\ElementNotVisibleException] 元素不可见。该按钮在浏览器上清晰可见,我尝试了 JQuery:

edit-submit 是我要单击的按钮的 ID。它仍然不起作用。

0 投票
1 回答
108 浏览

javascript - 为什么这个异步函数将传递给它的参数转换为 Promise 对象?

为什么控制台日志显示 [object Object] 作为参数的输出?它不应该返回传入的任何值吗?

下面是调用该函数的代码:

0 投票
2 回答
781 浏览

phpstorm - 如何将功能文件与 CodeceptJS 中的步骤定义链接?

我正在尝试使用 PHPStorm 作为我的 IDE 在 CodeceptJS 中实现 BDD 框架。但由于某种原因,它无法识别步骤定义,并且在功能文件中显示错误

未定义的步骤参考

我遵循了 CodeceptJS 文档中给出的步骤,例如codeceptjs gherkin:init(它实现了小黄瓜模块)和codeceptjs gherkin:snippets(它自动实现了步骤定义)我正在运行

  • 苹果系统
  • PHPStorm 上的 CodeceptJS
  • 带有 ChromeDriver 的 Selenium 服务器

我的 codecept.conf.js 文件

我希望框架能够检测与功能文件中提到的各种场景相对应的步骤定义。

有人可以在这里帮助我吗?

0 投票
1 回答
195 浏览

gherkin - PageObject 在 CodeceptJS 中传入 Stepfiles

我是 CodeceptJS 的新手,我需要您的帮助来了解如何将 BDD 与 CodeceptJS 一起使用

我们可以在步骤定义文件中传递 PageObjects 吗?

我能够完美地通过它,如下所示:

但是当我尝试在 stepdefinition 文件中传递页面对象时它不起作用。

有人可以举例说明步骤文件、页面对象和功能文件如何交互吗?

0 投票
1 回答
1044 浏览

testing - 需要一个用于 codeceptjs 的自动完成插件

我很陌生Codeceptjs。我正在使用 Visual Studio Code 编写一些示例测试。如果我可以对方法进行自动完成之类的操作,那真的会对我有所帮助,所以当我输入时,I.see它会向我显示我拥有的选项,例如seeInCurrentUrl. 试过但找不到任何 VSC 插件你知道吗?或任何其他方式来做到这一点?

0 投票
1 回答
307 浏览

javascript - Codeceptjs“sendGetRequest”不接受过滤器选项的任何参数化

在 Codeceptjs 中,我正在使用 I.sendGetRequest 方法运行 API 测试。

但是,我需要能够传入参数才能获得良好的请求 200 状态,否则我得到的只是错误的请求 400。

这些过滤器选项采用 URI 编码的 json 格式。

“sendGetRequest”目前只接受:url: *, headers?: Object

我需要它接受以下内容: url: *, payload?: * ,headers?: Object

有谁知道codeceptjs“I.sendGetRequest()”允许参数一起传递的方式。

0 投票
2 回答
189 浏览

jenkins - 何时使用全局/本地 CodeceptJS 安装?

我是 CodeceptJs 的新手,对它的安装有疑问。

我看到两种安装:

  1. 本地(npm install --save-dev codeceptjs)
  2. 全局([sudo] npm install -g codeceptjs webdriverio)

什么时候应该使用本地,什么时候应该使用全局?

将来我还必须将它与 Jenkins 管道集成。如果我执行全局安装,那么 node_modules 文件夹不会安装在我的机器上吗?所以我将无法将它与 Jenkins rt 集成?

我猜,本地安装是合适的解决方案吗?

0 投票
1 回答
293 浏览

javascript - 如何使用 codeceptjs 访问 vuetify-component

我想用 codecept.js 编写一些测试,但我无法访问 vuetify 组件。

我添加了一个v-ruid通常可以像这样单击的:

I.click('[data-ruid=defaultVideo]');

但是使用 vuetify 组件,我总是收到该错误消息:element not interactable

这是因为data-ruid被添加到复选框周围的 div 中。如何直接访问复选框?

在此处输入图像描述

0 投票
1 回答
328 浏览

automated-tests - 如何使用 CodeceptJS 比较页面上元素的视觉差异?

我刚刚开始使用 CodeceptJS,但在seeVisualDiffForElement命令工作时遇到了一些麻烦。

到目前为止,这是我的测试代码:

当我运行此代码时,它会打开 Chromium 浏览器(因为我将它与 Puppeteer 一起使用)并很好地运行第一个场景。截取屏幕截图并将其保存为基础图像。然后我必须关闭浏览器才能运行下一个场景。在第二个场景运行后,它未通过测试,但仍会创建屏幕截图。屏幕截图应该有所不同,但差异屏幕截图没有任何概述的更改。

在 CodeceptJS 的文档中,它声明“seeVisualDiffForElement仅当 baseImage 的页面在浏览器中打开时才有效,以便 webdriver 可以获取所提供选择器的坐标”。我的浏览器已打开,但与创建基本图像的浏览器不同(因为我必须关闭它才能运行第二个场景)。这可能是测试失败并且无法识别任何更改的原因吗?或者任何人都可以看到我做错了什么吗?

我也尝试将测试作为单个场景运行,但它给了我相同的输出。