首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在共同欺骗测试中通过页面上的链接循环

在共同欺骗测试中通过页面上的链接循环
EN

Stack Overflow用户
提问于 2015-09-07 04:59:59
回答 1查看 3K关注 0票数 0

我正在编写一些功能测试,使用的是协同欺骗和PHPBrowser网络驱动程序。

协同欺骗使用CSS或XPath中的特定引用来检查页面上的元素。

但我希望能够循环遍历我的菜单中的所有链接,点击它并运行一个测试看看链接是否有效。

即。如果我的菜单是这样的:

代码语言:javascript
代码运行次数:0
运行
复制
<ul id='nav'>
<li><a>Link1</a></li>
<li><a>Link2</a></li>
<li><a>Link3</a></li>
<li><a>Link4</a></li>
<li><a>Link5</a></li>
</ul>

我希望能够遍历链接并传递其索引:

代码语言:javascript
代码运行次数:0
运行
复制
$links = somefunctiontogetalllinks();
for ($x = 0; $x <= count($links); $x++) {
   codeceptionTest($x);
} 

然后,测试可以使用CSS伪选择器引用链接:

代码语言:javascript
代码运行次数:0
运行
复制
public function codeceptionTest($index) {
   $i->click('#nav > li:nth-child(' . $index . ') > a');
   $I->see('Page Content');
}

我无法找到使用PHPbrowser或协同欺骗方法获取元素集合的任何方法,而且我也不确定是否将它抓取的页面显示为要遍历的对象。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-07 09:03:38

你试过使用grabMultiple方法吗?http://codeception.com/docs/modules/PhpBrowser#grabMultiple

https://github.com/Codeception/Codeception/blob/faa5fb331eb15760bc88f284183f367df5a26a39/src/Codeception/Lib/InnerBrowser.php#L948

它返回单个属性值的列表,但如果所有项都有id或href属性,则应该足够好。

如果您实际上想要获得节点,请实现您自己的方法。

将getMultiple方法复制到Helper\Functional,根据需要重命名并修改它。http://codeception.com/docs/06-ReusingTestCode#Modules-and-Helpers

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32431362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档