テストケースを実行してパスワードのリセットを実行しようとしていますが、この問題に直面しています。
クリアするには、WebDriverException要素をユーザーが編集できるようにする必要があります。
基本的に私は新しいパスワードを入力するためのページにアクセスしてこれを行っています:
browser.$("#newPassword").text("password");
上記の行を実行するとエラーがスローされます。
私は同じ問題を抱えていましたが、それは入力フィールドではない同じIDを持つ別の要素があったためにクリアできなかったためです。
以下を試すことができます:
WebElement.sendKeys(Keys.DELETE);
WebElement.sendKeys("Test");
入力タイプに誤った方法を使用している場合が考えられます。
少なくともCodeCeptionでは、fillField
を入力要素で使用し、selectOption
を選択要素で使用する必要があります。これらを混合するとinvalid element state: Element must be user-editable in order to clear it.
PrimefacesのautoComplete要素でこの問題が発生しました。 Primefaces 6.0は、渡されたIDでスパンをレンダリングし、その中で、IDに「_input」が追加された入力をレンダリングします。ソースコードに追加したIDをそのまま使用する場合は、Seleniumにスパンに入るように指示します(「要素はユーザーが編集可能でなければなりません」エラーで失敗します)。 SeleniumでIDで選択する場合は、IDに「_input」を追加します。