javascript - Protractor 处理异常;异步弹出; Javascript

标签 javascript exception testing automation protractor

try {
        element(by.xpath(//*[@id='tab-settings'])).click()  
        browser.sleep(6000)

    } catch (e) {
        // TODO: handle exception
        element(by.xpath("//*[@id='actionbar']/px-button")).click()
        browser.sleep(6000)
    }

--> 在这里,我试图点击一个元素设置,在 try block 中提到。 但是有一个不确定的弹出窗口会在任何时间点发生,在 catch block 中提到。此弹出窗口不会在固定的给定事件中发生。 当我尝试运行此代码时,弹出窗口会失败。 请帮忙。

最佳答案

您需要使用错误处理 promise 解决函数来处理 click() 结果:

element(by.xpath(//*[@id='tab-settings'])).click().then(function () {
    browser.sleep(6000);
}, function (error) {
    element(by.xpath("//*[@id='actionbar']/px-button")).click()
    browser.sleep(6000);
});

关于javascript - Protractor 处理异常;异步弹出; Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41038650/

相关文章:

javascript - 现代网络开发方法

javascript - Angular 4 单元测试出现错误 - 失败 : Cannot read property 'map' of undefined

javascript - 获得一致的线条颜色、开始和结束标记

java - 无法弄清楚是什么触发了 "java.util.ConcurrentModificationException"

java - 如何测试接受命令行参数的并发 Java 程序?

javascript - 使用 Redux Toolkit 异步 REST API 模式时如何捕获 HTTP 4xx 错误?

c# - 抛出异常与检查 null,以获取 null 参数

android - 如何使用 Crittercism 手动发送异常?

java - 如何在测试范围内使用 m2e (Eclipse/Maven) 运行具有测试依赖项的命令行程序?

java - 如何使用 Appium 向 Android Numpad 输入数值?