2017-01-10 35 views
0

我是一個擁有自動化測試軟件的新手。 (Codeception和PHP7安裝在一個CentOS 7環境)
條件:
1.我的index.html頁面包含的鏈接
2.當鏈接被訪問(A HREF),第X號顯示'你有選擇的項目我'。
3.在鏈接中,可能存在多少個有故障的鏈接。當錯誤的鏈接被訪問時,它會彈出一個警告消息,說所選的項目不存在。訪問頁面上的多個鏈接。 [codeception]

我在做什麼:
建立一個測試檢查存在的錯誤鏈接。如果存在,則返回鏈接的錨文本。


這裏是我做過什麼:(顯然是不對的..)

<?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

你試過用google搜索嗎?一個簡單的搜索「通過鏈接代碼循環」給了我這個:Loop through links on a page in Codeception Tests

檢查在這個問題上的答案。可能是你在找什麼。

+0

謝謝你的回答。是的,我之前檢查過這個帖子。如果我正確地理解了它,它會給出帶有所有url的字符串[]。然而,這不能通過點擊方法點擊,因爲它不是一個按鈕。 –

+0

然後你不能使用訪問功能嗎?如果我沒有誤會,這在技術上與單擊鏈接相同。 – Alx101

+2

您可以使用'moveBack'方法在點擊下一個鏈接之前返回列表。 – Naktibalda

1

所以我在'@ Alx101'和'@Naktibalda'的幫助下得到了這個答案。 真的很感謝。

我在這裏分享我的回答:
$ I =新AcceptanceTester($方案);
$ I-> wantTo('browse items');
$ I-> amOnPage('/ index.html');
$ aLinks = $ I-> grabMultiple('a','href');

的foreach($ aLinks爲$鏈路)
{
          $ I - > amOnPage( '/'。$鏈接);
          $ I - > see('Selected Item');
          $ I - > moveback();
          echo $ link;
}

任何與其他或改進方法共享的答案將不勝感激! :)