0

親愛なるstackoverflowers。

プロジェクトで Selenide フレームワークを使用して、UI の自動化テストを作成しています。最近 Material-UI に切り替えましたが、シンプルなチェックボックスに関して技術的な問題に直面しました。チェックボックスを選択しようとしています。

SelenideElement rememberMeCheckBox = $(By.cssSelector("input[type=\"checkbox\"]"));

rememberMeCheckBox.setSelected(isSelected);

しかし、そうしている間に例外が発生します。

Element should be visible {input[type="checkbox"]}
Element: '<input type="checkbox" value="on" displayed:false></input>'

実際、実際のDOMを確認すると、次のものが含まれていますopacity: 0

ここに画像の説明を入力

強制的に不透明度を設定すると、自動化テストがうまく機能します。それに対処する方法は?

ここに画像の説明を入力

4

1 に答える 1

4

これはセレン化物の問題ではなく、一般的なセレンの問題です。Selenium は、「不透明度: 0」の要素を非表示として定義します。現在表示されていない要素をクリックするように Selenium WebDriver を強制する方法を参照してください。

このチェックボックスを有効にする簡単な方法の 1 つは、その親要素をクリックすることです。

$("input[type=\"checkbox\"]").parent().click();

少なくとも私にとってはうまくいきます。

于 2016-09-08T20:49:01.117 に答える