---
title: Selenium GitHub repositories for TestingBot | TestingBot
description: 'Open-source TestingBot repositories on GitHub: Selenium and Appium client
  libraries, framework integrations, the TestingBot Tunnel binary, and example projects
  in Java, Python, Ruby, Node.js, PHP and C#.'
source_url:
  html: https://testingbot.com/support/other/github
  md: https://testingbot.com/support/other/github.md
---

#### Intro

  - [API Clients](https://testingbot.com/support/api#clients)
  - [Authentication](https://testingbot.com/support/api#authentication)
  - [Rate limits](https://testingbot.com/support/api#rate-limits)

#### Browsers & devices
[GET List of browsers](https://testingbot.com/support/api/devices#browsers)
#### User

  - [GET Access your user info](https://testingbot.com/support/api/user#user)
  - [PUT Edit your user info](https://testingbot.com/support/api/user#useredit)
  - [GET Get your API key and secret](https://testingbot.com/support/api/user#get-user-keys)

#### Team Management

  - [GET Get Team Info](https://testingbot.com/support/api/user#team)
  - [GET Get users in your team](https://testingbot.com/support/api/user#users)
  - [GET Retrieve a specific user in your team](https://testingbot.com/support/api/user#userteam)
  - [POST Create a user in your team](https://testingbot.com/support/api/user#createuser)
  - [PUT Update a user in your team](https://testingbot.com/support/api/user#updateuser)
  - [POST Reset credentials for a specific user in your team](https://testingbot.com/support/api/user#resetkeys)
  - [GET List service accounts](https://testingbot.com/support/api/user#serviceaccounts)
  - [GET Retrieve a service account](https://testingbot.com/support/api/user#serviceaccount)
  - [POST Create a service account](https://testingbot.com/support/api/user#createserviceaccount)
  - [PUT Update a service account](https://testingbot.com/support/api/user#updateserviceaccount)
  - [POST Rotate a service account key](https://testingbot.com/support/api/user#rotateserviceaccount)
  - [DEL Delete a service account](https://testingbot.com/support/api/user#deleteserviceaccount)
  - [GET Get a team user's client key](https://testingbot.com/support/api/user#get-team-management-users-id-client-key)

#### Tests

  - [GET Retrieve your tests](https://testingbot.com/support/api/tests#tests)
  - [GET Specific test info](https://testingbot.com/support/api/tests#singletest)
  - [PUT Update a test](https://testingbot.com/support/api/tests#updatetest)
  - [DEL Delete test](https://testingbot.com/support/api/tests#deletetest)
  - [PUT Stop test](https://testingbot.com/support/api/tests#stoptest)
  - [POST Create a test record (manual sessions)](https://testingbot.com/support/api/tests#post-tests)
  - [POST Update a test (POST alias)](https://testingbot.com/support/api/tests#post-tests-id)

#### Builds

  - [GET Retrieve all builds](https://testingbot.com/support/api/tests#builds)
  - [GET Tests for a build](https://testingbot.com/support/api/tests#singlebuild)
  - [DEL Delete a build](https://testingbot.com/support/api/tests#deletebuild)
  - [POST Link a build to a commit for CI status checks](https://testingbot.com/support/api/tests#post-builds-id-ci)
  - [PUT Report a CI status-check build as finished](https://testingbot.com/support/api/tests#put-builds-id-ci)

#### Insights

  - [GET Test trends](https://testingbot.com/support/api/insights#insights-trends)
  - [GET Test summary](https://testingbot.com/support/api/insights#insights-summary)
  - [GET Top failure messages](https://testingbot.com/support/api/insights#insights-errors)
  - [GET Test cases](https://testingbot.com/support/api/insights#insights-testcases)
  - [GET Filter values](https://testingbot.com/support/api/insights#insights-filters)

#### Devices

  - [GET Retrieve all Devices](https://testingbot.com/support/api/devices#devices)
  - [GET Retrieve available Devices](https://testingbot.com/support/api/devices#available-devices)
  - [GET Device Details](https://testingbot.com/support/api/devices#devicedetails)

#### Screenshots

  - [POST Take screenshots](https://testingbot.com/support/api/screenshots#takescreenshots)
  - [GET Retrieve screenshots](https://testingbot.com/support/api/screenshots#retrievescreenshots)
  - [GET Screenshot history](https://testingbot.com/support/api/screenshots#listscreenshots)

#### Tunnel

  - [POST TestingBot Tunnel List](https://testingbot.com/support/api/tunnel#apitunnellist)
  - [DEL TestingBot Tunnel Delete](https://testingbot.com/support/api/tunnel#apitunneldelete)
  - [GET Get the user's active tunnel](https://testingbot.com/support/api/tunnel#get-tunnel)
  - [DEL Stop the user's active tunnel](https://testingbot.com/support/api/tunnel#delete-tunnel)
  - [POST Create a tunnel](https://testingbot.com/support/api/tunnel#post-tunnel-create)
  - [GET Liveness check](https://testingbot.com/support/api/tunnel#get-tunnel-isalive-check)
  - [GET Get a specific tunnel](https://testingbot.com/support/api/tunnel#get-tunnel-id)

#### Codeless Automation Tests

  - [GET List Codeless Tests](https://testingbot.com/support/api/codeless#listlab)
  - [GET Specific Codeless test info](https://testingbot.com/support/api/codeless#labtest)
  - [POST Create a Codeless test](https://testingbot.com/support/api/codeless#createtest)
  - [DEL Delete Codeless test](https://testingbot.com/support/api/codeless#labtestdelete)
  - [PUT Update Codeless test](https://testingbot.com/support/api/codeless#labtestupdate)
  - [POST Schedule Codeless Test](https://testingbot.com/support/api/codeless#labtestschedule)
  - [POST Codeless Test Alert](https://testingbot.com/support/api/codeless#labtestalert)
  - [POST Codeless Test Report](https://testingbot.com/support/api/codeless#labtestreport)
  - [POST Modify Test Steps](https://testingbot.com/support/api/codeless#labteststeps)
  - [GET List Test Steps](https://testingbot.com/support/api/codeless#labteststepslist)
  - [GET Get Browsers for Test](https://testingbot.com/support/api/codeless#labtestbrowsers)
  - [POST Update Browsers for Test](https://testingbot.com/support/api/codeless#labtestbrowsersupdate)
  - [POST Run a specific Codeless test](https://testingbot.com/support/api/codeless#runlabtest)
  - [PUT Stop a specific Codeless test](https://testingbot.com/support/api/codeless#stoplabtest)
  - [POST Run all Codeless tests](https://testingbot.com/support/api/codeless#runlabtests)
  - [GET Test Job](https://testingbot.com/support/api/codeless#testjob)
  - [POST Webhook](https://testingbot.com/support/api/codeless#apicallback)
  - [PUT Update an existing alert](https://testingbot.com/support/api/codeless#put-lab-id-alert)
  - [PUT Update a daily report config](https://testingbot.com/support/api/codeless#put-lab-id-report)

#### TestLab Suites

  - [GET List Codeless Suites](https://testingbot.com/support/api/codeless#suites)
  - [GET Get Codeless Suite Details](https://testingbot.com/support/api/codeless#suite)
  - [POST Run a specific Codeless suite](https://testingbot.com/support/api/codeless#runlabsuite)
  - [POST Create a Codeless Suite](https://testingbot.com/support/api/codeless#createtesuite)
  - [POST Delete a Codeless Suite](https://testingbot.com/support/api/codeless#deletesuite)
  - [GET Get Browsers for Codeless Suite](https://testingbot.com/support/api/codeless#suitebrowsers)
  - [POST Update Browsers for Codeless Suite](https://testingbot.com/support/api/codeless#updatesuitebrowsers)
  - [GET Get tests for a Codeless Suite](https://testingbot.com/support/api/codeless#suitetests)
  - [POST Add tests to a Codeless Suite](https://testingbot.com/support/api/codeless#addsuitetests)
  - [DEL Remove tests from a Codeless Suite](https://testingbot.com/support/api/codeless#removesuitetests)

#### Webhooks

  - [GET List your webhooks](https://testingbot.com/support/api/webhooks#webhooks)
  - [GET Get a specific webhook](https://testingbot.com/support/api/webhooks#webhook)
  - [POST Create a webhook](https://testingbot.com/support/api/webhooks#createwebhook)
  - [PUT Update a webhook](https://testingbot.com/support/api/webhooks#updatewebhook)
  - [DEL Delete a webhook](https://testingbot.com/support/api/webhooks#deletewebhook)
  - [POST Rotate a signing secret](https://testingbot.com/support/api/webhooks#rotatewebhooksecret)
  - [POST Send a test delivery](https://testingbot.com/support/api/webhooks#testwebhook)

#### TestingBot Storage

  - [POST Upload to Storage](https://testingbot.com/support/api/storage#upload)
  - [POST Update uploaded File](https://testingbot.com/support/api/storage#uploadupdate)
  - [GET Uploaded File Data](https://testingbot.com/support/api/storage#uploadfile)
  - [GET Uploaded files List](https://testingbot.com/support/api/storage#filelist)
  - [DEL Delete a file from Storage](https://testingbot.com/support/api/storage#filedelete)

#### Configuration

  - [GET IP Ranges for whitelisting](https://testingbot.com/support/api/devices#ipranges)

#### App Automate: Maestro

  - [GET List your Maestro projects](https://testingbot.com/support/api/app-automate#get-app-automate-maestro)
  - [POST Upload an Android/iOS app for Maestro](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-app)
  - [POST Check whether an app needs uploading](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-app-checksum)
  - [POST Upload additional apps for a Maestro session](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-other-apps)
  - [GET List your Maestro runs](https://testingbot.com/support/api/app-automate#get-app-automate-maestro-runs)
  - [GET Look up Maestro runs by build name](https://testingbot.com/support/api/app-automate#get-app-automate-maestro-runs-build-name)
  - [GET Get a Maestro project](https://testingbot.com/support/api/app-automate#get-app-automate-maestro-id)
  - [POST Run a Maestro app flow](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-id-run)
  - [POST Append a step to a Maestro run](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-id-step)
  - [POST Upload a Maestro test bundle](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-id-tests)
  - [GET Get a specific Maestro run](https://testingbot.com/support/api/app-automate#get-app-automate-maestro-project-id-id)
  - [POST Cancel a Maestro run](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-project-id-run-id-cancel)
  - [GET Get a Maestro flow result](https://testingbot.com/support/api/app-automate#get-app-automate-maestro-project-id-run-id-flow-flow-id)
  - [GET Maestro run HTML report](https://testingbot.com/support/api/app-automate#get-app-automate-maestro-project-id-run-id-html-report)
  - [GET Maestro run detailed HTML report](https://testingbot.com/support/api/app-automate#get-app-automate-maestro-project-id-run-id-html-report-detailed)
  - [GET Maestro run JUnit report](https://testingbot.com/support/api/app-automate#get-app-automate-maestro-project-id-run-id-junit-report)
  - [POST Retry a Maestro run](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-project-id-run-id-retry)
  - [POST Stop a Maestro run](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-project-id-run-id-stop)
  - [POST Retry a Maestro flow](https://testingbot.com/support/api/app-automate#post-app-automate-maestro-project-id-run-id-flow-id-retry)

#### App Automate: Espresso

  - [POST Upload an Android app for Espresso](https://testingbot.com/support/api/app-automate#post-app-automate-espresso-app)
  - [GET Get an Espresso project](https://testingbot.com/support/api/app-automate#get-app-automate-espresso-id)
  - [GET Get the Espresso JUnit report](https://testingbot.com/support/api/app-automate#get-app-automate-espresso-id-report)
  - [POST Run an Espresso test suite](https://testingbot.com/support/api/app-automate#post-app-automate-espresso-id-run)
  - [POST Upload Espresso test APK](https://testingbot.com/support/api/app-automate#post-app-automate-espresso-id-tests)
  - [GET Get a specific Espresso run](https://testingbot.com/support/api/app-automate#get-app-automate-espresso-project-id-id)

#### App Automate: XCUITest

  - [POST Upload an iOS app for XCUITest](https://testingbot.com/support/api/app-automate#post-app-automate-xcuitest-app)
  - [GET Get an XCUITest project](https://testingbot.com/support/api/app-automate#get-app-automate-xcuitest-id)
  - [GET Get the XCUITest JUnit report](https://testingbot.com/support/api/app-automate#get-app-automate-xcuitest-id-report)
  - [POST Run an XCUITest suite](https://testingbot.com/support/api/app-automate#post-app-automate-xcuitest-id-run)
  - [POST Upload XCUITest test bundle](https://testingbot.com/support/api/app-automate#post-app-automate-xcuitest-id-tests)
  - [GET Get a specific XCUITest run](https://testingbot.com/support/api/app-automate#get-app-automate-xcuitest-project-id-id)
  - [GET XCUITest run HTML report](https://testingbot.com/support/api/app-automate#get-app-automate-xcuitest-project-id-run-id-html-report)
  - [GET XCUITest run JUnit report](https://testingbot.com/support/api/app-automate#get-app-automate-xcuitest-project-id-run-id-junit-report)

# Selenium Example GitHub Repositories

* * *

We use GitHub to host our repositories of the plugins/code we offer.   
 Below is a list of the GitHub repositories we maintain:

- [Selenium Hub/Grid built in nodeJS and used in production on TestingBot.com](https://github.com/testingbot/node-seleniumgrid)
- [JUnit for Selenium Testing with TestingBot](https://github.com/testingbot/testingbot_junit)
- [PyUnit for Selenium Testing with TestingBot](https://github.com/testingbot/testingbot_pyunit)
- [Test::Unit/RSpec for Selenium Testing with TestingBot](https://github.com/testingbot/testingbot_ruby)
- [TestingBot PEAR channel for PHPUnit testing](https://github.com/testingbot/pear)
- [NodeJS plugin for Selenium Testing with TestingBot](https://github.com/testingbot/soda)
- [Our Open-Sourced Selenium screenshot code](https://github.com/testingbot/Selenium-Screenshots)
- [TestingBot Tunnel - run tests on your local machine](https://github.com/testingbot/Testingbot-Tunnel)
