java sendkeys错误键应该是一个字符串

ado*_*dom 4 java selenium webdriver selenium-webdriver

我尝试使用用户名和密码传递给表单字段时收到错误sendKeys.下面是我的用户类,后面是我的测试类.有谁知道为什么应用程序没有传递字符串?

org.openqa.selenium.WebDriverException:未知错误:keys应该是一个字符串

public class User {
    public static String username;
    public static String password;


    public User() {
        this.username = "username";
        this.password = "password";
    }

    public String getUsername(){
        return username;
    }

    public String getPassword(){
        return password;
    }

}

@Test
public void starWebDriver()  {
    driver.get(domainURL.getURL());
    WebElement userInputBox, passInputBox;
    userInputBox = driver.findElement(By.xpath("//input[@name='email']"));
    passInputBox = driver.findElement(By.xpath("//input[@name='password']"));
    System.out.println("before sending keys");
    userInputBox.sendKeys(User.username);
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*ohn 8

您正在访问从未初始化的静态属性(null),因为从不调用构造函数.

您可以直接设置静态属性,也可以取出静态上下文并在测试中初始化用户.

防爆.

public class User {
    public String username;
    public String password;


    public User() {
        this.username = "username";
        this.password = "password";
    }

    public String getUsername(){
        return username;
    }

    public String getPassword(){
        return password;
    }

}


@Test
public void starWebDriver()  {
    User user = new User();

    driver.get(domainURL.getURL());
    ...
    userInputBox.sendKeys(user.username);
}
Run Code Online (Sandbox Code Playgroud)