BDD 自動化フレームワークでは、Cypress Cucumber プリプロセッサ ライブラリを使用しています。以下の場合の一般的なステップ定義を作成する予定です。から以下のケースを処理する単一のステップ定義を持つことは可能ですかa to d
。現在、2 つのステップの定義でケースを処理することを計画しています。より一般的なものにすることはできますか。つまり、すべてを 1 つのステップの定義にすることはできますか?
a) Then I "should not" see the value "Some_Value" in the "Reports_Logs" table
b) Then I "should" see the value "Some_Value" in the "Reports_Logs" table
c) Then I "should not" see the value in the "Users_Main" table ( in this case, I will read the value from the local storage )
d) Then I "should" see the value in the "Users_Main" table ( in this case, I will read the value from the local storage )
step defintion:
/* この汎用関数は、内部のすべてのテーブル td 値アサーションを検証するために使用されます */
Then('I {string} see the value {string} in the {string} table', (checkCase, value, tableDatacy) => {
if(checkCase === "should"){
cy.get(`[data-cy=${tableDatacy}]`).find('tbody').find('tr').each(($tr) => {
cy.wrap($tr).find('td').each(($td) => {
const textName = Cypress.$($td).text();
switch (value) {
case textName.trim():
console.log("Condition got matched ...!!! " + textName.trim());
cy.wrap($tr).find('td').contains(textName.trim()).should('be.visible');
break;
}
});
});
} else if (checkCase === "should not") {
// rest of the check with this condition..
}
});