私は、NightwatchJSを使用して、私たちの報告ウェブサイトでテストを自動化しています。Nightwatchのパラメータに基づいて動的テストを生成する
.selectScheda(scheda-1) .selectPromptValue('Year', year) .selectRappresentazione('Table')
selectPromptValue
は、プロンプトの名前を望んでいるし、それを設定する値:私はいくつかのヘルパーを作っ
module.exports = {
'@tags': ['Report 1','base','full'],
'Report 1' : function (browser) {
checkAnalisi(browser, 'report1', 1, 2015, '767.507')
}
};
function checkAnalisi(browser, nomeAnalisi, scheda, year, risultatoAtteso){
return browser
.url('https://example.com/Wizard?analisi=' + nomeAnalisi)
.waitForElementVisible('body', 5000)
.selectScheda(scheda-1) //Seleziona la scheda (0-based)
.selectPromptValue('Year', year)
.selectRappresentazione('Table')
.waitForElementVisible('table', 5000, true)
.assert.containsText('table tr:last-child td:last-child', risultatoAtteso)
.end();
}
はページ内の異なるものを選択するコマンド:
これは私の実際のコードですページの
今のところ、この関数は年パラメータのみを設定しますが、私のレポートではパラメータも異なります。
私がしたいことは、オブジェクトをcheckAnalisi
関数に渡して動的にテストを生成することです。例えば、私が[['Year', 2015],['Another prompt','another value']]
とcheckAnalisi
関数のようなものを渡したい異なるプロンプト値を設定する場合は、それぞれの値に2 .selectPromptValue
のステップを追加する必要があります。
私の関数で入力配列を循環させて、より多くのステップを追加することはできますか?