DesiredCapabilitiesとはテスト実施環境ごとに要求される設定情報で、RemoteWebDriver環境やSelenium Gridなど、様々なOSで異なるブラウザでテストするときなどに用いられます。個々のDesiredCapabilities情報(platform、browserNameなど)を設定するには、「DesiredCapabilities.xxx(ブラウザ名).copy()」の形で、まず初めにブラウザごとのインスタンスを作成していきます。
続いて、作成したインスタンスに対してcapability名と値を設定することでテストをしたいplatformやversionを指定していきます。
下記サンプルでは、Firefoxは、platform:MAC version:53.0.3でテストを実施したいので、Firefoxのインスタンスにcapability名(platform)のキーに対して、値(MAC)を代入していきます。versionに関しても同様に値を代入していきます。
※Capabilitiesについてはこちら
説明
◆メソッド ・ー ◆使用形態 ・desiredcapabilities['platform']、desiredcapabilities['version']など ◆備考 ・setCapability()での可変設定と、DesiredCapabilitie.chrome()などで得られる 固定設定内容を混同しなこと ◆関連項目 ・ブラウザごとのDesiredCapabilitiesを確認する
サンプル
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities #FirefoxのインスタンスにDesiredCapabilities情報を設定 #DesiredCapabilities.FIREFOXはGrobalクラスのインスタンスなのでコピーしてから利用 desiredcapabilities = DesiredCapabilities.FIREFOX.copy() desiredcapabilities['platform'] = "MAC" desiredcapabilities['version'] = "53.0.3" print(desiredcapabilities)
※selenium version 4.1.3で動作確認をしています(ブラウザのUIや属性値などが変更された場合、実行結果が異なる可能性があります)
実行結果
{'browserName': 'firefox', 'version': '53.0.3', 'platform': 'MAC', 'javascriptEnabled': True, 'marionette': True, 'acceptInsecureCerts': True}