저는 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);
감사합니다.
하는 데 도움이. 하지만 지금 다음 문제 - 브라우저에서 응용 프로그램에 로그인하면 잠시 동안 제출 버튼이 비활성화되고 다음 페이지로 리디렉션되는 것을 볼 수 있습니다. 코드에서 버튼을 클릭했을 때 반환되는 페이지에는 비활성화 된 버튼이 있습니다. 그 후 아무 일도 일어나지 않는다. 다음 페이지로 방향을 바꾸지 않습니다. –
내 페이지를 한 번 더 들여다 보니
JS 아약스 "window.location.href"와 같은 코드가있을 수 있습니다 당신은이 코드를 같이해야 그 때는 :
출처
2017-05-09 08:50:37 chenlei