Program
UAを切り替えたSelenium ChromeDriverで自動テスト
こんばんは、ころすけ(@wg_koro)です。
以前、Androidの実機でSelenium自動テストを走らせる方法を書きましたが、あれはちょっとめんどいですね。
今度はもうちょっとお手軽にモバイルWebアプリをテストします。
ChromeのUser agentを変更して使う
Chrome DriverはUser agentを変更して起動させることができます。今回はこれをやってみます。あ、スクリプトはPythonで書いていマス。
やり方は簡単。webdriverにOptionを食わせるだけ。
OptionにUser agentを指定します。(今回はiPhoneを指定しました)
1 2 3 4 5 6 7 8 |
import os from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('--user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25') driver = webdriver.Chrome(chrome_options=options) driver.get("http://www.yahoo.co.jp/") |
これでiPhoneのUAを持ったChromeが立ち上がります。
もちろん、javascriptの実行や画面キャプチャー撮影もOK。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# キャプチャー current = os.path.realpath(os.path.dirname(__file__)) driver.get_screenshot_as_file(os.path.join(current, 'test.png')) # js実行 javascript = u""" var hage = 'テスト!'; function hogeFuga(str){ alert(str); } hogeFuga(hage); """ driver.execute_script(javascript) |
そういえばほぼ同じスクリプトで実機も自動操縦できます。UA偽装したChromeでざくっとテストして、最終テストは実機で行う、というのが簡単にできますね。うーむ、楽だ。
関連記事
2013年03月22日 | Posted in Program | No Comments »
コメントを残す