Skip to main content

A package for interacting with the BrowserStack REST apis

Project description

bsapi

A BrowserStack Rest Api Client

Build Status Documentation Status

Provides wrapper classes for the BrowserStack rest api

Setup


Set your username and key to environment variables.

export BROWSERSTACK_USERNAME = <your username>
export BROWSERSTACK_KEY = <your key>

or set them on the settings object

from bsapi import Settings

Settings.username = <your username>
Settings.password = <your key>

App Automate


Appium


Get the logs for a BrowserStack session

import os
from appium import webdriver
from bsapi.app_automate.appium import AppAutomateSession

username = os.getenv("BROWSERSTACK_USERNAME")
key = os.getenv("BROWSERSTACK_KEY")

desired_caps = {
    "build": "Python Android",
    "device": "Samsung Galaxy S8 Plus",
    "app": "<your app url>",
    "browserstack.networkLogs": "true",
    "browserstack.deviceLogs": "true",
    "browserstack.appiumLogs": "true",
    "browserstack.video": "true"
}

url = f"https://{username}:{key}@hub-cloud.browserstack.com/wd/hub"

driver = webdriver.Remote(url, desired_caps)
session_id = driver.session_id
driver.quit()

session = AppAutomateSession.by_id(session_id)
session.save_session_logs("session.log")
session.save_appium_logs("appium.log")
session.save_device_logs("device.log")
session.save_network_logs("network.log")
session.save_video("session.mp4")

Upload an application to BrowserStack

app = AppsApi.upload_app("MyApp.apk")

Get the badge key for a project

projects = ProjectsApi.recent_projects()
project = [p for p in projects if p.name == "My Project"][0]
badge_key = ProjectsApi.get_badge_key(project.project_id)
badge_markdown = f"[![BrowserStack Status](https://app-automate.browserstack.com/badge.svg?badge_key={badge_key})](https://app-automate.browserstack.com/public-build/{badge_key}?redirect=true)"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bsapi-0.1.6.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bsapi-0.1.6-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

File details

Details for the file bsapi-0.1.6.tar.gz.

File metadata

  • Download URL: bsapi-0.1.6.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.1

File hashes

Hashes for bsapi-0.1.6.tar.gz
Algorithm Hash digest
SHA256 54ac8cfda81e91274758bbb101ed8e471c23a83150e337ad160054a043d0ac21
MD5 6669868df84d214371c6d9f9522a9c3e
BLAKE2b-256 9a2e08107c1243fcf5815c04fc33137a1913d2993038d83a49344ec95af8d23b

See more details on using hashes here.

File details

Details for the file bsapi-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: bsapi-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 32.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.1

File hashes

Hashes for bsapi-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d0d626d1de459ca4be0255025c9787fe8b453086b218a2676b17cd02abda1333
MD5 8094672b992b8d1372a7b978065363b6
BLAKE2b-256 77193fbf7f92492c6d5e926f7c7586ca9463e6bf3fa5884d348ffb52b7ab8038

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page