protractor - 如何在 CodeCeptjs 中调用 customhelper?
问题描述
如何调用customhelper中定义的方法?
我的自定义助手
const { Helper } = codeceptjs;
const chai = require('chai');
const chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
const expect = chai.expect;
class MyHelper extends Helper {
async JavaScriptclick(LocatorVale) {
await browser.waitForAngularEnabled(true);
browser.executeScript("arguments[0].click();", element(by.xpath(LocatorVale)));
}
}
module.exports = MyHelper;
代码.js
helpers: {
MyHelper: {
require: './myhelper_helper.js',
},
步骤文件.js
Scenario('Add a new user group', (I, MyHelper) => {
MyHelper.JavaScriptclick(‘.badged-button.mat-raised-button.mat-primar')
});
如果我执行上面的代码,我会收到以下错误
Add a new user group:
Object of type MyHelper is not defined in container
请帮我解决这个问题。我需要单击一个按钮,但 I.click 无法找到该按钮。所以在这种情况下我不得不使用 javascriptclick。但是 I.executescript 也不起作用。因此,我需要使用本机量角器命令,因为它只能以这种方式工作。
解决方案
没有必要通过它的名字来调用助手。所有方法都添加到actor( I
)对象中
如文档中所述:
Helper 类的方法将在
I
对象的测试中可用。这从实现中抽象出测试场景,并允许在后端之间轻松切换。
https://codecept.io/helpers/#extending-codeceptjs-with-custom-helopers
所以,在测试中:
Scenario('Add a new user group', (I) => {
I.JavaScriptclick(‘.badged-button.mat-raised-button.mat-primar')
});
推荐阅读
- c++ - 点没有颜色,即使有着色器
- sql-server - SQL Server :Resolve Blocking with concurrent writes and reads
- dosbox - 如何在 Retroflag GPI 上配置 DOSBox 游戏中的键?
- node.js - 使用 mocha 和 chai 进行 Nodejs api 休息测试。待发帖
- python - seaborn中的Swarmplot,每个点都有不同的颜色
- ios - 使用临时配置文件重新签署使用 export_method“app-store”导出的 IPA
- sql - SQL Error: An expression of non-boolean type specified in a context where a condition is expected, near 'AND'
- wordpress - Raspberry Pi local wordpress unreachable
- git - Gitlab SSH not working after changing Gitlab profile name
- iis - Expression too complex for IIS Url rewrite in windows server 2019