首页 > 解决方案 > [Selenium][Java][PageObject] 如何检查列表中是否有“xyz”值(Web Element)?

问题描述

我创建了一个添加 xyz1 , xyz2, xyz3 ....xyz(n) 元素的测试,在页面上显示为列表。我需要确保在这些名称中存在标题为“xyz3”的元素(或标题为不同,我将定义)我的想法是构建列表/数组/集合,它将收集 Web 元素的所有值,然后我需要编写一个将在列表中收集的这些值中查找我定义的“xyz3”的方法。我的网络元素: 在此处输入图像描述

  @FindBy(how = How.XPATH, using = "//div[@id='_field']")
public List <WebElement> listOfNames;

My attempts in creating a list :

LList<WebElement> myElements = createEvalTemplateLocators.getListOfNames();
    boolean temp1;
    for(WebElement e : myElements) {

        System.out.println(e.getText() + "");

    }

    for(WebElement e : myElements) {

        temp1 = e.getText().contains("temp1");

        if (temp1==true) System.out.println("hurray temp1 is on page ");
        else {System.out.println("something gone wrong with temp1");}
    }

结果在控制台:

在此处输入图像描述

我无法创建更好的定位器 - 更合适的不会在它旁边“获取”元素......此外,我想知道列表中是否至少存在一个“temp1”,关于每个实体的信息消息不是必需的....我对我的测试没有更好的想法,将来我想在这种情况下使用断言..

我是初学者:(而且我主要是自学,所以有人可以帮我解决这个问题吗?

(波罗的海向所有人致以问候:))

标签: javatestingselenium-webdriverautomated-testspageobjects

解决方案


推荐阅读