seleniumテストコードを書く
テストコードを書いてみます。
って公開用コードを書くのもなんなので、こちらのサイトがとても詳しく解説されています。
段取りとしては
DesiredCapabilitiesを設定してから、WebDriverを起動
WebDriver driver = new RemoteWebDriver(new URL("{ノードURL}"), capability);
URLにアクセス
driver.get({行き先URL});
findElementでロケータを指定してWebElement(コントロールっすね)を取得。
WebElement element = driver.findElement(By.cssLocator("input#hoge"));
んで、そのElementにアクセス
element.sendKeys("こんにちは");
とか
element.click();
ってな感じです。
Webブラウザの自動化テストあるあるで待機時間のおきかたが悩ましいところなのですが、httpリクエスト後の画面表示は、いちおうWebDriverの方で待機してくれるみたいです。Ajax非同期通信的なやつは難しいみたいですが
待機条件の指定とかはこの記事がとても参考になりました。
さらに深いところだとこのページがとても参考になりました。
ExpectedConditionsクラスは、待機条件をピンポイントで指定できるので便利なのですが、これだけでは足りない場合は自分で条件を書いたりしました。
WebDriver Wait Commands | Assert Selenium
ここまでで、基本的なブラウザ・アクセスはできるようになったので
次にちょっと踏み込んだところに言ってみたいと思います。