ドキュメント
- Quick Start: クイックスタート
- Documentation: 基本的な使い方
- Page Objects: PageObjectデザイパターンの例
- フィールドを使用するパターンもあるが、こちらは推奨していない模様。
- Page Objects: PageObjectデザイパターンの例
- FAQ: FAQ
- Javadoc
設定(Configuration)
いずれもシステムプロパティでも設定可能。
タイムアウト
Configuration#timeoutにミリ秒で値を代入する。デフォルトは4000(4秒)。
ブラウザの指定
Configuration#browserに値を代入する。デフォルトはfirefox。 主要ブラウザの値は以下。小文字で指定する。
- chrome
- firefox
- ie
- safari
- edge
最大化
デフォルトでは最大化して起動するが、これを止めるには、 Configuration#startMaximizedにfalseを入れる。
API
よく使いそうなもの。
- open(String URL)
- $(String cssSelector): CSSセレクタによる指定
- $(By): Selenium WebDriverのByによる指定による指定による指定による指定
- $$: $が先頭の要素を返すのに対し、$$はコレクション(ElementsCollectionを返します。
- アサーション
- shouldで始まるメソッド(SelenideElement参照)
- Condition
- HamcrestライクなAPIデスね。。。
Window / Tabの切替
以下のように書きます。
switchTo().window(ウィンドウハンドル or タイトル);
詳細は、以下のテストコードを参考にしてください。
https://github.com/codeborne/selenide/blob/master/src/test/java/integration/TabsTest.java#L27
ブラウザによって挙動が違うためか、Selenideのサポートがないようです。
また、ウィンドウハンドルの取得は タイミングによって上手く動かないことがあったため、 タイトルで取得する方が確実かなと思います。