PythonでSeleniumを動かして、BrowserStackと連携させる方法は、以下の公式ページに記載されています。
https://www.browserstack.com/automate/python
書いてあることをそのままやったつもりが理解不足で、はまったところをメモしていきます。
書いてみるとしょーもないハマり方をしていたりしますが、きっと疲れていたのだと思います。
■前提
- localhostで作ったサイトに対して、動作確認できるようにする (www.google.comのような外部ではなく)
- ローカルテスト環境:MacOSX10.11
- 本番テスト環境:CircleCI(Ubuntu12.04)
実行するPythonファイル内で記述するdesired_capに項目追加が必要
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.desired_capabilities import DesiredCapabilities #desired_cap = {'os': 'Windows', 'os_version': 'xp', 'browser': 'IE', 'browser_version': '7.0' } desired_cap = {'browser': 'IE', 'browser_version': '11.0', 'os': 'Windows', 'os_version': '8.1', 'local': 'True'} # localでの動作確認を行うために必要、上の行に一緒に記載できそうだけど未確認です。 desired_cap['browserstack.local'] = True driver = webdriver.Remote( command_executor='http://UserName:AccessKey@hub.browserstack.com:80/wd/hub', desired_capabilities=desired_cap) #driver.get("http://www.google.com") driver.get("http://localhost/") #if not "Google" in driver.title: # raise Exception("Unable to load google page!") #elem = driver.find_element_by_id("UserEmail") #elem.send_keys("BrowserStack") #elem.submit() print driver.title driver.quit()
BrowserStackLocalのバイナリは、環境にあったものを使う
$ ./BrowserStackLocal "xxxAccesskeyxxx"
mac、Linuxで異なる。もしLinux環境でMac用のバイナリを実行しようとすると以下のエラーが発生する
-bash: /Users/test/BrowserStackLocal: cannot execute binary file
#クロスコンパイラlinux開発経験者ならこの手のエラーは覚えておきたかった。すっかり忘れていました。。。
その他、それぞれのサイトへのurl
https://www.browserstack.com
Continuous Integration and DeliveryGet the best continuous integration and delivery (CI/CD), in our cloud or on your own infrastructure. Start for free and...
コメント