【问题标题】:java sendkeys Error keys should be a stringjava sendkeys 错误键应该是一个字符串
【发布时间】:2013-08-06 05:59:42
【问题描述】:

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

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

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);
}

【问题讨论】:

    标签: java selenium webdriver selenium-webdriver


    【解决方案1】:

    您访问的静态属性从未被初始化 (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);
    }
    

    【讨论】:

    • 编程建议:我什至会考虑将user.username 更改为user.getUsername(),因为作为OOP 方法,通过getter 访问变量应该更安全。不要问我为什么,我也是编程新手:)
    【解决方案2】:

    使用

    userInputBox.sendKeys(String.valueOf(User.username));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      • 2015-03-16
      • 2012-05-03
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2018-04-16
      相关资源
      最近更新 更多