Cypress でテストしている React アプリケーションを作成しています。私の統合テストでは、複数値の選択ボックスで項目を選択するために、文字列の配列を取る cypress コマンドを作成しました。
私が使用しているコードは、おおよそ次のようになります。
Cypress.Commands.add("command", (options) => {
options.forEach((option) => {
cy.get("div[data-g-portal-id='1']") // this is the container for the select box dropdown
.find("div[role='menubar']")
.contains(option)
.click({ force: true });
});
}
cy.wrap
やなどを含め、これをさまざまに繰り返してみました.each
。私が何をしても、配列に複数の項目が含まれている場合、1 つの項目をクリックすると、その項目が正常に選択されたものとしてマークされ、次に他の項目をクリックして選択済みとしてマークされますが、最初の項目は選択状態を失います。コンポーネントの内部状態が最初の変更を実際に受けていないかのようです。
これは私のアプリケーションのバグではないことを確認しました。手動でテストすると、複数選択は正常に機能します。しかし、Cypress は知りたくないだけです。どんな助けでも大歓迎です。