2017-01-10 3 views
0

私は自動化されたテストソフトウェアの完全な初心者です。 (CodeceptionとPHP7はCentOSに7環境にインストールされている。)
条件:(HREF)リンクは、ページを訪問しているとき
1.マイindex.htmlページがリンク
2のx数を含み「あなたは選択項目iを持っています」と表示されます。
3.リンク内に、誤ったリンクがy個存在することがあります。障害のあるリンクにアクセスすると、選択した項目が存在しないことを示すアラートポップアップが表示されます。私がやろうとしています何ページ上の複数のリンクを訪問する。 [コード化]


障害のあるリンクの存在を確認するテストを作成します。存在する場合は、リンクのアンカーテキストを返します。ここで


は私がやったことです:(明らかに間違っ...)

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

visit関数を使用することはできませんか?それは私が誤解されていない場合、リンクをクリックするのと技術的に同じです。 – 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;
}

他の方法や改善された方法と共有されている回答は高く評価されます。 :)

関連する問題