Skip to content

Instantly share code, notes, and snippets.

@dgrebb
Created January 29, 2014 19:51
Show Gist options
  • Save dgrebb/8695622 to your computer and use it in GitHub Desktop.
Save dgrebb/8695622 to your computer and use it in GitHub Desktop.
Python script automates Browserstack screengrabbing
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import simplejson
# Set up an array of the browsers we test on
browser_array = [
{'browser': 'IE', 'browser_version': '8.0', 'os': 'Windows', 'os_version': '7', 'resolution': '1024x768'},
{'browser': 'IE', 'browser_version': '9.0', 'os': 'Windows', 'os_version': '7', 'resolution': '1024x768'},
{'browser': 'IE', 'browser_version': '10.0', 'os': 'Windows', 'os_version': '8', 'resolution': '1024x768'},
{'browser': 'IE', 'browser_version': '11.0', 'os': 'Windows', 'os_version': '8.1', 'resolution': '1024x768'},
{'browser': 'Opera', 'browser_version': '12.15', 'os': 'Windows', 'os_version': '8.1', 'resolution': '1024x768'},
{'browser': 'Firefox', 'browser_version': '26.0', 'os': 'Windows', 'os_version': '8.1', 'resolution': '1024x768'},
{'browser': 'Safari', 'browser_version': '5.1', 'os': 'Windows', 'os_version': '8.1', 'resolution': '1024x768'},
{'browser': 'Chrome', 'browser_version': '31.0', 'os': 'Windows', 'os_version': '8.1', 'resolution': '1024x768'},
{'browser': 'Opera', 'browser_version': '12.16', 'os': 'Windows', 'os_version': '8.1', 'resolution': '1024x768'},
{'browser': 'Safari', 'browser_version': '7.0', 'os': 'OS X', 'os_version': 'Mavericks', 'resolution': '1024x768'},
{'browser': 'Firefox', 'browser_version': '26.0', 'os': 'OS X', 'os_version': 'Mavericks', 'resolution': '1024x768'},
{'browser': 'Chrome', 'browser_version': '31.0', 'os': 'OS X', 'os_version': 'Mavericks', 'resolution': '1024x768'},
{'browser': 'Opera', 'browser_version': '12.15', 'os': 'OS X', 'os_version': 'Mavericks', 'resolution': '1024x768'},
{'browserName': 'iPhone', 'platform': 'MAC', 'device': 'iPhone 4S (6.0)'},
{'browserName': 'iPhone', 'platform': 'MAC', 'device': 'iPhone 5S'},
{'browserName': 'iPad', 'platform': 'MAC', 'device': 'iPad 2 (5.0)'},
{'browserName': 'iPad', 'platform': 'MAC', 'device': 'iPad 3rd (7.0)'},
{'browserName': 'iPad', 'platform': 'MAC', 'device': 'iPad Mini'},
{'browserName': 'android', 'platform': 'ANDROID', 'device': 'Samsung Galaxy S III'},
{'browserName': 'android', 'platform': 'ANDROID', 'device': 'Motorola Atrix HD'},
{'browserName': 'android', 'platform': 'ANDROID', 'device': 'HTC Evo 3D'},
{'browserName': 'android', 'platform': 'ANDROID', 'device': 'Sony Xperia Tipo'},
{'browserName': 'android', 'platform': 'ANDROID', 'device': 'LG Nexus 4'}
]
# Function tests the page and saves screenshots
def browserRenderLoginPage():
driver.get("http://dgrebb.com")
if not "Dan Grebb" in driver.title:
raise Exception("Unable to load the page!")
driver.save_screenshot(driver.title + ' ' + browser + '.png')
print browser + ' ' + driver.title
driver.quit()
# Loop through the array of browsers andn run each test
m=0
for i in range(len(browser_array)):
desired_cap = browser_array[i]
driver = webdriver.Remote(
command_executor='http://YourName:YourAPIKey@hub.browserstack.com:80/wd/hub',
desired_capabilities=desired_cap)
browser = driver.capabilities['platform'] + ' ' + driver.capabilities['browserName'] + ' ' + driver.capabilities['version']
browserRenderLoginPage()
print 'Done!'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment