0
我是htmlunit的新手,需要爲使用htmlunit編寫的網頁進行測試。該登錄頁面中沒有任何表單。htmlunit knockout 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);
感謝。
沒有什麼幫助。謝謝 ,但現在的下一個問題 - 當我登錄到瀏覽器中的應用程序,我看到提交按鈕被禁用了一段時間,然後它重定向到下一頁。 在我們的代碼中,點擊按鈕返回的頁面有按鈕被禁用,就是這樣。之後沒有任何事情發生。這不是重新引導到下一頁。 –
還有一件事我檢查了我的頁面,有很多
JS的AJAX可能有這樣的代碼 「window.location.href」。那麼你應該做這樣的代碼:
來源
2017-05-09 08:50:37 chenlei