我正在尝试使用页面对象硒从 jsp 上的 table 中提取文本
i am trying to pull text from a table on a jsp using page object selenium
所以我正在使用 selenium 页面对象,我找到了正确的行并给它一个 Id,但它一直在控制台中给我一个空指针,但我不知道什么返回 null。
这是页面,
@FindBy(id = "status")
private WebElement confirmedEmergencySignIn;
@FindBy(className = "navbar-brand")
private WebElement dashboardLink;
public EmergenciesInListPage(WebDriver driver) {
super(driver, PageTitle.EMERGENCYINLIST, PagePath.EMERGENCYOUTLIST);
// COMPULSORY
this.driver = driver;
PageFactory.initElements(driver, this);
}
public Boolean checkEmergencySinedIn(String textToCheck) {
return confirmedEmergencySignIn.getText().equals(textToCheck);
}
这里是selenium测试,
@Test
public void testToShowAllUsersThatAreSignedinOnTheEmergencyList() {
quickSignIn();
emergencyPage = dashboardPage.clickEmergencyListLink();
emergencyPage.clickInOutDropdown();
emergencyPage.clickSetStatusInLink();
assertTrue(emergenciesInListPage.checkEmergencySinedIn(STATUS_IN));
assertTrue(isOnThisPage(PagePath.EMERGENCYINLIST));
}
这里是 Jsp 中包含 table 的部分。
table 在数据存在时自动填充,
<正文>
名字
姓氏
状态
${P.user.forenames}
${P.user.surname}
${P.status}
原因是 'status'
的 ID 超过 1 个,因为您正在循环 ${allPeople}
,并且 属性
@FindBy(id = "status")
private WebElement confirmedEmergencySignIn;
不是集合。您需要将其设为一个集合或使 Id 唯一。
所以我正在使用 selenium 页面对象,我找到了正确的行并给它一个 Id,但它一直在控制台中给我一个空指针,但我不知道什么返回 null。
这是页面,
@FindBy(id = "status")
private WebElement confirmedEmergencySignIn;
@FindBy(className = "navbar-brand")
private WebElement dashboardLink;
public EmergenciesInListPage(WebDriver driver) {
super(driver, PageTitle.EMERGENCYINLIST, PagePath.EMERGENCYOUTLIST);
// COMPULSORY
this.driver = driver;
PageFactory.initElements(driver, this);
}
public Boolean checkEmergencySinedIn(String textToCheck) {
return confirmedEmergencySignIn.getText().equals(textToCheck);
}
这里是selenium测试,
@Test
public void testToShowAllUsersThatAreSignedinOnTheEmergencyList() {
quickSignIn();
emergencyPage = dashboardPage.clickEmergencyListLink();
emergencyPage.clickInOutDropdown();
emergencyPage.clickSetStatusInLink();
assertTrue(emergenciesInListPage.checkEmergencySinedIn(STATUS_IN));
assertTrue(isOnThisPage(PagePath.EMERGENCYINLIST));
}
这里是 Jsp 中包含 table 的部分。 table 在数据存在时自动填充,
<正文>
名字
姓氏
状态
${P.user.forenames}
${P.user.surname}
${P.status}
原因是 'status'
的 ID 超过 1 个,因为您正在循环 ${allPeople}
,并且 属性
@FindBy(id = "status")
private WebElement confirmedEmergencySignIn;
不是集合。您需要将其设为一个集合或使 Id 唯一。