Selenium
Groovy
gradle
Geb
GebDay 8

モバイルとPC用のサイトを両方テストする時のTIPs

More than 1 year has passed since last update.


はじめに

これは Geb Advent Calendar 2016の8日目の記事です。

前日は「Gebでモバイルブラウザのテストをする」でした。

今日は昨日のエントリーの続きで、モバイルとPC用のサイトを両方テストする時の方法書きます。


TIPs


モバイルとPCのサイトを両方テストできるようにしておきたい!

そんな時は、環境変数によって切り替えられるようにしておきましょう。

例えば下記のような感じ。詳しい説明は昨日のエントリーへ。


GebConfig.groovy

// geb.envにchromeを設定すればPCで実行

chrome { new ChromeDriver() }

// geb.envにchromeMobileを設定すればモバイル版で実行
chromeMobile {
def mobileEmulation = [:]
mobileEmulation.put("deviceName", "Google Nexus 5")

def chromeOptions = [:]
chromeOptions.put("mobileEmulation", mobileEmulation)
def capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver = new ChromeDriver(capabilities);
}


Gradleとか使っている場合は、こんな感じでそれ用のタスクを切っておくと良いかと思います。


モバイルだけ実行するテストがある!

そんな時はSpockの@IgnoreIfという機能を使いましょう。

これは特定の条件に応じて、テストの実行をスキップできる機能です。

例えばこんな風に使ったりできます。

@IgnoreIf({ System.getProperty("geb.env") && System.getProperty("geb.env").equalsIgnoreCase("chrome")})

def "PC版のchromeの時は無視するテスト"() {
// 略


まとめ

モバイルとPC版のテスト、両方できるよー!