{"id":14978867,"url":"https://github.com/testingbot/testingbotclient","last_synced_at":"2025-10-28T13:31:27.436Z","repository":{"id":54422925,"uuid":"46109627","full_name":"testingbot/testingbotclient","owner":"testingbot","description":"Python library to use the TestingBot API","archived":false,"fork":false,"pushed_at":"2024-04-30T14:28:34.000Z","size":40,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-29T02:05:45.115Z","etag":null,"topics":["python","testingbot","testingbot-api","webdriver","webdriver-python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/testingbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-13T08:29:43.000Z","updated_at":"2024-04-30T14:27:04.000Z","dependencies_parsed_at":"2024-09-28T02:04:19.099Z","dependency_job_id":"350623cf-d071-427e-bf22-f4d5a1afbc24","html_url":"https://github.com/testingbot/testingbotclient","commit_stats":{"total_commits":43,"total_committers":3,"mean_commits":"14.333333333333334","dds":0.5116279069767442,"last_synced_commit":"770a27a2005836a1723abebb0b9eaebf0fc25fe2"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingbot%2Ftestingbotclient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingbot%2Ftestingbotclient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingbot%2Ftestingbotclient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingbot%2Ftestingbotclient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/testingbot","download_url":"https://codeload.github.com/testingbot/testingbotclient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219859520,"owners_count":16556036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","testingbot","testingbot-api","webdriver","webdriver-python"],"created_at":"2024-09-24T13:58:33.290Z","updated_at":"2025-10-28T13:31:22.169Z","avatar_url":"https://github.com/testingbot.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPI version](https://badge.fury.io/py/testingbotclient.svg)](https://badge.fury.io/py/testingbotclient)\n\n# testingbotclient\n\nPython client for TestingBot REST API\n\n## Install\n\n```shell\npip install testingbotclient\n```\n\n## TestingBot\n[TestingBot](https://testingbot.com/) allows you to run Selenium tests in the cloud.\nWith access to over +2600 different browser/device combinations, you can run your browser and mobile tests in parallel on the TestingBot Grid.\n\n## Getting Started\n\n```python\nimport testingbotclient\n\ntb = testingbotclient.TestingBotClient('key', 'secret')\n```\n\nIt is also possible to use `TESTINGBOT_KEY` and `TESTINGBOT_SECRET` environment variables instead of specifying these in the TestingBotClient constructor. Or use a `~/.testingbot` file with `key:secret`.\n\n\n*All API methods can throw these exceptions:*\n\n```python\nTestingBotException(errorMessage)\n```\n\n### getBrowsers\nRetrieves collection of available browsers\n\u003chttps://testingbot.com/support/api\u003e\n\n\n```python\ntestingbotclient.information.get_browsers()\n```\n\n### getDevices\nRetrieves collection of devices\n\u003chttps://testingbot.com/support/api#devices\u003e\n\n```python\ntestingbotclient.information.get_devices()\n```\n\n### getAvailableDevices\nRetrieves collection of devices currently available\n\u003chttps://testingbot.com/support/api#available-devices\u003e\n\n```python\ntestingbotclient.information.get_available_devices()\n```\n\n### getDevice\nRetrieves information for a specific device\n\u003chttps://testingbot.com/support/api#devicedetails\u003e\n\n```python\ntestingbotclient.information.get_device(deviceId)\n```\n\n### updateTest\nUpdate meta-data for a test\n\u003chttps://testingbot.com/support/api#updatetest\u003e\n\n- `String` status_message\n- `boolean` success\n- `String` build\n- `String` name\n\n\n```python\ntestingbotclient.tests.update_test(sessionId, status_message=.., passed=1|0, build=.., name=..)\n```\n\n### stopTest\nStops a running test\n\u003chttps://testingbot.com/support/api#stoptest\u003e\n\n\n```python\ntestingbotclient.tests.stop_test(sessionId)\n```\n\n### deleteTest\nDeletes a test from TestingBot\n\u003chttps://testingbot.com/support/api#deletetest\u003e\n\n\n```python\ntestingbotclient.tests.delete_test(sessionId)\n```\n\n### getTest\nRetrieves information regarding a test\n\u003chttps://testingbot.com/support/api#singletest\u003e\n\n\n```python\ntestingbotclient.tests.get_test(sessionId)\n```\n\n### getTests\nRetrieves a collection of tests\n\u003chttps://testingbot.com/support/api#tests\u003e\n\n\n```python\ntestingbotclient.tests.get_tests(offset=0, limit=30)\n```\n\n### getBuilds\nRetrieves a collection of builds\n\u003chttps://testingbot.com/support/api#builds\u003e\n\n\n```python\ntestingbotclient.build.get_builds(offset=0, limit=30)\n```\n\n### getTestsForBuild\nRetrieves a collection of tests for a specific build\n\u003chttps://testingbot.com/support/api#singlebuild\u003e\n\n\n```python\ntestingbotclient.build.get_tests_for_build(buildId)\n```\n\n### deleteBuild\nDeletes a specific build\n\u003chttps://testingbot.com/support/api#deletebuild\u003e\n\n\n```python\ntestingbotclient.build.delete_build(buildId)\n```\n\n### getUserConfig\nRetrieves information about the current user\n\u003chttps://testingbot.com/support/api#user\u003e\n\n\n```python\ntestingbotclient.user.get_user_information()\n```\n\n### updateUser\nUpdates information about the current user\n\u003chttps://testingbot.com/support/api#useredit\u003e\n\n\n```python\ntestingbotclient.user.update_user_information(userInformation)\n```\n\n### getTunnels\nRetrieves tunnels for the current user\n\u003chttps://testingbot.com/support/api#apitunnellist\u003e\n\n\n```python\ntestingbotclient.tunnel.get_tunnels()\n```\n\n### deleteTunnel\nDeletes/stops a specific tunnel for the current user\n\u003chttps://testingbot.com/support/api#apitunneldelete\u003e\n\n\n```python\ntestingbotclient.tunnel.delete_tunnel(tunnelId)\n```\n\n### uploadToStorage - Local File\nUploads a local file to TestingBot Storage\n\u003chttps://testingbot.com/support/api#upload\u003e\n\n\n```python\ntestingbotclient.storage.upload_local_file(localFilePath)\n```\n\n### uploadToStorage - Remote File\nUploads a remote file to TestingBot Storage\n\u003chttps://testingbot.com/support/api#upload\u003e\n\n\n```python\ntestingbotclient.storage.upload_remote_file(localFilePath)\n```\n\n### getStoredFile\nRetrieves meta-data from a previously stored file\n\u003chttps://testingbot.com/support/api#uploadfile\u003e\n\n\n```python\ntestingbotclient.storage.get_stored_file(appUrl)\n```\n\n### getStoredFiles\nRetrieves meta-data from previously stored files\n\u003chttps://testingbot.com/support/api#filelist\u003e\n\n\n```python\ntestingbotclient.storage.get_stored_files(offset=0, limit=30)\n```\n\n### deleteStorageFile\nDeletes a file previously stored in TestingBot Storage\n\u003chttps://testingbot.com/support/api#filedelete\u003e\n\n\n```python\ntestingbotclient.storage.remove_file(appUrl)\n```\n\n### get_share_link\nCalculates the authenticationHash necessary to share tests\n\u003chttps://testingbot.com/support/other/sharing\u003e\n\n\n```python\ntestingbotclient.get_share_link(sessionId)\n```\n\n## Test\n\n```python\npython tests/test_client.py\n```\n\n## More documentation\n\nCheck out the [TestingBot REST API](https://testingbot.com/support/api) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestingbot%2Ftestingbotclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftestingbot%2Ftestingbotclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestingbot%2Ftestingbotclient/lists"}