可以有几个原因,我已经看到了,这可能是一个问题。我首先尝试清除文本输入,并确保它具有焦点。
var username = StaticVariable.username;
var password = StaticVariable.password;
// Fill out user name
var userElem = driver.findElement(By.id("username"));
userElem.click();
userElem.clear();
userElem.sendKeys(userName);
// Fill out password
var passElem = driver.findElement(By.id("password"));
passElem.click();
passElem.clear();
passElem.sendKeys(password);
// Click login button
driver.findElement(By.id("login"))
.click();
但是,如果不解决这个问题,我已经在那里了分割字符串,并在同一时间发送键几个已经工作了的情况。 确实有一个性能损失,所以我不会这样做,除非你真的需要。
public void fooTest() {
// Do stuff to get to the correct page, etc
var username = StaticVariable.username;
var password = StaticVariable.password;
// Fill out user name
var userElem = driver.findElement(By.id("username"));
sendKeys(userElem, userName);
// Fill out password
var passElem = driver.findElement(By.id("password"));
sendKeys(passElem, password);
// Click login button
driver.findElement(By.id("login"))
.click();
// do assertions, etc
}
private void sendKeys(WebElement elem, String keys) {
elem.click();
elem.clear();
for (int i = 0; i < keys.length(); i) {
elem.sendKeys(keys.charAt(i));
}
}
注:对不起任何语法/ C#的错误,我很少使用的语言......我更熟悉Java ;-)
你能分享你的自动化代码吗? – selva
@selva已更新代码。 – shoaib
可以肯定的是,您是否将StaticVariable.username输出到日志以确保问题不在别处? – Nibb