访问页面上的多个链接。 [codeception]

时间:2017-01-10 07:59:45

标签: php tdd bdd codeception acceptance-testing

我是一个使用自动化测试软件的全新手。 (Codeception和PHP7安装在Centos 7环境中。)
条件:
1.我的Index.html页面包含x个链接
2.当访问(a href)链接时,页面显示“您已选择项目i”# 3.在链接中,可能存在多个错误链接。访问错误链接时,会弹出一个警告,说明所选项目不存在。

我想做什么:
构建测试检查是否存在错误链接。如果存在,则返回链接的锚文本。


这就是我所做的:(显然是错误的......)

<?php <br>
$I = new AcceptanceTester($scenario);<br>
$I->wantTo('browse items');<br>
$I->amOnPage('/index.html');<br>
$I->click('a');<br>
$I->see('You have Selected Item i');<br>

问题
在上面的代码中,它进入第一个链接,然后检查给定的文本。 检查完第一个后,无论结果如何,我都希望它检查index.html上的下一个链接,直到访问完所有链接。但是它仍然在访问页面并停在那里。

我希望它足够清楚。提前致谢!

2 个答案:

答案 0 :(得分:2)

你试过Google搜索吗?一个简单的搜索&#34;代码循环通过链接&#34;给了我这个:Loop through links on a page in Codeception Tests

检查该问题的答案。可能是你正在寻找的东西。

答案 1 :(得分:1)

所以我得到了这个答案,并得到了&#39; @ Alx101&#39;和&#39; @ Naktibalda&#39;。 真的很感激。

我在此分享我的回答:

$I = new AcceptanceTester($scenario);
$I->wantTo('browse items');
$I->amOnPage('/index.html');
$aLinks = $I->grabMultiple('a','href');

foreach($aLinks as $link) {
    $I->amOnPage('/'.$link);
    $I->see('Selected Item');
    $I->moveback();
    echo $link;
}

与其他或改进方法共享的任何答案将不胜感激! :)