首页 > 解决方案 > 量角器:Else 语句未按预期工作

问题描述

我正在尝试单击一个链接(如果存在),如果不存在,则应添加相应的链接,然后单击该链接。

在下面的 If 循环中,如果不满足第一个条件,则不会执行“Else”条件。如果将其放置在 IF 循环之外,则同样有效。

我很困惑。

有人可以帮我解决这个问题吗?

var ConfigLink = element.all(by.partialLinkText('Provide Configuration')).get(0);

        ConfigLink.isDisplayed().then(function(result) {
        if (result) {
                ConfigLink.click();
        } 

        else {
                element.all(by.css('input[name="checks"]')).get(0).click();
        }

        });

如果初始 If 条件失败,我希望脚本执行 else 部分,但这不起作用。

请建议如何解决这个问题谢谢

标签: if-statementjasmineprotractor

解决方案


找到了答案。将 isDisplayed() 替换为 'isPresent()' 并且代码现在似乎工作正常,没有任何问题。这是有道理的,因为 isDisplayed() 假定元素已经存在。如果该元素不存在,则应引发错误。


推荐阅读