テストスクリプトをSeleniumRCからWebDriverに移行しています。これまでの最大の問題は、拡張クラスをWebDriver APIを使用するように書き直す必要があることです。これは気にしませんが、Byクラスは、主に、自分がどのタイプの要素であるかを明示的に指定する必要があるため、問題を引き起こします。 FindElementsメソッドを呼び出すときに使用します。そのため、要素タイプを暗黙的に決定するシングルクリックメソッドの代わりに、要素タイプ(css、XPath、name、idなど)ごとに次のようなメソッドを作成しました。
public void ClickByXPath(string xpath) { _driver.FindElement(By.XPath(xpath)).Click(); }
これは機能しますが、要素タイプごとに個別のメソッドをたくさん作成する必要があります(GetText、IsElementPresentなど)。スクリプトを書くとき、各メソッドの名前を入力するのは古くなります。なぜなら、それらは長く、どのタイプの要素がパラメーターとして使用されているかを確認する必要があるからです。こんなものが欲しいのですが…
public void Click(XPath locator) { ... }
public void Click(Name locator) { ... }
ただし、WebDriverを使用してこれを実行する最善の方法はわかりません。任意の提案をいただければ幸いです。前もって感謝します。