2017-09-28 6 views
0

angularjsで構築されているselenium webdriver(javascriptexucutor)によってログインフォームを自動化しようとしています。スクリプトは電子メールのテキストボックスにデータを入力しています。送信ボタンをクリックすると、テキストボックスが埋められていないことを示すエラーメッセージが表示されます。私はまたonkeyupのようなイベントを使用しました。エラーはこれらの機能が受け入れられないことを示しています。テキストボックスのバリデーションはsendkeys()でうまく動作し、時間がかかります。 javascriptexecutorを使用すると問題に直面します。 htmlコード:javascriptexecutorがangularjsフォームで動作していない

<input type="text" ng-keypress="logindata($event)" ng-model="email" placeholder="Email ID" value="" name="email" class="form-control ng-pristine ng-valid ng-touched" id="email">` 

セレンJavaコード:

JavascriptExecutor executor = (JavascriptExecutor) driver; 
WebElement emailElement = driver.findElement(By.id("email")); 
executor.executeScript("arguments[0].value='tester'", emailElement); 
+0

この代替方法を試してみてください問題 – iamsankalp89

+0

テキストボックスに値を入力しています。送信ボタンがクリックされたとき。アラートポップアップが表示される:電子メールIDフィールドが空白です。それが価値を見つけられないことを意味します。 –

+0

完全な詳細を教えてください。なぜあなたはsendkeysを使用していません – iamsankalp89

答えて

0

あなたのコードは、私のために動作しますが、あなたは何であるかをChromeとFirefoxで働いている

JavascriptExecutor myExecutor = ((JavascriptExecutor) driver); 
myExecutor.executeScript("document.getElementsByName('email"')[0].value='Tester'"); 
関連する問題