我在课堂上创建了一个java类和密码编写逻辑并确认密码。通过创建类对象在另一个类中调用该类时,它显示空指针异常。
public class Verify_password {
WebDriver driver;
String pwd = "password";
String confirm_pwd = "password";
String wrong_pwd="yogesh";
public void password_match(){
//Password = confirm password
driver.findElement(By.id("encrypted_pwd")).clear();
driver.findElement(By.id("confirm_pwd")).clear();
driver.findElement(By.id("encrypted_pwd")).sendKeys(pwd);
driver.findElement(By.id("confirm_pwd")).sendKeys(confirm_pwd);
driver.findElement(By.id("submit-btn")).click();
if(pwd ==confirm_pwd){
System.out.println("Password Match");
}
else{
System.out.println("Password doesn't Match");
}
}
通过以下方式将此类调用到另一个类:
Verify_password password1 = new Verify_password();
password1.password_match1();
有人可以验证并确认是否可以?
由于
答案 0 :(得分:0)
您必须在使用password_match1()
方法之前创建驱动程序的实例,例如通过创建Verify_password
的构造函数并在其中创建WebDriver类的实例。
此外,您应该修改您的类名,使其符合VerifyPassword
或PasswordVerifier
的正确命名约定。您也可以使用您的方法名称,只需:match()
- 毕竟您从类名称知道它涉及密码操作。
答案 1 :(得分:0)
修改强>
首先,您必须获得依赖项:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>current version</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>htmlunit-driver</artifactId>
<version>current version</version>
</dependency>
现在你必须初始化一个驱动程序的实例,例如firefox驱动程序:
WebDriver driver = new FirefoxDriver();
之后,您必须致电您要测试的网站:
driver.get("http://www.google.com");
现在您可以找到元素并执行您想要执行的操作:
WebElement element = driver.findElement(By.id());
此外,您应该将元素的引用存储在object中。每个findElement调用都会降低测试的性能。