job.JobTitles.Add.JobTitleValidMessage 的 xpath 是://input[@id='jobTitle_jobTitle']/following-sibling::span它在第一行代码上给出了 NullPointerException。如何解决这个问题?List<WebElement> job_valid_message = TestBase.findElements("Job.JobTitles.Add.JobTitleValidMessage"); if (job_valid_message.size()==1) { return !job_valid_message.get(0).isDisplayed(); } else return true;元素的 HTML 源代码<li> <label for="jobTitle_jobTitle">Job Title <em>*</em></label> <input type="text" name="jobTitle[jobTitle]" maxlength="100" id="jobTitle_jobTitle" class="validation-error"><span for="jobTitle_jobTitle" generated="true" class="validation-error">Required</span> </li>
3 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
正确的代码应该是。
List<WebElement> job_valid_message = TestBase.findElements(By.xpath("//input[@id='jobTitle_jobTitle']/following-sibling::span");
if (job_valid_message.size()>0) {
return true; //message is displayed
} else
return false; //message not displayed
或者,如果您想直接访问跨度,则可以使用css。span[for='jobTitle_jobTitle' ][class='validation-error']
潇湘沐
TA贡献1816条经验 获得超6个赞
假设是控制某些浏览器的驱动程序,我会使用TestBase
List<WebElement> job_valid_message = TestBase.findElements(By.cssSelector('span.validation-error');
慕的地6264312
TA贡献1817条经验 获得超6个赞
类TestBase似乎是你的框架类,你从中调用findElements方法。由于参数中没有 By 定义,我可以建议你检查参数是字符串还是 By。如果它被字符串重载,那么默认的定位器定义是什么(如cssSelector,xpath等)。
添加回答
举报
0/150
提交
取消