如何使用方法调用内部的各种方法并在selenium中返回true

时间:2018-06-18 07:52:09

标签: java selenium selenium-webdriver

我希望有一个方法public boolean verifySignIn()并调用下面的方法并返回true,

setUserName(String)此方法用于设置用户名。 setPassword(String)此方法用于设置密码。 clickLogin()此方法用于单击登录按钮。

这是我的代码现在的样子,

public boolean verifySignIn() 
{       
setUserName("user");
setPassword("admin123");
clickLogin();
return true;

}

3 个答案:

答案 0 :(得分:2)

要从verifySignIn()返回 true ,您可以将该函数包装在try-catch{}块中,如下所示:

public boolean verifySignIn() {  
       try{  
            setUserName("user");
            setPassword("admin123");
            clickLogin();
            return true;  
       }catch(Exception e){
            return false;
       }  
} 

答案 1 :(得分:0)

如果我会这样做,我会做这样的事情:

sniffer = csv.Sniffer()
dialect = sniffer.sniff(file)
deli = dialect.delimiter
file = file.replace(deli,';')

方法impl。

public boolean verifySignIn(){       
   return clickLogin(email, password);
}

但无论如何尝试使用 PageObject 设计而不是返回布尔值。返回页面对象(例如主页面)如果一切正常,您已登录。 因此,您可以与下一页进行交互,或者只是在您成功登录时进行检查,从而扩展和模块化您的测试。

答案 2 :(得分:0)

我认为要验证登录,此方法中最重要的事情是检查点击该登录按钮是否真的带你去了你应该去的地方。

所以,我会做一个像:

这样的方法
public boolean verifySignIn() {
    setUserName("user");
    setPassword("admin123");
    return clickLogin();
  }

然后我会更好地定义clickLogin()方法:

public boolean clickLogin() {
    WebElement loginButton = driver.findElement(By.id("someId"));
    loginButton.click;
    return !driver.findElements(By.id("someElementOnPage")).isEmpty();
  }

DebanjanB的try / catch解决方案很好,但它唯一验证的是没有异常。它实际上并不验证登录是否将您带到正确的页面。