Selenium java-从pageObjects公共函数传递布尔参数

Selenium java-从pageObjects公共函数传递布尔参数,java,selenium,parameters,selenium-webdriver,testng,Java,Selenium,Parameters,Selenium Webdriver,Testng,在我的selenium测试用例中,我有许多项要验证,例如toCheck_isUserLogin、toCheck_isGenderChkbxExists等 我已将此检查分组到pageObjects公共函数中,以便于重用。 除了写每个检查项目通过/失败之外,我在excel中有一列指定总体测试结果通过/失败 假设我的一个测试用例,页面上找不到性别复选框,它应该将测试结果写入“COL_is_gender_CHKBX_EXISTS”列 它还应该将Testfail=true传递到主脚本中,以便在@After

在我的selenium测试用例中,我有许多项要验证,例如toCheck_isUserLogin、toCheck_isGenderChkbxExists等

我已将此检查分组到pageObjects公共函数中,以便于重用。 除了写每个检查项目通过/失败之外,我在excel中有一列指定总体测试结果通过/失败

假设我的一个测试用例,页面上找不到性别复选框,它应该将测试结果写入“COL_is_gender_CHKBX_EXISTS”列

它还应该将Testfail=true传递到主脚本中,以便在@AfterMethod处,测试用例的总体测试结果将失败,因为其中一个验证项失败

在我将代码移动到pageObject之后,我无法将Testfail值传递给主测试脚本,有人能帮我检查出什么问题吗 用我的密码,谢谢

//Selenium主测试脚本

//pageObjects登录\ u Page.java


如果需要更多信息,请告诉我,谢谢。

通常在PageObjects中,我们没有任何断言。您的PageObject可以修改为这样-

public static List<WebElement> getUserLogin(Read_XLS xls, String sheetName, int rowNum, Boolean Testfail) throws Exception{
        try{
            return driver.findElements(By.xpath(Object.getProperty("verify_isUserLogin")));            

    }
并在主测试类中执行断言-

   List<WebElement> elements=   Login_Page.getUserLogin(FilePath_TestResult, TestCaseName, DataSet+1, Testfail);  

if(elements.size())!=0{
Testfail =false;
}

您好@Gosaka,感谢您的回复,在键入元素点后,没有填充大小字,它只有getSize并将获得msg不兼容的操作数类型Dimension和intI已编辑。。基本上,我试图传达的是,在PageClass中,您返回driver.findElementsBy.xpathObject.getPropertyverify_isUserLogin。这将给你一个列表,在你的主要测试类中,得到这个列表,你将得到你的尺寸。我没有给出确切的密码。很抱歉。嗨,Gosaka,谢谢你的帮助,但我无法生成ifelements.size的预期结果=0{Testfail=false;}始终获得总体结果通过。我是否可以将testfail值从pageObjects传递到主脚本?谢谢。嗨,Gosaka,如果我想验证是否有复选框,请检查。在列表中我找不到元素。IsSelected您必须遍历列表并获取单个WebElement。一旦获得WebElement对象,就应该能够执行element.isSelected
public static List<WebElement> getUserLogin(Read_XLS xls, String sheetName, int rowNum, Boolean Testfail) throws Exception{
        try{
            return driver.findElements(By.xpath(Object.getProperty("verify_isUserLogin")));            

    }
   List<WebElement> elements=   Login_Page.getUserLogin(FilePath_TestResult, TestCaseName, DataSet+1, Testfail);  

if(elements.size())!=0{
Testfail =false;
}