从动态文本获取webelement

时间:2016-02-02 13:38:24

标签: java selenium selenium-webdriver pageobjects

首先我写我的情景:

  1. go http://demo.opencart.com/

  2. 搜索ipod

  3. 点击添加以在每个找到的项目中进行比较

  4. 这是我的代码(java webdriver pagefactory)

    searchresultspage(我的对象页面)

    @FindBy(id = "compare-total")
    WebElement numberOfProductToCompare;
    
    public void compareAllItems() {
        for (WebElement compareButtons: compareButton) {
            compareButtons.click();
        }
    }
    
    public void areAllItemsClickedCompare() {
        String dupa = numberOfProductToCompare.getText();
        System.out.println(dupa);
    }
    

    我的主要测试课

    @Test
    public void addToCompare() {
        searchresultspage.compareAllItems();
        searchresultspage.areAllItemsClickedCompare();
    }
    

    我单击所有比较按钮,我想从链接Product Compare (4)获取数字,但是当我使用searchresultspage.areAllItemsClickedCompare();时,则使用System.out.println(dupa);打印我Product Compare (0),即使这个方法是在添加比较之后(应该是Product Compare (4))不知道该怎么做,有什么建议吗?

1 个答案:

答案 0 :(得分:0)

请注意,问题出现是因为Selenium在类实例化时捕获了TabPage.Text元素,但是当它的内容在页面上更新时,它不会影响捕获的值。 只有在单击所有复选框后才尝试捕获compare-total元素:

compare-total

public void areAllItemsClickedCompare() { WebElement numberOfProductToCompare = driver.findElement(By.id("compare-total")); String dupa = numberOfProductToCompare.getText(); System.out.println(dupa); } driver个实例。