Контекст XPath в Selenium-RC (расширения PHPUnit)? - PullRequest
0 голосов
/ 24 июня 2011

Есть ли способ установить контекст XPath при использовании локаторов XPath в Selenium-RC (версия 2.0b3)?

Я спрашиваю, потому что я моделирую страницы как объекты и имею составные элементы ("виджеты"), которые появляются на нескольких страницах, поэтому я хотел бы иметь возможность ссылаться на подэлементы в контексте их родительского виджета.

Что-то вроде:

class SomeWidget extends Widget {
    public $widget_locator;
    public $element_locator = '//a[text()="something"]';

    public function doSomething() {
        $context = $this->widget_locator;
        $selenium->click($element_locator, $context); //<-- can I do something like this?
    }
}

Очевидно, что это надуманный пример, но идея в том, что xpath подэлемента может быть не уникальным для области страницы, но определенно уникальным для контекста этого виджета.

Ответы [ 2 ]

0 голосов
/ 24 июня 2011

Если вы говорите об использовании расширения PHPUnit Selenium, то вы можете использовать только старый API Selenium 1.Этот API все еще работает в Selenium2 / Webdriver только для обратной совместимости.

Итак, поскольку вы вынуждены использовать старый API (Selenium 1), ответ НЕТ.Вы не можете установить контекст элемента, чтобы ослабить локаторы XPATH.

0 голосов
/ 24 июня 2011

Если $ context является выражением xpath, не могли бы вы просто сделать $ context + $ element_locator

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...