Selenium-RC中的XPath上下文(PHPUnit扩展)?

时间:2011-06-23 20:08:26

标签: php xpath selenium

在Selenium-RC(版本2.0b3)中使用XPath定位器时,有没有办法设置XPath上下文?

我问,因为我将页面建模为对象,并且具有出现在多个页面上的复合元素(“小部件”),所以我希望能够在其父窗口小部件的上下文中引用子元素。

类似的东西:

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 :(得分:0)

如果$ context是一个xpath表达式,你不能只做$ context + $ element_locator

答案 1 :(得分:0)

如果您正在讨论PHPUnit Selenium扩展的用法,那么您只能使用Selenium 1旧API。此API仍在Selenium2 / Webdriver中工作,只是为了向后兼容。

因此,由于您被迫使用旧的API(Selenium 1),答案是否定的。您无法设置元素的上下文以简化XPATH定位器。