2017-02-03 13 views
0

夜間およびキュウリを使用していくつかのe2eテストを作成しています。私はジェネリックスのステップを持っていたいと思います。さて、私のステップの定義は、このようなものです:Nightwatch + Cucumber一般的な手順を説明する方法

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

私はいくつかのような希望:

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

をしかし、私は.clickを使用して、この手順を実装することはできません。何か案が?

+0

を使用し、あなたがいないまだ成功 –

+0

を手に入れた、私は+されたxPath以下の答えを使って何かをしようとしているが、私は成功を取得できませんでした。 ( – kahnoel

+0

私が見つけた解決策で回答を残す – kahnoel

答えて

0

のために私が見つけたこのソリューションに動作します

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

仕事を行う必要があります。私は、要素の型を定義するために必要な、私がhiたxPath

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

私はNightwatchを個人的に使用していませんが、あなたにはうってつけのものが見つかりました。

ルック:Nightwatch Custom Commands and Assertions機能の

一つ、それはあなたを与えるだろうあなたにこれを行うための能力を与えるであろう、jqueryClickです:

When(/^I click on the link with text "(.*?)"$/, (text) => { 
    return client.jqueryClick('*:contains('+text+')'); 
}); 

それはあなたの武器にjQuery Selectorsのすべてを追加し、筆記用具の自動化が少しだけ簡単になりました。

0

は、ページオブジェクトを使用している場合は、はるかに複雑な関数を作成する必要がありますが、この1つは共通When I click the ".cssClass.ccsClass2" element

関連する問題