protected function DrupalWebTestCase::clickLink

Follows a link by name.

Will click the first link found with this link text by default, or a later one if an index is given. Match is case sensitive with normalized space. The label is translated label.

If the link is discovered and clicked, the test passes. Fail otherwise.

Parameters

$label: Text between the anchor tags.

$index: Link position counting from zero.

Return value

Page contents on success, or FALSE on failure.

53 calls to DrupalWebTestCase::clickLink()
ActionsConfigurationTestCase::testActionConfiguration in drupal/modules/simpletest/tests/actions.test
Test the configuration of advanced actions through the administration interface.
AggregatorTestCase::updateFeedItems in drupal/modules/aggregator/aggregator.test
Updates the feed items.
BasicMinimalUpdatePath::testBasicMinimalUpdate in drupal/modules/simpletest/tests/upgrade/upgrade.test
Tests a successful point release update.
BasicStandardUpdatePath::testBasicStandardUpdate in drupal/modules/simpletest/tests/upgrade/upgrade.test
Tests a successful point release update.
BasicUpgradePath::testBasicUpgrade in drupal/modules/simpletest/tests/upgrade/upgrade.test
Test a successful upgrade.

... See full list

File

drupal/modules/simpletest/drupal_web_test_case.php, line 2770

Class

DrupalWebTestCase
Test case for typical Drupal tests.

Code

protected function clickLink($label, $index = 0) {
  $url_before = $this
    ->getUrl();
  $urls = $this
    ->xpath('//a[normalize-space(text())=:label]', array(
    ':label' => $label,
  ));
  if (isset($urls[$index])) {
    $url_target = $this
      ->getAbsoluteUrl($urls[$index]['href']);
    $this
      ->pass(t('Clicked link %label (@url_target) from @url_before', array(
      '%label' => $label,
      '@url_target' => $url_target,
      '@url_before' => $url_before,
    )), 'Browser');
    return $this
      ->drupalGet($url_target);
  }
  $this
    ->fail(t('Link %label does not exist on @url_before', array(
    '%label' => $label,
    '@url_before' => $url_before,
  )), 'Browser');
  return FALSE;
}