2011-06-23 14 views
0

Selenium-RC(バージョン2.0b3)でXPathロケータを使用するときにXPathコンテキストを設定する方法はありますか?Selenium-RC(PHPUnit拡張)の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がページの範囲に固有ではないかもしれないということで、間違いなくそのウィジェットのに固有のものですコンテキスト。

答えて

0

$コンテキストは、XPath式であるあなただけ$文脈+ $ element_locator

+0

これは確かに一つの解決策ですが、 '$ element_locator'は常に'/'や' // 'や' $ context'のように有効な遷移で始まる必要があり、それを価値あるものにするには、あまりにも多くのエッジケースがあります –

0

あなたはPHPUnitのSeleniumの拡張の使用方法について話している場合は、あなただけのSelenium 1古いAPIを使用することができますを行うことができませんでした場合。このAPIは、Selenium2/Webdriverでは下位互換性のためにまだ動作しています。

古いAPI(Selenium 1)を使用する必要があるので、答えはNOです。 XPATHのロケータを簡単にするために、要素のコンテキストを設定することはできません。

関連する問題