Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 验证页面上多个元素的两个字符串之一_Java_Selenium Webdriver - Fatal编程技术网

Java 验证页面上多个元素的两个字符串之一

Java 验证页面上多个元素的两个字符串之一,java,selenium-webdriver,Java,Selenium Webdriver,我正在使用页面对象模式进行selenium自动化。我有一个场景,页面上有多个元素。我已在页面上标识元素位置: By jobStatus = By.xpath("//span[@ng-bind='::getJobStatus(job.firewallStatus)']"); 有13个元素的文本为“接受”或“拒绝” 我有一个只显示文本为“ACCEPTED”的元素的过滤器,我想自动化这个场景,以验证所有这些字段只包含“ACCEPTED”假设xpath将返回多个元素,您可以说: var jobStat

我正在使用页面对象模式进行selenium自动化。我有一个场景,页面上有多个元素。我已在页面上标识元素位置:

By jobStatus = By.xpath("//span[@ng-bind='::getJobStatus(job.firewallStatus)']");
有13个元素的文本为“接受”或“拒绝”


我有一个只显示文本为“ACCEPTED”的元素的过滤器,我想自动化这个场景,以验证所有这些字段只包含“ACCEPTED”

假设xpath将返回多个元素,您可以说:

var jobStatus = By.xpath("//span[@ng-bind='::getJobStatus(job.firewallStatus)']");

foreach(WebElement status in jobStatus)
{
    string statusText = status.getText();
    //here assert if text equals to APPROVED
}

这样就可以验证所有这13个字段是否只包含文本为“已接受”的元素了。您可以按如下方式将子句与筛选条件组合在一起:

if (driver.findElements(By.xpath("//span[@ng-bind='::getJobStatus(job.firewallStatus)'] and contains(.,'ACCEPTED')")).size() == 13)
    System.out.println("All the 13 fields are 'Accepted'");
else
    System.out.println("All the 13 fields are NOT 'Accepted'");

如何通过jobStatus=By.xpath(//span[@ng bind='::getJobStatus(job.firewallStatus)')”)和
文本“已接受”或“已拒绝”相互关联?@DebanjanB jobStatus返回13个显示文本“已接受”或“已拒绝”的元素