昨日に引き続きSelenium2.0です。Web画面の操作からテストコードを作成してくれるSelenium IDEを調べようと思ったのですが、ちょっぴりショックなことがありました。Selenium2.0からC#でもテストコードが書けるようになったので、そちらの検証を先に書きます。ショックなことは最後に。
ダウンロードする
- 今は2.4.1が最新
- 好きな場所に解凍する
VisualStuidoで新規プロジェクトを作成する
- C#コンソールアプリケーションプロジェクト作成
- プロジェクト名はSeleniumSampleがおすすめ
プロジェクトの参照設定にダウンロードした全dllを追加
- プロジェクトを右クリックして「参照の追加(R)」
- 「参照」タブを選択してダウンロードしたdllを選択して「OK」をクリック
ソースを追加
昨日とほぼ一緒です。
using System; using OpenQA.Selenium; using OpenQA.Selenium.IE; namespace SeleniumSample { class Program { static void Main(string[] args) { IWebDriver driver = new InternetExplorerDriver(); driver.Url= "http://google.com"; IWebElement element = driver.FindElement(By.Name("q")); element.SendKeys("Cheese!"); element.Submit(); Console.WriteLine("Page title is: " + driver.Title); } } }
デバッグで起動するとInternetExplorerが起動して、Googleで「Cheese!」を検索します。
C#だとGetメソッドとGetTitleメソッドが、それぞれUrlプロパティとTtileプロパティになってかっこいいです。
例外が出てIEが起動できない場合
InvalidOperationException 例外が出てIEが起動できないことがあります。Messageの内容は以下。
Unexpected error launching Internet Explorer. Protected Mode must be set to the same value (enabled or disabled) for all zones. (NoSuchDriver)
InternetExplorerの保護モードを有効にすると起動できます。すべてのゾーン(インターネット、ローカルイントラネット、信頼済みサイト、制限付きサイト)の保護モードを有効にする必要があります。