Javascript 量角器与承诺
量角器返回承诺公开的许多函数 我是否需要使用诸如异步测试(使用Javascript 量角器与承诺,javascript,promise,protractor,Javascript,Promise,Protractor,量角器返回承诺公开的许多函数 我是否需要使用诸如异步测试(使用done参数)和之类的量角器来构造我的Jasmine测试?或者量角器为我提供了一些魔术吗?是的,量角器执行一些魔术,以等待每个承诺得到解决 量角器文档中对该过程的最佳描述: 这意味着我们不必使用done将测试结构化为异步测试。我们可以使用expect(在Jasmine中)简单地断言,一切都应该工作。是的,为了等待每个承诺得到解决,量角器执行了一些魔术 量角器文档中对该过程的最佳描述: 这意味着我们不必使用done将测试结构化为异步测试
done
参数)和之类的量角器来构造我的Jasmine测试?或者量角器为我提供了一些魔术吗?是的,量角器执行一些魔术,以等待每个承诺得到解决
量角器文档中对该过程的最佳描述:
这意味着我们不必使用done
将测试结构化为异步测试。我们可以使用expect
(在Jasmine中)简单地断言,一切都应该工作。是的,为了等待每个承诺得到解决,量角器执行了一些魔术
量角器文档中对该过程的最佳描述:
这意味着我们不必使用done
将测试结构化为异步测试。我们可以使用expect
(在Jasmine中)简单地断言,一切都应该工作。WebDriverJS通过控制流来处理这一点。量角器添加了对Jasmine的expect
的修改,以保持then
s处于远离状态。这是最好的解释。WebDriverJS通过控制流来处理这个问题。量角器添加了对Jasmine的expect
的修改,以保持then
s处于远离状态。这是最好的解释。因此,如果我在每个
之前都有一些设置(例如使用executeScript
在客户端上导航或运行脚本,或者甚至使用元素(by.css…
)在中选择元素,我是否必须使用然后
使用正常的承诺语法?否,beforeach
在所有方面都与it
块相同,但在执行时除外。以这个问题为例,我们可以了解然后在控制流方面是如何工作的,以及何时我们可能需要它:我认为从异步实用工具方法(例如PageObjects上的方法)中显示承诺是很重要的。否则,量角器将无法“知道”启用其魔力?要在量角器的域之外向控制流添加异步调用,可以使用browser.controlFlow().execute(promiseFunc)
其中promiseFunc
是一个返回承诺的函数。这里很好地解释了所有这些:实际上,我的意思是:假设我有一个实用功能foo
,它在引擎盖下使用browser.driver.findElement
,但这并不返回承诺。如果我在每次
之前从内部调用foo
,我认为这会导致问题,因为承诺没有返回,因此对量角器可见?因此如果我有一些设置(例如导航或使用executeScript
在客户端运行脚本,甚至使用元素选择元素)(by.css…
)在beforeach
中,我必须使用then
使用正常的承诺语法吗?不,beforeach
与it
块在所有方面都是一样的,除了它在何时被执行。看看这个问题,了解then
在控制流方面是如何工作的,以及何时我们可能需要它:I pre假设必须从异步实用程序方法(例如PageObjects上的方法)中显示承诺。否则,量角器将无法“知道”启用其魔力?要将量角器域之外的异步调用添加到控制流,可以使用browser.controlFlow().execute(promiseFunc)
其中promiseFunc
是一个返回承诺的函数。这里很好地解释了:实际上,我的意思是:假设我有一个实用函数foo
,它在引擎盖下使用browser.driver.findElement
,但这并不返回承诺。如果我从内部调用foo
在每次
之前,我认为这将导致问题,因为承诺没有返回,因此对量角器可见?