【发布时间】:2015-11-11 22:47:09
【问题描述】:
我的第一篇文章。我正在使用带有 javascript/nodejs 的页面对象在量角器中编写 e2e 测试。阅读了许多关于此的 SO 帖子,阅读 Julie 的页面以及学习 ProtractorPageObjects。
应用程序中的所有表都具有相同的结构。唯一的区别在于属性:data-row-type 可以是 10 个可能的值之一,例如“job”、“node”、“rack”等...
显然,我可以将字符串传递给方法并切换方法以构造正确的选择器。基于 ProTractorPageObjects 中的 cmets 我试图不那样写代码。我在这里是不是很傻,只是使用字符串并继续使用它,还是有办法创建这样的方法而无需传入字符串?
在 ProTractorPageObjects 的第 5 章中,columns.js 文件中提到不要使用传入字符串的模式来确定要查找的内容。
例如:
<div id="ee54a74e-17b8-4380-bbd8-2a5087bad7c9" class="tableRow escale-table-row-selected" data-row-type="ipAddress" data-qa-row-number="1">
<div class="tableCell">
<span class=""></span> ips-172-20-143-20-21
</div>
<div class="tableCell">
<span class=""></span> UP
</div>
<div class="tableCell">
<span class=""></span> Yes
</div>
...
另一个表:
<div id="6f529383-c0f3-49b7-9ccb-c8db2b0c75a9" class="tableRow escale-table-row-selected" data-row-type="fileSystem" data-qa-row-number="0">
<div class="tableCell">
<span class=""></span> card-view<div><span class="fa fa-square success fileSystemIndicator"></span><span id="6f529383-c0f3-49b7-9ccb-c8db2b0c75a9-share" class="fa fa-square fileSystemIndicator success"></span><span id="6f529383-c0f3-49b7-9ccb-c8db2b0c75a9-accessRule" class="fa fa-square fileSystemIndicator success"></span></div>
</div>
<div class="tableCell">
<span class=""></span> UP
</div>
<div class="tableCell">
<span class=""></span> Yes
</div>
......
【问题讨论】:
-
你能发布一些你想要完成的例子吗?我不知道你在说什么:) columns.js 和 ProTractorPageObjects 的第 5 章在哪里...
-
@cvakiitho 我认为问题的格式使问题变得不清楚 - 没有正确显示 HTML 代码块 - 修复了这个问题。
-
@alecxe 那个,而且在打开之前没有喝早咖啡... :)
标签: javascript selenium protractor end-to-end pageobjects