我需要访问需要Windows身份验证的Web应用程序。 有什么办法可以绕过这个Windows身份验证,还是有办法解决这个问题。
Selenium webdriver版本 - <form name="datepickerForm" class="form-inline" role="form">
<!-- Basic example -->
<div class="form-group" ng-class="{'has-error': datepickerForm.date.$invalid}">
<label class="control-label"><i class="fa fa-calendar"></i> Date <small>(as date)</small></label>
<input type="text" class="form-control" ng-model="selectedDate" name="date" bs-datepicker>
</div>
<!-- Custom example -->
<div class="form-group" ng-class="{'has-error': datepickerForm.date2.$invalid}">
<label class="control-label"><i class="fa fa-calendar"></i> Date <small>(as number)</small></label>
<input type="text" class="form-control" ng-model="selectedDateAsNumber" data-date-format="yyyy-MM-dd" data-date-type="number" data-min-date="02/10/86" data-max-date="today" data-autoclose="1" name="date2" bs-datepicker>
</div>
<hr>
<!-- Date range example -->
<div class="form-group">
<label class="control-label"><i class="fa fa-calendar"></i> <i class="fa fa-arrows-h"></i> <i class="fa fa-calendar"></i> Date range <small>(dynamic)</small></label><br>
<div class="form-group col-xs-6">
<input type="text" class="form-control" ng-model="fromDate" data-max-date="{{untilDate}}" placeholder="From" bs-datepicker>
</div>
<div class="form-group col-xs-6">
<input type="text" class="form-control" ng-model="untilDate" data-min-date="{{fromDate}}" placeholder="Until" bs-datepicker>
</div>
</div>
</form>
Eclipse IDE for Java Developers版本:selenium-java-3.6.0
浏览器 - Oxygen.1 Release (4.7.1)
最新
答案 0 :(得分:1)
解决方案1:在URL中提供用户名和密码
WebDriver driver = new FirefoxDriver();
String baseUrl=”http://” + “USERNAME” + “:” + “PASSWORD” + “@” + “xyz.com”;
driver.get(baseUrl + “/”);
解决方案2:使用Robot Class在身份验证警告弹出窗口中输入用户ID和密码。这仅在弹出窗口时“用户名”字段处于焦点时才有效。
答案 1 :(得分:0)
警报方法authenticateUsing()
允许您跳过Http基本身份验证框。
WebDriverWait wait = new WebDriverWait(driver, 10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.authenticateUsing(new UserAndPassword(username, password));
OR
Selenium Java代码:
driver.get("http://USERNMAE:PASSWORD@YOUR_URL");