【问题标题】:Scope of promise function in protractor量角器中promise函数的范围
【发布时间】:2017-08-30 19:37:27
【问题描述】:

这对你来说可能很简单,但作为初学者,如果我得到详细的答案,这对我真的很有帮助。

在 Protractor 脚本中,如果我在单击对象(例如:按钮)时使用 Promise,有什么好处?它是只等到按钮对象被加载,还是等到promise中的所有对象都被加载?

我也想知道,它是量角器脚本中睡眠功能的有效替代品吗? 感谢您的帮助。

【问题讨论】:

    标签: protractor


    【解决方案1】:

    默认量角器等待时间为 11 秒,您可以在量角器配置文件中自定义 jasmine nodeopts 中的等待时间

    由于我们使用javascript,我们可能会遇到promise问题,因为它是异步的,在当前任务完成之前会调用下一个任务,所以脚本会抛出异常,所以我们使用Promise,回调

    当promise被实现时,它会调用resolve();

    当promise没有实现时会调用reject();

    我们可以通过 next()、notify() 和 true 条件来实现这一点

    【讨论】:

    • 感谢帕蒂的回复。如果您能澄清在 Promise 之后立即给予等待时间是否是一种好习惯,这将非常有帮助?或者我们应该避免在 promise 函数范围内等待时间。
    • @Vishnu,您可以通过使用 Next() 和 notify() 函数来避免它,如果您认为我的上述答案有用,请点赞,以便有人从中受益。
    • 嗨 Parthi,上面提到的 11 秒等待时间是使用 promise 还是不使用?您能否提供一个使用 Next() 和 Notify() 的示例 sn-p。
    • @Vishnu,11 秒的等待时间是没有承诺的,这里是 sn-p,然后(/^我单击“([^”]*)”按钮 $/,函数(arg, next) { if ('Create New' === arg) { pageObj.getCreateNewButton().click(); next(); }
    猜你喜欢
    • 1970-01-01
    • 2016-11-30
    • 2017-11-13
    • 2014-11-26
    • 2014-09-08
    • 2015-03-20
    • 2023-01-18
    • 2014-06-14
    相关资源
    最近更新 更多