如何在PHPUnit Selenium2TestCase中单击可见元素?

时间:2013-08-08 09:29:49

标签: php selenium phpunit acceptance-testing

我有2个同名的按钮。出于设计原因,同时只能看到其中一个。

我想点击任何可见的按钮。

如果第一个按钮隐藏了这个表达式

$this->byCssSelector('[name="saveAndClose"]')->click()

返回

Element is not currently visible and so may not be interacted with

如何点击可见按钮?

1 个答案:

答案 0 :(得分:1)

我已经为此编写了简单的代码。

public function clickOnDisplayedElementByName($name)
    {
    $elements = $this->elements($this->using('css selector')->value('[name="' . $name . '"]'));
    foreach ($elements as $element)
        {
        if ($element->displayed())
            {
            $element->click();
            return;
            }
        }
    $this->fail('There is no visible elements with name ' . $name);
    }