了解量角器和 WebDriverJS 控制流
Understanding Protractor and WebDriverJS control flow
有人能帮我理解WebDriverJS/Protractor在这种情况下是如何工作的吗?
function MyPageObject(buttonElementFinder) {
this.getButtonByIndex = function(index) {
return {
myButton: buttonElementFinder.get(index)
}
}
}
1. describe('My button', function() {
2.
3. it('should contain the text foo', function() {
4. var myElementFinder = element.all(by.css('.foo'));
5. var pageObject = new MyPageObject(myElementFinder);
6. var button = pageObject.getButtonByIndex(0);
7. expect(button.text()).toBe('foo');
8. });
9.
10. });
WebDriverJS 控制流是否由于 ElementFinder
s 的.get
方法在第 6 行添加了操作?
我想expect
也在第 7 行向控制流中添加了另一个项目?
编辑:我已经更新了代码以使用element.all
。
var myElementFinder = element.all(by.css('.foo'));
myElementFinder是一个ElementArrayFinder,只是一个对象。这里没有发生任何异步事件。
var pageObject = new MyPageObject(myElementFinder);
明显。
var button = pageObject.getButtonByIndex(0);
这将从buttonElementFinder.get返回一个ElementFinder。这里没有发生任何异步事件。
expect(button.text()).toBe('foo');
button.text()
从Webdriver.schedule
返回一个承诺,而又使用使用webdriver.promise.controlFlow()
检索的控制流,这公开了一个执行函数。
相关文章:
- 比较两个值时出现JavaScript输出和控制流错误
- 类似Facebook的盒子-控制流中出现的内容
- 量角器 iOS 自动化:茉莉花规范超时.重置 Web 驱动程序控制流
- 控制流没有在jquery中的对话框中等待
- 使用NodeJS和Sequelize控制流
- javascript中的异步控制流
- 如何将包含猫鼬函数的方法与控制流框架(例如异步或 Step)一起使用
- Node.js 中意外的 vm.runInThisContext 控制流
- 了解 Node.js 应用程序中的控制流
- KnockoutJS - 无容器控制流绑定初始值
- JavaScript's的控制流结构:浏览器特定的或JS固有的
- 承诺控制流 - 捕获与拒绝
- 检查不存在的变量时控制流模式
- 奇怪的JavaScript函数绑定.此控制流是否正确
- 有哪些在线Javascript工具可以逐步显示执行和流/控制流
- 我应该如何根据所选的无线电输入重新组织查询的控制流
- JQuery元素显示/隐藏和控制流
- 异步库是否有任何用于处理管道的控制流
- JavaScript回调和控制流
- 了解量角器和 WebDriverJS 控制流