0

我使用以下 mwthod 在我的页面工厂模型中创建动态元素。我将 IOSClassChain 值作为字符串传递,然后将其转换为元素。当元素存在于页面上时,这工作正常,但当元素不存在时返回 null。下面是方法:

public MobileElement mobileElementUsingIOSClassChain(String objElement) throws IOException {

    MobileElement objMobileElement = null;

    try {
        objMobileElement = (MobileElement) ((AppiumDriver) GetDriver()).findElement(ByIosClassChain.iOSClassChain(objElement));

    } catch (Exception e) {
        System.err.println("Element not found");
    }
    return objMobileElement;

}

我为 objElement 传递的值是:

String elementStr = "**/XCUIElementTypeButton[`label=='Name'`]"

有什么建议么?

4

1 回答 1

0

那么它应该返回什么呢?在 catch 块中添加一条return语句(并删除 throws 声明)或完全删除 try-catch-block 并将其扔给Exception调用者。

顺便说一句,它被认为是不好的编码风格catch (Exception e),而是使用更具体的代码Exception(比如IOException)。

于 2017-10-06T15:29:45.447 回答