Javascript 夜表+;如何描述通用步骤

Javascript 夜表+;如何描述通用步骤,javascript,cucumber,nightwatch.js,Javascript,Cucumber,Nightwatch.js,我正在写一些e2e测试,使用夜视和cucumber。我想要一个泛型步骤。现在,我的步骤定义如下: When (/^I click on 'Leave a comment'$/, () => { return client .click('a[id="leave-comment"]') }); 我想要一些像: When (/^I click on "(.*?)"$/, (text) => { ... }); 但我无法使用实现此步骤。单击。有什么想法吗?我个

我正在写一些e2e测试,使用夜视和cucumber。我想要一个泛型步骤。现在,我的步骤定义如下:

 When (/^I click on 'Leave a comment'$/, () => {
    return client
    .click('a[id="leave-comment"]')
  });
我想要一些像:

When (/^I click on  "(.*?)"$/, (text) => {
 ...
});

但我无法使用实现此步骤。单击。有什么想法吗?

我个人不使用夜表,但我发现了一些适合你的东西

研究:

它将为您提供的功能之一是,这将使您能够做到这一点:

When(/^I click on the link with text "(.*?)"$/, (text) => {
    return client.jqueryClick('*:contains('+text+')');
});
它为您的软件库添加了所有的功能,使书写自动化变得更加简单。

应该可以完成这项工作

this.When('I click the "$element" element', (browser, element) => {
     browser.click(element)   
 });

如果使用页面对象,则需要创建更复杂的函数,但当我单击.cssClass.ccsClass2元素时,此函数将适用于公共
。我需要定义元素的类型,并使用xPath

When (/^I click on  "(.*?)"$/, (text) => {
 return client
    .useXpath()
    .waitForElementVisible('//button[text()="'+text+'"]', 7000)
    .click('//button[text()="'+text+'"]')
    .useCss()
    .pause(1000);
});

嗨,你成功了吗?还没有,我正在尝试使用下面的答案+xPath,但没有成功:(我在找到的解决方案中留下了一个答案