説明
Capabilitiesとはブラウザの設定情報を意味し、DesiredCapabilitiesはテスト実施環境ごとに要求される設定情報を示します。DesiredCapabilitiesは主に、様々なOS上で異なるブラウザでテストする場合(RemoteWebDriver環境やSelenium GridやAppium)で設定する必要があります。どのブラウザに対して、何のプラットフォームでテストを実施するかなどを(RemoteWebDriverサーバーやAppiumサーバーに対して)指定することで個々のノードごとに独立してテストを実施することが出来ます。
以下、Selenium Javaを例として話を進めていきます。設定情報をまとまった単位で取得したい場合は、RemoteWebDriverクラスのメソッドであるgetCapabilities()でブラウザ情報をまとめて取得することが出来ます。戻り値の型はCapabilitiesとなります。
下記の表は、getCapabilities()で取得できるブラウザ設定情報(一部抜粋)に関してまとめたものです。
capabilityName | value | comment |
applicationCacheEnabled | true または false | アプリケーションキャッシュの利用可否 |
rotatable | true または false | 回転可能可否 |
handlesAlerts | true または false | モーダルポップアップの利用可否 |
databaseEnabled | true または false | データベースの利用可否 |
version | string | ブラウザのバージョン |
platform | string | ブラウザが動作するプラットフォーム |
nativeEvents | true または false | ブラウザ内においてマウスとキーボード入力シミュレートの利用可否 |
acceptSslCerts | true または false | SSL証明書を許可すべきかどうか |
webStorageEnabled | true または false | webStorageの利用可否 |
locationContextEnabled | true または false | ブラウザ位置環境の参照可否 |
browserName | string | ブラウザ名 |
takesScreenshot | true または false | ブラウザのスクリーンショット利用可否 |
javascriptEnabled | true または false | カレントページのjavascript利用可否 |
cssSelectorsEnabled | true または false | 要素検索にてcssSelectorの利用可否 |
mobileEmulationEnabled | true または false | デスクトップ版Chromeからモバイル機器Chromeの利用可否(エミュレートが可能かどうか) |
takesHeapSnapshot | true または false |
メモリーリークを見つける為のヒープのスナップショット取得機能の利用可否 |
また、capabilityName「platform」(Enum Platform)には以下が定義されています。
ANDROID:public static final Platform ANDROID
ANY:public static final Platform ANY
EL_CAPITAN:public static final Platform EL_CAPITAN
LINUX: public static final Platform LINUX
MAC :public static final Platform MAC
MAVERICKS :public static final Platform MAVERICKS
MOUNTAIN_LION :public static final Platform MOUNTAIN_LION
SNOW_LEOPARD :public static final Platform SNOW_LEOPARD
UNIX :public static final Platform UNIX
VISTA :public static final Platform VISTA
WIN10 :public static final Platform WIN10
WIN8 :public static final Platform WIN8
WIN8_1 :public static final Platform WIN8_1
WINDOWS :public static final Platform WINDOWS
XP :public static final Platform XP
YOSEMITE :public static final Platform YOSEMITE