用于当前和启用硒检查的 POP 功能(Java)

我在 selenium 工作,现在为了检查元素的可见性,我使用以下等待:


@FindBy (css=".delete-basket-modal-btn") WebElement deleteItemFromBasketCancelButton;

public void clickDeleteItemFromBasketCancelButton() throws InterruptedException {   

    wait.until(ExpectedConditions.elementToBeClickable(deleteItemFromBasketCancelButton));

    deleteItemFromBasketCancelButton.click();

}

这不是个好主意,此功能不检查元素的存在,所以有时我会得到“过时的元素参考元素未附加到页面文档”


现在我试图创建通用函数,它将被我的所有页面对象类继承。在此函数中,我需要检查(5 秒)传入参数的 WebElement 的存在、启用、可点击性和可见性。


目前我在下面有新功能,但我不知道这是解决我问题的好方法


public void verifyElement(WebElement element) throws InterruptedException {

    boolean isPresent = false;



    for (int i = 0; i < 5; i++) {

        try {

            if (element != null) {

                isPresent = true;               // metoda do czekania na element  

                break;

            }

        } catch (Exception e) {

            // System.out.println(e.getLocalizedMessage());

            Thread.sleep(1000);

        }


    }

    Assert.assertTrue(isPresent, "\"" + element + "\" is not present.");



    boolean isEnabled = false;

    for (int i = 0; i < 5; i++) {

        try {

            if (element.isEnabled()==true) {

                isEnabled = true;

                break;

            }

        }catch (Exception e) {

        Thread.sleep(1000);

    }

}

    Assert.assertTrue(isEnabled, "\"" + element + "\" is not enabled.");

}


您对这个问题有什么建议或类似的问题吗?


精慕HU
浏览 171回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java