我正在使用 Selenium Webdriver / Java 7 / Firefox 测试用户数据。
我有一组13个不同的testdata存储在Excel中的表中。
第一个测试是关于缺少用户名,第二个测试是关于用户名的错误值,第三个测试是关于正确的密码值,依此类推。
对于userdatapage,我使用pagefactory
模型Selenium
实例化的网页对象。
有时,但不常见的是,名称字段(页面上的第一个字段)未填充。我正在做的是先click
,然后是clear
,最后是send keys
。
我可以为代码添加一些延迟,但我不理解的是为什么在这种情况下不会抛出元素未找到异常。这是因为我使用的是PageFactory
概念。有人可以向我解释一下吗?
这是第一个输入字段的HTML:
<div class="form-group">
<div class="input-group">
<div class="input-group-addon">
<span class="glyphicon glyphicon-user"></span>
<span class="asterisk glyphicon glyphicon-asterisk"></span>
</div>
<div class="input-group-input">
<input type="text" class="form-control" name="inputName" title="Volledige naam inclusief voorletters of voornaam" placeholder="Voorletters/Voornaam Achternaam"data-bind="value:name"/>
<span class="help-block" id="naamMessage"> </span>
</div>
</div>
</div>
以下是填充该字段的Java
代码:
public void setUserData(String naam, String password, String passwordRepeat, String land, String straat,
String postcode, String stad, String telefoonnr, String akkoord) {
setInputNameTextBox(naam);
setInputPasswordTextBox(password);
setInputPasswordRepeatTextBox(passwordRepeat);
setInputCountryTextBox(land);
setInputStreetTextBox(straat);
setInputZipCodeTextBox(postcode);
setInputCityTextBox(stad);
setInputPhoneTextBox(telefoonnr);
if (akkoord != "") {
clickInputApprove();
}
}
public void setInputNameTextBox(String naam) {
inputName.click();
inputName.clear();
inputName.sendKeys(naam);
}
答案 0 :(得分:0)
您可以在POM类中使用AjaxElementLocatorFactory,并检查在这种情况下是否抛出错误。