处理页面对象模型用于编写AngularJS的量角器E2E测试的正确方法是什么?我觉得我应该把它们写入单独的文件中(比如homepage.js,page2.js等),然后将它们包含在需要的模块等规范中。但是,我不知道如何注入它们。将不胜感激任何建议。谢谢!AngularJS中的页面对象量角器E2E测试
11
A
回答
20
将它们保存在单独的文件中,并使用Node的require
来引入所需的任何助手或页面对象。看看这个超级简单的例子:https://github.com/juliemr/ng-page-e2e/blob/master/test/angularsite_test.js#L2
0
你应该把它们放在单独的文件中,是的。
而在你的量角器referenceConf.js(config来启动与量角器),你应该写:
specs: ['<your_path>/test/pages/*Test.js']
在这种情况下<量角器将从目录“/测试/页”推出的所有文件与面具* Test.js(loginPageTest.js,homePageTest.js)
0
恐怕没有通用的标准来测试页面对象。 你可以找到量角器的问题中的几个建议:https://github.com/angular/protractor/issues/401和https://github.com/angular/protractor/issues/78
对于我的需要我在开源项目中创建非常简单的页面对象,请参见:https://github.com/9ci/angle-grinder/pull/124
也挺有意思的实现,你可以找到在https://github.com/juliemr/ng-page-e2e/tree/master/test
4
你用星盘试过了吗?它是量角器顶部的PageObject实现,可以指导您的结构:https://github.com/stuplum/astrolabe
在那里您可以看到推荐的结构是每个文件一个页面对象。
例如为:singInPage.js
var Page = require('astrolabe').Page;
module.exports = Page.create({
url: { value: 'http://<somesite>.com/signin' },
username: { get: function() { return this.findElement(this.by.input('username')); } }, // finds an input element with the name 'username'
submit: { get: function() { return this.findElement(this.by.id('submit')); } } // finds an element with the id 'submit'
});
它使测试用例的编写和偶数页对象非常紧凑和可读性。
相关问题
- 1. Angularjs量角器E2E测试
- 2. 浏览器对象将angularjs e2e测试转换为量角器
- 3. AngularJS e2e使用量角器测试
- 4. AngularJS:使用量角器测试e2e
- 5. AngularJS量角器测试 - E2E测试是否有固定装置?
- 6. 量角器中的迭代E2E测试
- 7. 角度量角器e2e测试
- 8. 量角器e2e足够角度测试
- 9. AngularJS中e2e测试的量角器有哪些替代方案?
- 10. AngularJS量角器E2E模拟
- 11. Internet Explorer Selenium量角器e2e测试
- 12. Angular的e2e测试中的页面对象设计模式
- 13. AngularJS e2e使用量角器和远程API测试
- 14. 访问在量角器/ E2E测试(AngularJS)$ HTTP数据
- 15. AngularJS e2e使用量角器测试:不能测试插入ng-include的元素
- 16. 角度量角器 - 在E2E测试后让浏览器打开
- 17. 用于角度html5拖放的量角器E2E测试
- 18. 用于角度E2E测试的实体或量角器
- 19. 试图为主题选择器编写量角器e2e测试
- 20. AngularJS e2e用ENTER键测试
- 21. AngularJS e2e测试ng表过滤器
- 22. 量角器和茉莉花角单元/ E2E测试
- 23. 量角器E2E测试角UI网格单元填充
- 24. e2e使用量角器在角度2测试
- 25. 使用量角器和角度运行E2E测试4
- 26. 角4(弹出)和E2E测试(量角器/硒配置)
- 27. 使用页面对象支持的量角器测试多个浏览器
- 28. 使用量角器在非AngularJS页面上测试登录页面
- 29. 模拟$ httpBackend角e2e测试
- 30. 扩展角度e2e测试
不幸的是,我还不知道如何在单个文件中启动测试,而无需更改配置中的“规格”。另外,如果你想在IDE中调试测试,这篇文章可能会有帮助:[如何在Webstorm中调试量角器的测试](http://stackoverflow.com/questions/20137109/how-to-debug-angular-protractor-tests在webstorm) –
我昨晚发现,因为我试图实现这一点,你不能在这样的规格中包含页面对象。每个文件独立于其他文件运行。我最终围绕节点的需求构建了一个系统。 – wlingke
@wlingke我在这里有一个类似的问题。你能告诉我你做了什么来解决问题吗? – Shimu