[Python,Selenium]BrowserStack 設定内容のメモ

PythonでSeleniumを動かして、BrowserStackと連携させる方法は、以下の公式ページに記載されています。
https://www.browserstack.com/automate/python

書いてあることをそのままやったつもりが理解不足で、はまったところをメモしていきます。
書いてみるとしょーもないハマり方をしていたりしますが、きっと疲れていたのだと思います。

■前提

  • localhostで作ったサイトに対して、動作確認できるようにする (www.google.comのような外部ではなく)
  • ローカルテスト環境:MacOSX10.11
  • 本番テスト環境:CircleCI(Ubuntu12.04)
  1. 実行する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()
  2. BrowserStackLocalのバイナリは、環境にあったものを使う

    $ ./BrowserStackLocal "xxxAccesskeyxxx"

    mac、Linuxで異なる。もしLinux環境でMac用のバイナリを実行しようとすると以下のエラーが発生する

    -bash: /Users/test/BrowserStackLocal: cannot execute binary file

    #クロスコンパイラlinux開発経験者ならこの手のエラーは覚えておきたかった。すっかり忘れていました。。。

その他、それぞれのサイトへのurl
https://www.browserstack.com

コメント

タイトルとURLをコピーしました