私はhtmlunitを新しくしており、htmlunitで書かれたウェブページのテストを行う必要があります。そのログインページにはフォームはありません。以下は htmlunitノックアウトjsが動作しません。送信ボタンをクリックして同じページを返す
は、ユーザー名、パスワードのHTMLコードで、送信ボタン -<div class="loader-mask" data-bind="visible: false">
<div class="loader"> Loading Form...</div>
</div>
<div class="form-group">
<label class="control-label">Email ID:</label>
<input type="text" name="username" class="form-control" placeholder="[email protected]" data-bind="
value: loginHandler.userEmail,
enterKey: signIn
">
</div><!-- /.form-group -->
<div class="form-group">
<label class="control-label">Password:</label>
<input type="password" name="password" class="form-control" placeholder="Passwords are case-sensitive" data-bind="
value: loginHandler.userPassword,
enterKey: signIn
">
</div><!-- /.form-group -->
<div class="text-right">
<p><button type="button" id="qaSignIn" class="btn btn-default" data-bind="
click: signIn,
disable: loginHandler.isLoggingIn,
continueOn: userLoggedIn,
continueLink: { link: 'dashboard.html', params: {} }
">
さて、htmlunitで、私は簡単に、ユーザー名、パスワード、およびボタンを取得することができると私は、ユーザー名の値を設定することができていますし、パスワード欄も同様ですが、ボタンをクリックすると、同じHTMLログインページが返されます。私はブラウザの資格情報でログインしようとしましたが、そこにログインすることができます。だから資格は良いです。
マイhtmlunitコードがある -
HtmlTextInput htmlInputUsername = (HtmlTextInput) loginPage.getElementByName("username");
htmlInputUsername.setValueAttribute("myUserName");
HtmlPasswordInput htmlInputPassword = (HtmlPasswordInput) loginPage.getElementByName("password");
htmlInputPassword.setValueAttribute("myPassword");
HtmlButton htmlButton = (HtmlButton) loginPage.getElementById("qaSignIn");
loginPage = htmlButton.click();
私は前にして、ログインボタンが、その戻って同じXMLページをクリックした後)(page.asXmlを印刷してみました。私は間違って何を考えている?事前に
webClient.getOptions().setUseInsecureSSL(true);
webClient.getCookieManager().setCookiesEnabled(true);
webClient.getOptions().setJavaScriptEnabled(false);
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setRedirectEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.waitForBackgroundJavaScript(30000);
おかげ - は、私も、これらのオプションを設定しようとしています。
助けること。 ありがとうございますが、次の問題です - ブラウザでアプリケーションにログインすると、しばらくの間サブミットボタンが無効になって、次のページにリダイレクトされるのがわかります。 私たちのコードでは、ボタンをクリックして返されたページには無効なボタンがあります。それ以降は何も起こっていない。それは次のページにリダイレクトしていません。 –
私のページでもう1つチェックしたのは、
jsのAJAX "window.location.href" このようなコードを持っていることがありますが、このコードのように行う必要があります.then:
出典
2017-05-09 08:50:37 chenlei