Table of Contents
AUTOMATE API

Session

Each executed build is composed of one or more test sessions. Each session has a unique identifier (session ID) associated with it. Using this session ID, you can use our REST API to access its test execution details including test results and debugging information for each individual test.

Required: You need session-id to invoke most of the endpoints here. Read more about how to get session-id

Get session list

GET /automate/builds/{build-id}/sessions.json

To retrieve a list of sessions under a particular build, query the server with the build ID. You can also limit the number of sessions and paginate through your data.

Required: You need build-id to get the list of sessions. You can get the build-id by invoking the Build API.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/builds/<build-id>/sessions.json

# Limit the number of sessions to be displayed using "limit" parameter
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/builds/<build-id>/sessions.json?limit=5

# Start the retrieval of records from a particular point using "offset" parameter
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/builds/<build-id>/sessions.json?limit=2\&offset=2

# View a subset of results using "status" parameter
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/builds/<build-id>/sessions.json?status=running

  • id* String

    ID of the Build.

  • limit String

    Specify the number of results to be displayed. The default value is 10, and the maximum value is 100.

  • offset String

    Specify the retrieval of session records from a particular point using the offset parameter.

  • status String

    The status parameter is used to refine your results. The values this parameter takes are running, done, timeout, and failed.

Response Attributes 200 OK Array

Response

[
    {
        "automation_session": {
            "name": "pricing_session",
            "duration": 44,
            "os": "android",
            "os_version": "7.0",
            "browser_version": null,
            "browser": null,
            "device": "Samsung Galaxy S8",
            "status": "done",
            "hashed_id": "550709149fe79e949363b581e774d5ebffa1b8fe",
            "reason": "CLIENT_STOPPED_SESSION",
            "build_name": "pricing_build",
            "project_name": "pricing_project",
            "test_priority": null,
            "logs": "https://automate.browserstack.com/builds/5343932818f9330c5d2b5c72aaf9dd8fde77b428/sessions/550709149fe79e949363b581e774d5ebffa1b8fe/logs",
            "browser_url": "https://automate.browserstack.com/builds/5343932818f9330c5d2b5c72aaf9dd8fde77b428/sessions/550709149fe79e949363b581e774d5ebffa1b8fe",
            "public_url": "https://automate.browserstack.com/builds/5343932818f9330c5d2b5c72aaf9dd8fde77b428/sessions/550709149fe79e949363b581e774d5ebffa1b8fe?auth_token=01df4e51ba67eb743484a08b024a44601a2ae0399c5c011a68d9564147be1387",
            "appium_logs_url": "https://api.browserstack.com/automate/builds/5343932818f9330c5d2b5c72aaf9dd8fde77b428/sessions/550709149fe79e949363b581e774d5ebffa1b8fe/appiumlogs",
            "video_url": "https://automate.browserstack.com/sessions/550709149fe79e949363b581e774d5ebffa1b8fe/video?token=V3pFcVdqdzJNTnNjMzJxeXNBU3FSMUtYU3lnUGsvSTMwbmhEWlRxWUNnRlJ1eHBzTUE0TXd5Z0o0R2lya25jendNaldoQldtbGJTaUtsTTRYQmdIYkE9PS0tNmVXSW91N25yNERzeWRLRnUya2xvQT09--77b9f745d91d9b99572a9e3c98dd001347f1b62c&source=rest_api&diff=860746.273516167",
            "browser_console_logs_url": "https://automate.browserstack.com/s3-upload/bs-selenium-logs-aps/s3.ap-south-1/550709149fe79e949363b581e774d5ebffa1b8fe/550709149fe79e949363b581e774d5ebffa1b8fe-console-logs-v2.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2XUQHUQMHPMYEM4V%2F20200918%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20200918T102438Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=3bfd4e34fd6aa46bead6e16e418f6bee5b7798d7ef82a7e9546980dd7e93e917",
            "har_logs_url": "https://automate.browserstack.com/s3-upload/bs-selenium-logs-euw/s3.eu-west-1/550709149fe79e949363b581e774d5ebffa1b8fe/550709149fe79e949363b581e774d5ebffa1b8fe-har-logs.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2XUQHUQMHPMYEM4V%2F20200918%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20200918T102438Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=620e75f00956506e1721d5b610c67173560c7088c893bbf474dafe464328e854",
            "selenium_logs_url": "https://automate.browserstack.com/s3-upload/bs-selenium-logs-euw/s3.eu-west-1/550709149fe79e949363b581e774d5ebffa1b8fe/550709149fe79e949363b581e774d5ebffa1b8fe-selenium-logs.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2XUQHUQMHPMYEM4V%2F20200918%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20200918T102438Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=179ea57ef729153fa8f817b612d852385e877f423b694ffdb02a70fd4c2b37ab"
        }
    },
    {
        "automation_session": {
            "name": "navigation_session",
            "duration": 40,
            "os": "android",
            "os_version": "7.0",
            "browser_version": null,
            "browser": null,
            "device": "Samsung Galaxy S8",
            "status": "done",
            "hashed_id": "cbd61140df6b4546baeac57ea624dd263ee0120c",
            "reason": "CLIENT_STOPPED_SESSION",
            "build_name": "navigation_build",
            "project_name": "navigation_project",
            "test_priority": null,
            "logs": "https://automate.browserstack.com/builds/5343932818f9330c5d2b5c72aaf9dd8fde77b428/sessions/cbd61140df6b4546baeac57ea624dd263ee0120c/logs",
            "browser_url": "https://automate.browserstack.com/builds/5343932818f9330c5d2b5c72aaf9dd8fde77b428/sessions/cbd61140df6b4546baeac57ea624dd263ee0120c",
            "public_url": "https://automate.browserstack.com/builds/5343932818f9330c5d2b5c72aaf9dd8fde77b428/sessions/cbd61140df6b4546baeac57ea624dd263ee0120c?auth_token=6bf36b849356dc15bdb6a31e4cbb002ebe338a7caaa995a14b96c0d336016432",
            "appium_logs_url": "https://api.browserstack.com/automate/builds/5343932818f9330c5d2b5c72aaf9dd8fde77b428/sessions/cbd61140df6b4546baeac57ea624dd263ee0120c/appiumlogs",
            "video_url": "https://automate.browserstack.com/sessions/cbd61140df6b4546baeac57ea624dd263ee0120c/video?token=N2ZPWEs3TU5rOGJ0NGNQTVZxd2Q5eldDZHU2Z0daZlRhZGFpcUhYWncvUjMxckc5dTZ1ci9MSVdUa2Zqc2JybXZVekRSUjRVNDVmaUVnbE80RlMwY2c9PS0tZ1cwNHI4TVdGWkJNczYxbWpjMDVwZz09--482e8446fe97b2dbb6c5dbac895438bb78d625a3&source=rest_api&diff=860924.289794514",
            "browser_console_logs_url": "https://automate.browserstack.com/s3-upload/bs-selenium-logs-aps/s3.ap-south-1/cbd61140df6b4546baeac57ea624dd263ee0120c/cbd61140df6b4546baeac57ea624dd263ee0120c-console-logs-v2.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2XUQHUQMHPMYEM4V%2F20200918%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20200918T102438Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=d5b29da80f4707a3e02e0aa2578a35255eb44582d7f81d891053fa533b13565a",
            "har_logs_url": "https://automate.browserstack.com/s3-upload/bs-selenium-logs-euw/s3.eu-west-1/cbd61140df6b4546baeac57ea624dd263ee0120c/cbd61140df6b4546baeac57ea624dd263ee0120c-har-logs.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2XUQHUQMHPMYEM4V%2F20200918%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20200918T102438Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=0c0c4bdec0fc269f7aae2c259dd1fd4b163c19ec12cfa826be335b3a651a0a75",
            "selenium_logs_url": "https://automate.browserstack.com/s3-upload/bs-selenium-logs-euw/s3.eu-west-1/cbd61140df6b4546baeac57ea624dd263ee0120c/cbd61140df6b4546baeac57ea624dd263ee0120c-selenium-logs.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2XUQHUQMHPMYEM4V%2F20200918%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20200918T102438Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=a304b090ec99e50b61247020900a3b1efc77394f0deafcb7715f242af373ba4c"
        }
    },
    {...}
]
  • name String

    Name of your session.

  • duration Integer

    Time taken to run the session.

  • os String

    OS used for the session.

  • os_version String

    Version of the OS used.

  • browser_version String

    Version of the browser used.

  • browser String

    Browser used for the session.

  • device String

    Name of the device used in the session.

  • status String

    Status of the session.

  • hashed_id String

    ID of the session.

  • reason String

    Reason for test status.

  • build_name String

    Name of the build.

  • project_name String

    Name of the project.

  • logs String

    URL to view the session logs.

  • browser_url String

    URL to view the session on Automate dashboard.

  • public_url String

    URL to view the session publicly.

  • appium_logs_url String

    URL to view appium logs.

  • video_url String

    URL to view session video.

  • browser_console_logs_url String

    URL to view browser’s console logs.

  • har_logs_url String

    URL to view browser logs.

  • selenium_logs_url String

    URL to view selenium logs.

Get session details

GET /automate/sessions/{session-id}.json

Once the list of sessions is available, more specific information such as test results and debugging information such as instrumentation logs, device logs, network logs, etc. about a particular session can be queried using the session ID.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/sessions/<session-id>.json
  • id* String

    ID of the Session.

Response Attributes 200 OK JSON

Response

{
    "automation_session": {
        "name": "pricing_session",
        "duration": 25,
        "os": "Windows",
        "os_version": "10",
        "browser_version": "84.0",
        "browser": "chrome",
        "device": null,
        "status": "done",
        "hashed_id": "238dd3e7bf47b25174d9ec92764857e5a66a38cc",
        "reason": "CLIENT_STOPPED_SESSION",
        "build_name": "pricing_build",
        "project_name": "pricing_project",
        "test_priority": null,
        "logs": "https://automate.browserstack.com/builds/457139d082e18b71177b649757c03fdabfa83cba/sessions/238dd3e7bf47b25174d9ec92764857e5a66a38cc/logs",
        "browserstack_status": "done",
        "created_at": "2021-01-08T12:01:34.000Z",
        "browser_url": "https://automate.browserstack.com/builds/457139d082e18b71177b649757c03fdabfa83cba/sessions/238dd3e7bf47b25174d9ec92764857e5a66a38cc",
        "public_url": "https://automate.browserstack.com/builds/457139d082e18b71177b649757c03fdabfa83cba/sessions/238dd3e7bf47b25174d9ec92764857e5a66a38cc?auth_token=28365a2e1ae386c11a1a69cd7eadc5e4b1a16d8c0a27d6a13d19e3dcee218abb",
        "appium_logs_url": "https://api.browserstack.com/automate/builds/457139d082e18b71177b649757c03fdabfa83cba/sessions/238dd3e7bf47b25174d9ec92764857e5a66a38cc/appiumlogs",
        "video_url": "https://automate.browserstack.com/sessions/238dd3e7bf47b25174d9ec92764857e5a66a38cc/video?token=QktnOFFlOGpycDRyRnllK1NGZ1ZIRzQrdm1NK0NxYkllbDFjQXlqT0I4RlIvbFdTMnNUZUk0aWpTN0M5YjVieU5ucit5UDZOaFRZWkZqTm9HYU80L0E9PS0tc3lsMVZJc0pEaFM2TWhFblZXRkN5UT09--3d84c18a805300a455af4ca4ef206aa0ce8f0e2e&source=rest_api&diff=31.417756968",
        "browser_console_logs_url": "https://automate.browserstack.com/s3-upload/bs-selenium-logs-aps/s3.ap-south-1/238dd3e7bf47b25174d9ec92764857e5a66a38cc/238dd3e7bf47b25174d9ec92764857e5a66a38cc-console-logs-v2.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2XUQHUQMHPMYEM4V%2F20200921%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20200921T114903Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=c495b144ea470dbaf8d5345617263b92154f57aa5dd79fd6620e271e62b2c32b",
        "har_logs_url": "https://automate.browserstack.com/s3-upload/bs-selenium-logs-aps/s3.ap-south-1/238dd3e7bf47b25174d9ec92764857e5a66a38cc/238dd3e7bf47b25174d9ec92764857e5a66a38cc-har-logs.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2XUQHUQMHPMYEM4V%2F20200921%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20200921T114903Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=e0a52168008abf0880944408231a6739c4b40bb76e06ace8361be5aeab728a07",
        "selenium_logs_url": "https://automate.browserstack.com/s3-upload/bs-selenium-logs-aps/s3.ap-south-1/238dd3e7bf47b25174d9ec92764857e5a66a38cc/238dd3e7bf47b25174d9ec92764857e5a66a38cc-selenium-logs.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA2XUQHUQMHPMYEM4V%2F20200921%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20200921T114903Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=8d3735ba41bbab37f1c6e4a3c8d1a75e3384a8dd3056e84b52f568730c85dc4f"
    }
}
  • name String

    Name of your session.

  • duration Integer

    Time taken to run the session.

  • os String

    OS used for the session.

  • os_version String

    Version of the OS used.

  • browser_version String

    Version of the browser used.

  • browser String

    Browser used for the session.

  • device String

    Name of the device used in the session.

  • status String

    Status of the session.

  • hashed_id String

    ID of the session.

  • reason String

    Reason for test status.

  • build_name String

    Name of the build.

  • project_name String

    Name of the project.

  • logs String

    URL to view the session logs.

  • browserstack_status String

    Execution status of the session.

  • created_at String

    Timestamp at which the session started executing.

  • browser_url String

    URL to view the session on Automate dashboard.

  • public_url String

    URL to view the session publicly.

  • appium_logs_url String

    URL to view appium logs.

  • video_url String

    URL to view session video.

  • browser_console_logs_url String

    URL to view browser’s console logs.

  • har_logs_url String

    URL to view browser logs.

  • selenium_logs_url String

    URL to view selenium logs.

Get session logs

GET /automate/sessions/{session_id}/logs

Whenever you execute a session on BrowserStack, a session log is generated. These logs are available to you in text format, and these, too, can be retrieved using REST API.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/sessions/<session-id>/logs
  • id* String

    ID of the Session.

Response Description 200 OK Text

Response

2020-9-4 13:45:17:356 REQUEST [2020-9-4 13:45:17:356] POST /session {"desiredCapabilities":{"name":"pricing_project","browser_version":"84.0","project":"pricing_project","os_version":"10","browserstack.selenium_version":"3.14.0","build":"pricing_build","browserstack.local":false,"os":"Windows","browser":"Chrome","acceptSslCert":false,"detected_language":"selenium/3.141.0 (python mac)","new_bucketing":true}}
2020-9-4 13:45:17:356 START_SESSION
2020-9-4 13:45:17:357 REQUEST [2020-9-4 13:45:17:357] GET /session/6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22
2020-9-4 13:45:17:357 RESPONSE {"status":0,"sessionId":"6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22","value":{"acceptInsecureCerts":false,"browserName":"chrome","browserVersion":"84.0.4147.89","chrome":{"chromedriverVersion":"84.0.4147.30 (48b3e868b4cc0aa7e8149519690b6f6949e110a8-refs/branch-heads/4147@{#310})","userDataDir":"C:\\Windows\\proxy\\scoped_dir7248_938245152"},"goog:chromeOptions":{"debuggerAddress":"localhost:1893"},"networkConnectionEnabled":false,"pageLoadStrategy":"normal","platformName":"windows","setWindowRect":true,"strictFileInteractability":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"unhandledPromptBehavior":"dismiss and notify","webauthn:virtualAuthenticators":true,"webdriver.remote.sessionid":"6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22","platform":"WINDOWS"}}
2020-9-4 13:45:17:609 REQUEST [2020-9-4 13:45:17:609] POST /session/6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22/url {"url":"https://www.google.com","sessionId":"6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22"}
2020-9-4 13:45:19:94 RESPONSE {"sessionId":null,"state":"success","class":"org.openqa.selenium.remote.Response","value":null,"status":0}
2020-9-4 13:45:19:348 REQUEST [2020-9-4 13:45:19:348] GET /session/6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22/title {}
2020-9-4 13:45:19:362 RESPONSE {"sessionId":null,"state":"success","class":"org.openqa.selenium.remote.Response","value":"Google","status":0}
2020-9-4 13:45:19:666 REQUEST [2020-9-4 13:45:19:666] POST /session/6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22/element {"using":"name","sessionId":"6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22","value":"q"}
2020-9-4 13:45:19:697 RESPONSE {"sessionId":null,"state":"success","class":"org.openqa.selenium.remote.Response","value":{"element-6066-11e4-a52e-4f735466cecf":"f2c7c4db-43a7-43a3-9dba-1ed0a683c7f6"},"status":0}
2020-9-4 13:45:19:998 REQUEST [2020-9-4 13:45:19:998] POST /session/6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22/element/f2c7c4db-43a7-43a3-9dba-1ed0a683c7f6/value {"value":["[REDACTED]"]}
2020-9-4 13:45:20:196 RESPONSE {"sessionId":null,"state":"success","class":"org.openqa.selenium.remote.Response","value":null,"status":0}
2020-9-4 13:45:20:427 REQUEST [2020-9-4 13:45:20:427] POST /session/6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22/element/f2c7c4db-43a7-43a3-9dba-1ed0a683c7f6/submit {"sessionId":"6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22","id":"f2c7c4db-43a7-43a3-9dba-1ed0a683c7f6"}
2020-9-4 13:45:22:380 RESPONSE {"sessionId":null,"state":"success","class":"org.openqa.selenium.remote.Response","value":null,"status":0}
2020-9-4 13:45:22:631 REQUEST [2020-9-4 13:45:22:631] GET /session/6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22/title {}
2020-9-4 13:45:22:644 RESPONSE {"sessionId":null,"state":"success","class":"org.openqa.selenium.remote.Response","value":"BrowserStack - Google Search","status":0}
2020-9-4 13:45:25:488 STOP_SESSION {"status":0,"sessionId":"6d09cfdafd1f48f4c5a0e77272a10d41a2b5dc22","value":{"message":"CLIENT_STOPPED_SESSION"},"errorStack":{}}
  • A session log consists of all the requests made by the session and the corresponding responses.

Get session network logs

GET /automate/sessions/{session_id}/networklogs

Network Logs for each session are available to you in HAR (HTTP Archive) format, and these can be retrieved using REST API.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/sessions/<session-id>/networklogs
  • id* String

    ID of the Session.

Response Description 200 OK JSON

Response

{
    "log": {
        "version": "1.2",
        "creator": {
            "name": "BrowserMob Proxy",
            "version": "2.1.5",
            "comment": ""
        },
        "pages": [
            {
                "id": "Page 0",
                "startedDateTime": "2020-09-08T14:10:24.211+05:30",
                "title": "Page 0",
                "pageTimings": {
                    "comment": ""
                },
                "comment": ""
            }
        ],
        "entries": [
            {
                "pageref": "Page 0",
                "startedDateTime": "2020-09-08T14:10:25.924+05:30",
                "request": {
                    "method": "CONNECT",
                    "url": "https://configuration.apple.com",
                    "httpVersion": "HTTP/1.1",
                    "cookies": [],
                    "headers": [],
                    "queryString": [],
                    "headersSize": 0,
                    "bodySize": 0,
                    "comment": ""
                },
                "response": {
                    "status": 0,
                    "statusText": "",
                    "httpVersion": "unknown",
                    "cookies": [],
                    "headers": [],
                    "content": {
                        "size": 0,
                        "mimeType": "",
                        "comment": ""
                    },
                    "redirectURL": "",
                    "headersSize": -1,
                    "bodySize": -1,
                    "comment": "",
                    "_error": "Unable to connect to host"
                },
                "cache": {},
                "timings": {
                    "comment": "",
                    "connect": 472,
                    "receive": 0,
                    "blocked": -1,
                    "send": 1,
                    "ssl": -1,
                    "wait": -9860836,
                    "dns": -1
                },
                "comment": "",
                "time": 474
            },
            {
                "pageref": "Page 0",
                "startedDateTime": "2020-09-08T14:10:26.415+05:30",
                "request": {
                    "method": "CONNECT",
                    "url": "https://configuration.apple.com",
                    "httpVersion": "HTTP/1.1",
                    "cookies": [],
                    "headers": [],
                    "queryString": [],
                    "headersSize": 0,
                    "bodySize": 0,
                    "comment": ""
                },
                "response": {
                    "status": 0,
                    "statusText": "",
                    "httpVersion": "unknown",
                    "cookies": [],
                    "headers": [],
                    "content": {
                        "size": 0,
                        "mimeType": "",
                        "comment": ""
                    },
                    "redirectURL": "",
                    "headersSize": -1,
                    "bodySize": -1,
                    "comment": "",
                    "_error": "Unable to connect to host"
                },
                "cache": {},
                "timings": {
                    "comment": "",
                    "connect": 299,
                    "receive": 0,
                    "blocked": -1,
                    "send": 0,
                    "ssl": -1,
                    "wait": -9861281,
                    "dns": -1
                },
                "comment": "",
                "time": 299
            },
            {
                "pageref": "Page 0",
                "startedDateTime": "2020-09-08T14:10:26.717+05:30",
                "request": {
                    "method": "CONNECT",
                    "url": "https://configuration.apple.com",
                    "httpVersion": "HTTP/1.1",
                    "cookies": [],
                    "headers": [],
                    "queryString": [],
                    "headersSize": 0,
                    "bodySize": 0,
                    "comment": ""
                },
                "response": {
                    "status": 0,
                    "statusText": "",
                    "httpVersion": "unknown",
                    "cookies": [],
                    "headers": [],
                    "content": {
                        "size": 0,
                        "mimeType": "",
                        "comment": ""
                    },
                    "redirectURL": "",
                    "headersSize": -1,
                    "bodySize": -1,
                    "comment": "",
                    "_error": "Unable to connect to host"
                },
                "cache": {},
                "timings": {
                    "comment": "",
                    "connect": 305,
                    "receive": 0,
                    "blocked": -1,
                    "send": 0,
                    "ssl": -1,
                    "wait": -9861583,
                    "dns": -1
                },
                "comment": "",
                "time": 305
            }
        ],
        "comment": ""
    }
}
  • Network Logs capture the browser’s performance data such as network traffic, latency, HTTP requests and responses in the HAR format.

Get session console logs

GET /automate/sessions/{session-id}/consolelogs

Console logs are enabled by default and are set to errors. You can disable them or change verbosity options by using the browserstack.console capability to disabled, errors, warnings, info, verbose. Raw Console Logs for each session are available to you in text format, and these, too, can be retrieved using REST API (supported for Chrome browser only).

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/sessions/<session-id>/consolelogs
  • id* String

    ID of the Session.

Response Description 200 OK Text

Response

1599563924892:SEVERE:https://www.google.com/xjs/_/js/k=xjs.qs.de.6-vFeKCJj3U.O/ck=xjs.qs.-dp4pGif2BA.L.W.O/m=quantum/am=AAAAAACAAAIAAABYNPrrjCgHigP4SyYOAAAAAJ6Aw4L9BagQPAAIgAAAAEBgLYIIAAAE/d=1/dg=2/br=1/ct=zgms/rs=ACT90oFzHsN5yLaSF6zqgtTHedaIubw-Lg 566:212 Uncaught TypeError: na`bdkMDe`
  • Console Logs capture the browser’s JS console output at various steps of the test to troubleshoot JavaScript issues.

Get session Selenium logs

GET /automate/sessions/{session_id}/seleniumlogs

Raw Selenium Logs for each session are available to you in text format, and these can be retrieved using REST API.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/sessions/<session-id>/seleniumlogs
  • id* String

    ID of the Session.

Response Description 200 OK Text

Response

07:38:24.636 DEBUG [WebDriverServlet.lambda$handle$3] - /session: Executing POST on /session (handler: BeginSession)
07:38:24.750 INFO [ActiveSessionFactory.apply] - Capabilities are: {
  "64bit": true,
  "acceptSslCert": true,
  "acceptSslCerts": true,
  "browser": "chrome",
  "browserName": "chrome",
  "browser_name": "Chrome",
  "browser_version": "84.0",
  "browserstack.is_hub_canary": "false",
  "browserstack.seleniumVersion": "3.14.0",
  "browserstack.useChromeDriver": "true",
  "buildName": "pricing_build",
  "chrome.binary": "c:\\Program Files (x86)\\Google\\Chrome\\Application\\84.0.4147.89\\chrome.exe",
  "chromeOptions": {
    "binary": "c:\\Program Files (x86)\\Google\\Chrome\\Application\\84.0.4147.89\\chrome.exe",
    "prefs": {
      "browser": {
        "show_update_promotion_info_bar": false,
        "check_default_browser": false
      },
      "devtools": {
        "preferences": {
          "cacheDisabled": true
        }
      },
      "profile": {
        "password_manager_enabled": false
      }
    },
    "args": [
      "test-type",
      "--disable-application-cache",
      "--media-cache-size=1",
      "--ignore-certificate-errors",
      "--proxy-server=http:\u002f\u002fplatform.browserstack.com:8969",
      "--proxy-bypass-list=\u003c-loopback>"
    ]
  },
  "detected_language": "selenium\u002f3.141.0 (python mac)",
  "loggingPrefs": {
    "browser": "SEVERE"
  },
  "new_bucketing": true,
  "orig_os": "win10",
  "os": "Windows",
  "osVersion": "10",
  "os_version": "10",
  "platform": "WINDOWS",
  "projectName": "pricing_project",
  "sessionName": "pricing_session",
  "version": "84.0"
}
07:38:24.752 INFO [ActiveSessionFactory.lambda$apply$11] - Matched factory org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)
07:38:24.775 DEBUG [UrlChecker.waitUntilAvailable] - Waiting for [http://localhost:19708/status]
07:38:24.777 DEBUG [UrlChecker.lambda$waitUntilAvailable$1] - Polling http://localhost:19708/status
07:38:25.409 DEBUG [UrlChecker.lambda$waitUntilAvailable$1] - Polling http://localhost:19708/status
07:38:25.412 DEBUG [HttpURLConnection.writeRequests] - sun.net.www.MessageHeader@fca2e45 pairs: {GET /status HTTP/1.1: null}{User-Agent: Java/1.8.0_181}{Host: localhost:19708}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2}{Connection: keep-alive}
07:38:25.415 DEBUG [HttpURLConnection.getInputStream0] - sun.net.www.MessageHeader@1fe28df4 pairs: {null: HTTP/1.1 200 OK}{Content-Length: 247}{Content-Type: application/json; charset=utf-8}{cache-control: no-cache}
07:38:27.643 INFO [ProtocolHandshake.createSession] - Detected dialect: W3C
07:38:27.674 DEBUG [RemoteWebDriver.log] - Executing: newSession [null, newSession {desiredCapabilities=Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 84.0.4147.89, chrome: {chromedriverVersion: 84.0.4147.30 (48b3e868b4cc0..., userDataDir: C:\Windows\proxy\scoped_dir...}, goog:chromeOptions: {debuggerAddress: localhost:1662}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: windows, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}}]
07:38:27.675 DEBUG [RemoteWebDriver.log] - Executed: [null, newSession {desiredCapabilities=Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 84.0.4147.89, chrome: {chromedriverVersion: 84.0.4147.30 (48b3e868b4cc0..., userDataDir: C:\Windows\proxy\scoped_dir...}, goog:chromeOptions: {debuggerAddress: localhost:1662}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: windows, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}}]
07:38:27.678 INFO [RemoteSession$Factory.lambda$performHandshake$0] - Started new session 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:27.695 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:27.695 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing POST on /session/368acd0e2dbe71e58b3b5249e697a611/timeouts (handler: ServicedSession)
07:38:27.703 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":null}
07:38:28.754 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:28.754 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing POST on /session/368acd0e2dbe71e58b3b5249e697a611/url (handler: ServicedSession)
07:38:29.830 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":null}
07:38:30.792 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:30.792 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing POST on /session/368acd0e2dbe71e58b3b5249e697a611/execute (handler: ServicedSession)
07:38:30.802 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":"complete"}
07:38:30.827 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:30.827 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing GET on /session/368acd0e2dbe71e58b3b5249e697a611/title (handler: ServicedSession)
07:38:30.832 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":"Google"}
07:38:32.555 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:32.555 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing POST on /session/368acd0e2dbe71e58b3b5249e697a611/execute (handler: ServicedSession)
07:38:32.562 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":"complete"}
07:38:32.566 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:32.567 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing POST on /session/368acd0e2dbe71e58b3b5249e697a611/element (handler: ServicedSession)
07:38:32.581 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":{"element-6066-11e4-a52e-4f735466cecf":"4fe9035e-682e-41df-8ea4-7c76defc33b7"}}
07:38:33.501 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:33.502 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing POST on /session/368acd0e2dbe71e58b3b5249e697a611/element/4fe9035e-682e-41df-8ea4-7c76defc33b7/value (handler: ServicedSession)
07:38:33.796 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":null}
07:38:35.503 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:35.503 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing POST on /session/368acd0e2dbe71e58b3b5249e697a611/element/4fe9035e-682e-41df-8ea4-7c76defc33b7/submit (handler: ServicedSession)
07:38:37.183 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":null}
07:38:38.319 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:38.320 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing POST on /session/368acd0e2dbe71e58b3b5249e697a611/execute (handler: ServicedSession)
07:38:38.382 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":"complete"}
07:38:38.392 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:38.392 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing GET on /session/368acd0e2dbe71e58b3b5249e697a611/title (handler: ServicedSession)
07:38:38.396 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":"BrowserStack - Google ?????"}
07:38:39.752 DEBUG [WebDriverServlet.handle] - Found handler: org.openqa.selenium.remote.server.commandhandler.GetLogsOfType@59cfc8
07:38:39.753 DEBUG [WebDriverServlet.lambda$handle$3] - /session/368acd0e2dbe71e58b3b5249e697a611/log: Executing POST on /session/368acd0e2dbe71e58b3b5249e697a611/log (handler: GetLogsOfType)
07:38:39.756 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":[]}
07:38:39.765 DEBUG [WebDriverServlet.handle] - Found handler: 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:39.766 DEBUG [WebDriverServlet.lambda$handle$3] - Handler thread for session 368acd0e2dbe71e58b3b5249e697a611 (chrome): Executing DELETE on /session/368acd0e2dbe71e58b3b5249e697a611 (handler: ServicedSession)
07:38:39.820 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":null}
07:38:39.824 INFO [ActiveSessions$1.onStop] - Removing session 368acd0e2dbe71e58b3b5249e697a611 (org.openqa.selenium.chrome.ChromeDriverService)
07:38:39.886 DEBUG [W3CHttpResponseCodec.decode] - Decoding response. Response code was: 200 and content: {"value":null}
07:38:39.887 DEBUG [UrlChecker.waitUntilUnavailable] - Waiting for http://localhost:19708/shutdown
07:38:39.888 DEBUG [UrlChecker.lambda$waitUntilUnavailable$2] - Polling http://localhost:19708/shutdown
07:38:39.889 DEBUG [HttpURLConnection.writeRequests] - sun.net.www.MessageHeader@13805dd5 pairs: {GET /shutdown HTTP/1.1: null}{User-Agent: Java/1.8.0_181}{Host: localhost:19708}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2}{Connection: keep-alive}
07:38:39.889 DEBUG [HttpURLConnection.getInputStream0] - sun.net.www.MessageHeader@d3ce1c3 pairs: {null: HTTP/1.1 200 OK}{Content-Length: 40}{Content-Type: application/json; charset=utf-8}
07:38:39.900 DEBUG [UrlChecker.lambda$waitUntilUnavailable$2] - Polling http://localhost:19708/shutdown
  • Selenium Logs captures the raw logs of Selenium JAR for your test execution. With Selenium logs you can debug the test in case of any exceptions.

Get session appium logs

GET /automate/sessions/{session-id}/appiumlogs

Raw Appium Logs for each session are available to you in text format, and these can be retrieved using REST API.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
https://api.browserstack.com/automate/sessions/<session-id>/appiumlogs
  • id* String

    ID of the Session.

Response Description 200 OK Text

Response

2020-09-07 14:59:52:966 - [HTTP] --> POST /wd/hub/session {"desiredCapabilities":{"real_mobile":true,"os_version":"7.0","device":"Samsung Galaxy S8","browserstack.is_hub_canary":"false","acceptSslCert":false,"detected_language":"selenium/3.141.0 (python mac)","new_bucketing":true,"osVersion":"7.0","deviceName":"Android","buildName":"pricing_build","projectName":"pricing_project","browserstack.useChromeDriver":"true","platform":"ANDROID","browserName":"chrome","browser":"android","chromeOptions":{"w3c":false,"args":["--proxy-bypass-list=<-loopback>","test-type","--proxy-server=http://[REDACTED]","--disable-features=TranslateUI"]},"version":"","mobile":{"browser":"mobile","version":"Samsung Galaxy S8-7.0"},"orig_os":"android","64bit":false,"udid":"ce0517150aa65e1103","newCommandTimeout":0,"realMobile":"true","acceptSslCerts":false,"loggingPrefs":{"browser":"SEVERE"},"platformName":"Android","platformVersion":"7","enablePerformanceLogging":false}}
2020-09-07 14:59:52:966 - [debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"real_mobile":true,"os_version":"7.0","device":"Samsung Galaxy S8","browserstack.is_hub_canary":"false","acceptSslCert":false,"detected_language":"selenium/3.141.0 (python mac)","new_bucketing":true,"osVersion":"7.0","deviceName":"Android","buildName":"pricing_build","projectName":"pricing_project","browserstack.useChromeDriver":"true","platform":"ANDROID","browserName":"chrome","browser":"android","chromeOptions":{"w3c":false,"args":["--proxy-bypass-list=<-loopback>","test-type","--proxy-server=http://[REDACTED]","--disable-features=TranslateUI"]},"version":"","mobile":{"browser":"mobile","version":"Samsung Galaxy S8-7.0"},"orig_os":"android","64bit":false,"udid":"ce0517150aa65e1103","newCommandTimeout":0,"realMobile":"true","acceptSslCerts":false,"loggingPrefs":{"browser":"SEVERE"},"platformName":"Android","platformVersion":"7","enablePerformanceLogging":false},null,null]
2020-09-07 14:59:52:967 - [debug] [BaseDriver] Event 'newSessionRequested' logged at 1599490792967 (14:59:52 GMT+0000 (UTC))
2020-09-07 14:59:52:968 - [Appium] Creating new AndroidDriver (v1.24.1) session
2020-09-07 14:59:52:968 - [Appium] Capabilities:
2020-09-07 14:59:52:975 - [Appium]   real_mobile: true
2020-09-07 14:59:52:975 - [Appium]   os_version: '7.0'
2020-09-07 14:59:52:975 - [Appium]   device: 'Samsung Galaxy S8'
2020-09-07 14:59:52:976 - [Appium]   browserstack.is_hub_canary: 'false'
2020-09-07 14:59:52:976 - [Appium]   acceptSslCert: false
2020-09-07 14:59:52:976 - [Appium]   detected_language: 'selenium/3.141.0 (python mac)'
2020-09-07 14:59:52:976 - [Appium]   new_bucketing: true
2020-09-07 14:59:52:976 - [Appium]   osVersion: '7.0'
2020-09-07 14:59:52:978 - [Appium]   deviceName: 'Android'
2020-09-07 14:59:52:978 - [Appium]   buildName: 'pricing_build'
2020-09-07 14:59:52:979 - [Appium]   projectName: 'pricing_project'
2020-09-07 14:59:52:979 - [Appium]   browserstack.useChromeDriver: 'true'
2020-09-07 14:59:52:979 - [Appium]   platform: 'ANDROID'
2020-09-07 14:59:52:980 - [Appium]   browserName: 'chrome'
2020-09-07 14:59:52:981 - [Appium]   browser: 'android'
2020-09-07 14:59:52:981 - [Appium]   chromeOptions: { w3c: false,
  args:
   [ '--proxy-bypass-list=<-loopback>',
     'test-type',
     '--proxy-server=http://[REDACTED]',
     '--disable-features=TranslateUI' ] }
2020-09-07 14:59:52:982 - [Appium]   version: ''
2020-09-07 14:59:52:982 - [Appium]   mobile: { browser: 'mobile', version: 'Samsung Galaxy S8-7.0' }
2020-09-07 14:59:52:984 - [Appium]   orig_os: 'android'
2020-09-07 14:59:52:985 - [Appium]   64bit: false
2020-09-07 14:59:52:985 - [Appium]   udid: 'ce0517150aa65e1103'
2020-09-07 14:59:52:986 - [Appium]   newCommandTimeout: 0
2020-09-07 14:59:52:986 - [Appium]   realMobile: 'true'
2020-09-07 14:59:52:986 - [Appium]   acceptSslCerts: false
2020-09-07 14:59:52:987 - [Appium]   loggingPrefs: { browser: 'SEVERE' }
2020-09-07 14:59:52:987 - [Appium]   platformName: 'Android'
2020-09-07 14:59:52:987 - [Appium]   platformVersion: '7'
2020-09-07 14:59:52:988 - [Appium]   enablePerformanceLogging: false
2020-09-07 14:59:52:988 - [Appium]   systemPort: 8205
2020-09-07 14:59:52:988 - [Appium]   orientation: 'PORTRAIT'
2020-09-07 14:59:52:993 - [debug] [AndroidDriver] AndroidDriver version: 1.24.1
2020-09-07 14:59:53:008 - [BaseDriver] The following capabilities were provided, but are not recognized by appium: real_mobile, os_version, device, browserstack.is_hub_canary, acceptSslCert, detected_language, new_bucketing, osVersion, buildName, projectName, browserstack.useChromeDriver, platform, browser, version, mobile, orig_os, 64bit, realMobile, loggingPrefs, systemPort.
2020-09-07 14:59:53:009 - [BaseDriver] Session created with session id: 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 14:59:53:015 - [debug] [AndroidDriver] Getting Java version
2020-09-07 14:59:53:106 - [AndroidDriver] Java version is: 1.8.0_45
2020-09-07 14:59:53:110 - [AndroidDriver] We're going to run a Chrome-based session
2020-09-07 14:59:53:111 - [AndroidDriver] Chrome-type package and activity are com.android.chrome and com.google.android.apps.chrome.Main
2020-09-07 14:59:53:123 - [ADB] Checking whether adb is present
2020-09-07 14:59:53:127 - [ADB] Using adb from /usr/local/.browserstack/android-sdk/platform-tools/adb
2020-09-07 14:59:53:128 - [AndroidDriver] Retrieving device list
2020-09-07 14:59:53:128 - [debug] [ADB] Trying to find a connected android device
2020-09-07 14:59:53:129 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:53:144 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:53:145 - [AndroidDriver] Using device: ce0517150aa65e1103
2020-09-07 14:59:53:147 - [ADB] Checking whether adb is present
2020-09-07 14:59:53:151 - [ADB] Using adb from /usr/local/.browserstack/android-sdk/platform-tools/adb
2020-09-07 14:59:53:151 - [debug] [ADB] Setting device id to ce0517150aa65e1103
2020-09-07 14:59:53:151 - [AndroidDriver] App file was not listed, instead we're going to run com.android.chrome directly on the device
2020-09-07 14:59:53:152 - [debug] [AndroidDriver] Checking whether package is present on the device
2020-09-07 14:59:53:152 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:53:166 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:53:168 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","pm","list","packages","com.android.chrome"]
2020-09-07 14:59:53:816 - [AndroidDriver] Starting Android session
2020-09-07 14:59:53:819 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","wait-for-device"]
2020-09-07 14:59:53:842 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:53:850 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:53:851 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","echo","ping"]
2020-09-07 14:59:53:884 - [debug] [Logcat] Starting logcat capture
2020-09-07 14:59:53:953 - [debug] [AndroidDriver] Pushing settings apk to device...
2020-09-07 14:59:53:955 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:53:965 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:53:965 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","getprop","ro.build.version.sdk"]
2020-09-07 14:59:54:093 - [debug] [ADB] Device API level: 24
2020-09-07 14:59:54:095 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:54:104 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:54:105 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","dumpsys","package","io.appium.settings"]
2020-09-07 14:59:54:206 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:54:218 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:54:219 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","pm","dump","io.appium.settings"]
2020-09-07 14:59:55:474 - [debug] [ADB] Got the following command chunks to execute: pm,grant,io.appium.settings,android.permission.WRITE_SETTINGS,;,pm,grant,io.appium.settings,android.permission.ACCESS_COARSE_LOCATION,;,pm,grant,io.appium.settings,android.permission.ACCESS_MOCK_LOCATION,;
2020-09-07 14:59:55:474 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:55:489 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:55:489 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","pm","grant","io.appium.settings","android.permission.WRITE_SETTINGS",";","pm","grant","io.appium.settings","android.permission.ACCESS_COARSE_LOCATION",";","pm","grant","io.appium.settings","android.permission.ACCESS_MOCK_LOCATION",";"]
2020-09-07 14:59:57:340 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","pm","grant","io.appium.settings","android.permission.WRITE_SETTINGS",";","pm","grant","io.appium.settings","android.permission.ACCESS_COARSE_LOCATION",";","pm","grant","io.appium.settings","android.permission.ACCESS_MOCK_LOCATION",";"]
2020-09-07 14:59:59:284 - [debug] [ADB] Device API level: 24
2020-09-07 14:59:59:285 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:59:299 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:59:301 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","appops","set","io.appium.settings","android:mock_location","allow"]
2020-09-07 14:59:59:385 - [ADB] Getting device platform version
2020-09-07 14:59:59:387 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:59:396 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:59:396 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","getprop","ro.build.version.release"]
2020-09-07 14:59:59:479 - [debug] [ADB] Getting connected devices...
2020-09-07 14:59:59:493 - [debug] [ADB] 6 device(s) connected
2020-09-07 14:59:59:494 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","wm","size"]
2020-09-07 15:00:00:115 - [debug] [ADB] Getting connected devices...
2020-09-07 15:00:00:130 - [debug] [ADB] 6 device(s) connected
2020-09-07 15:00:00:131 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","getprop","ro.product.model"]
2020-09-07 15:00:00:212 - [debug] [ADB] Current device property 'ro.product.model': SM-G950F
2020-09-07 15:00:00:214 - [debug] [ADB] Getting connected devices...
2020-09-07 15:00:00:224 - [debug] [ADB] 6 device(s) connected
2020-09-07 15:00:00:225 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","getprop","ro.product.manufacturer"]
2020-09-07 15:00:00:308 - [debug] [ADB] Current device property 'ro.product.manufacturer': samsung
2020-09-07 15:00:00:309 - [AndroidDriver] No app sent in, not parsing package/activity
2020-09-07 15:00:00:309 - [debug] [AndroidDriver] No app capability. Assuming it is already on the device
2020-09-07 15:00:00:310 - [debug] [AndroidBootstrap] Watching for bootstrap disconnect
2020-09-07 15:00:00:312 - [debug] [ADB] Forwarding system: 38185 to device: 4724
2020-09-07 15:00:00:312 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","forward","tcp:38185","tcp:4724"]
2020-09-07 15:00:00:322 - [debug] [UiAutomator] Starting UiAutomator
2020-09-07 15:00:00:324 - [debug] [UiAutomator] Moving to state 'starting'
2020-09-07 15:00:00:329 - [debug] [UiAutomator] Parsing uiautomator jar
2020-09-07 15:00:00:334 - [debug] [UiAutomator] Found jar name: 'AppiumBootstrap.jar'
2020-09-07 15:00:00:334 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","push","/usr/local/.browserstack/appium_1.6.5_bstack/node_modules/appium-android-bootstrap/bootstrap/bin/AppiumBootstrap.jar","/data/local/tmp/"]
2020-09-07 15:00:00:357 - [debug] [UiAutomator] Starting UIAutomator
2020-09-07 15:00:00:358 - [debug] [ADB] Creating ADB subprocess with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","uiautomator","runtest","AppiumBootstrap.jar","-c","io.appium.android.bootstrap.Bootstrap","-e","pkg","com.android.chrome","-e","disableAndroidWatchers",false,"-e","acceptSslCerts",false]
2020-09-07 15:00:01:572 - [debug] [UiAutomator] Moving to state 'online'
2020-09-07 15:00:01:574 - [debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Registered crash watchers.
2020-09-07 15:00:01:575 - [AndroidBootstrap] Android bootstrap socket is now connected
2020-09-07 15:00:01:576 - [debug] [ADB] Getting connected devices...
2020-09-07 15:00:01:605 - [debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Client connected
2020-09-07 15:00:01:654 - [debug] [ADB] 6 device(s) connected
2020-09-07 15:00:01:655 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","dumpsys","window"]
2020-09-07 15:00:01:737 - [AndroidDriver] Screen already unlocked, doing nothing
2020-09-07 15:00:01:738 - [AndroidDriver] Starting a chrome-based browser session
2020-09-07 15:00:01:786 - [debug] [Chromedriver] Changed state to 'starting'
2020-09-07 15:00:01:787 - [Chromedriver] Set chromedriver binary as: /usr/local/bin/chromedriver
2020-09-07 15:00:01:787 - [Chromedriver] Killing any old chromedrivers, running: pkill -15 -f "/usr/local/bin/chromedriver.*--port=18085"
2020-09-07 15:00:01:896 - [Chromedriver] No old chromedrivers seemed to exist
2020-09-07 15:00:01:897 - [Chromedriver] Spawning chromedriver with: /usr/local/bin/chromedriver --url-base=wd/hub --port=18085 --adb-port=5037
2020-09-07 15:00:01:926 - [Chromedriver] [STDOUT] Starting ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}) on port 18085
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
2020-09-07 15:00:01:935 - [debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://127.0.0.1:18085/wd/hub/status] with no body
2020-09-07 15:00:01:995 - [Chromedriver] [STDOUT] ChromeDriver was started successfully.
2020-09-07 15:00:02:026 - [debug] [JSONWP Proxy] Got response with status 200: "{\"value\":{\"build\":{\"version\":\"83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416})\"},\"message\":\"ChromeDriver ready for new sessions.\",\"os\":{\"arch\":\"x86_64\",\"name\":\"Linux\",\"version\":\"4.1.13-101.fc21.x86_64\"},\"ready\":true}}"
2020-09-07 15:00:02:036 - [debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://127.0.0.1:18085/wd/hub/session] with body: {"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.android.chrome","w3c":false,"args":["--proxy-bypass-list=<-loopback>","test-type","--proxy-server=http://[REDACTED]","--disable-features=TranslateUI"],"androidDeviceSerial":"ce0517150aa65e1103"}}}
2020-09-07 15:00:07:273 - [debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"c2a48eff172429c8cafcdd75b768eb30","status":0,"value":{"acceptInsecureCerts":false,"acceptSslCerts":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"browserName":"chrome","chrome":{"chromedriverVersion":"83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416})"},"cssSelectorsEnabled":true,"databaseEnabled":false,"goog:chromeOptions":{"debuggerAddress":"localhost:52992"},"handlesAlerts":true,"hasTouchScreen":true,"javascriptEnabled":true,"locationContextEnabled":true,"mobileEmulationEnabled":false,"nativeEvents":true,"pageLoadStrategy":"normal","platform":"ANDROID","proxy":{},"rotatable":false,"setWindowRect":false,"strictFileInteractability":false,"takesHeapSnapshot":true,"takesScreenshot":true,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"unexpectedAlertBehaviour":"ignore","version":"83.0.4103.106","webStorageEnabled":true,"webauthn:virtualAuthenticators":false}}
2020-09-07 15:00:07:273 - [debug] [Chromedriver] Changed state to 'online'
2020-09-07 15:00:07:274 - [Appium] New AndroidDriver session created successfully, session 34448f0e-102c-4094-bda4-5bb9f151fbad added to master session list
2020-09-07 15:00:07:275 - [debug] [BaseDriver] Event 'newSessionStarted' logged at 1599490807275 (15:00:07 GMT+0000 (UTC))
2020-09-07 15:00:07:275 - [debug] [MJSONWP] Responding to client with driver.createSession() result: {"platform":"ANDROID","webStorageEnabled":false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":{},"desired":{"real_mobile":true,"os_version":"7.0","device":"Samsung Galaxy S8","browserstack.is_hub_canary":"false","acceptSslCert":false,"detected_language":"selenium/3.141.0 (python mac)","new_bucketing":true,"osVersion":"7.0","deviceName":"Android","buildName":"pricing_build","projectName":"pricing_project","browserstack.useChromeDriver":"true","platform":"ANDROID","browserName":"chrome","browser":"android","chromeOptions":{"w3c":false,"args":["--proxy-bypass-list=<-loopback>","test-type","--proxy-server=http://[REDACTED]","--disable-features=TranslateUI"]},"version":"","mobile":{"browser":"mobile","version":"Samsung Galaxy S8-7.0"},"orig_os":"android","64bit":false,"udid":"ce0517150aa65e1103","newCommandTimeout":0,"realMobile":"true","acceptSslCerts":false,"loggingPrefs":{"browser":"SEVERE"},"platfor...
2020-09-07 15:00:07:286 - [HTTP] <-- POST /wd/hub/session 200 14703 ms - 2250
2020-09-07 15:00:08:215 - [HTTP] --> POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/url {"url":"https://www.google.com"}
2020-09-07 15:00:08:216 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:08:217 - [debug] [JSONWP Proxy] Proxying [POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/url] to [POST http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/url] with body: {"url":"https://www.google.com"}
2020-09-07 15:00:09:994 - [debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"c2a48eff172429c8cafcdd75b768eb30","status":0,"value":null}
2020-09-07 15:00:09:994 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:09:995 - [HTTP] <-- POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/url 200 1780 ms - 76
2020-09-07 15:00:10:989 - [HTTP] --> POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/execute {"script":"return document.readyState","args":[]}
2020-09-07 15:00:10:990 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:10:990 - [debug] [JSONWP Proxy] Proxying [POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/execute] to [POST http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/execute] with body: {"script":"return document.readyState","args":[]}
2020-09-07 15:00:11:039 - [debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"c2a48eff172429c8cafcdd75b768eb30","status":0,"value":"complete"}
2020-09-07 15:00:11:039 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:11:040 - [HTTP] <-- POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/execute 200 51 ms - 82
2020-09-07 15:00:11:084 - [HTTP] --> GET /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/title {}
2020-09-07 15:00:11:084 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:11:085 - [debug] [JSONWP Proxy] Proxying [GET /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/title] to [GET http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/title] with body: {}
2020-09-07 15:00:11:131 - [debug] [JSONWP Proxy] Got response with status 200: "{\"sessionId\":\"c2a48eff172429c8cafcdd75b768eb30\",\"status\":0,\"value\":\"Google\"}"
2020-09-07 15:00:11:131 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:11:132 - [HTTP] <-- GET /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/title 200 48 ms - 80
2020-09-07 15:00:12:348 - [HTTP] --> POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/execute {"script":"return document.readyState","args":[]}
2020-09-07 15:00:12:348 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:12:349 - [debug] [JSONWP Proxy] Proxying [POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/execute] to [POST http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/execute] with body: {"script":"return document.readyState","args":[]}
2020-09-07 15:00:12:393 - [debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"c2a48eff172429c8cafcdd75b768eb30","status":0,"value":"complete"}
2020-09-07 15:00:12:393 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:12:394 - [HTTP] <-- POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/execute 200 46 ms - 82
2020-09-07 15:00:12:417 - [HTTP] --> POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/element {"using":"name","value":"q"}
2020-09-07 15:00:12:418 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:12:418 - [debug] [JSONWP Proxy] Proxying [POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/element] to [POST http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/element] with body: {"using":"name","value":"q"}
2020-09-07 15:00:12:497 - [debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"c2a48eff172429c8cafcdd75b768eb30","status":0,"value":{"ELEMENT":"0.09024455078502092-1"}}
2020-09-07 15:00:12:498 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:12:498 - [HTTP] <-- POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/element 200 81 ms - 107
2020-09-07 15:00:13:836 - [HTTP] --> POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/element/0.09024455078502092-1/value {"text":"BrowserStack","id":"0.09024455078502092-1","value":["B","r","o","w","s","e","r","S","t","a","c","k"]}
2020-09-07 15:00:13:836 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:13:837 - [debug] [JSONWP Proxy] Proxying [POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/element/0.09024455078502092-1/value] to [POST http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/element/0.09024455078502092-1/value] with body: {"text":"BrowserStack","id":"0.09024455078502092-1","value":["B","r","o","w","s","e","r","S","t","a","c","k"]}
2020-09-07 15:00:15:544 - [debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"c2a48eff172429c8cafcdd75b768eb30","status":0,"value":null}
2020-09-07 15:00:15:544 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:15:545 - [HTTP] <-- POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/element/0.09024455078502092-1/value 200 1709 ms - 76
2020-09-07 15:00:16:944 - [HTTP] --> POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/element/0.09024455078502092-1/submit {"id":"0.09024455078502092-1"}
2020-09-07 15:00:16:945 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:16:946 - [debug] [JSONWP Proxy] Proxying [POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/element/0.09024455078502092-1/submit] to [POST http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/element/0.09024455078502092-1/submit] with body: {"id":"0.09024455078502092-1"}
2020-09-07 15:00:17:129 - [debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"c2a48eff172429c8cafcdd75b768eb30","status":0,"value":null}
2020-09-07 15:00:17:129 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:17:130 - [HTTP] <-- POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/element/0.09024455078502092-1/submit 200 185 ms - 76
2020-09-07 15:00:19:307 - [HTTP] --> POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/execute {"script":"return document.readyState","args":[]}
2020-09-07 15:00:19:307 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:19:308 - [debug] [JSONWP Proxy] Proxying [POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/execute] to [POST http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/execute] with body: {"script":"return document.readyState","args":[]}
2020-09-07 15:00:19:968 - [debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"c2a48eff172429c8cafcdd75b768eb30","status":0,"value":"interactive"}
2020-09-07 15:00:19:968 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:19:970 - [HTTP] <-- POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/execute 200 662 ms - 85
2020-09-07 15:00:19:992 - [HTTP] --> GET /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/title {}
2020-09-07 15:00:19:992 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:19:993 - [debug] [JSONWP Proxy] Proxying [GET /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/title] to [GET http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/title] with body: {}
2020-09-07 15:00:20:078 - [debug] [JSONWP Proxy] Got response with status 200: "{\"sessionId\":\"c2a48eff172429c8cafcdd75b768eb30\",\"status\":0,\"value\":\"BrowserStack - Google Suche\"}"
2020-09-07 15:00:20:078 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:20:079 - [HTTP] <-- GET /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/title 200 87 ms - 101
2020-09-07 15:00:21:247 - [HTTP] --> POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/log {"type":"browser"}
2020-09-07 15:00:21:252 - [MJSONWP] Driver proxy active, passing request on via HTTP proxy
2020-09-07 15:00:21:255 - [debug] [JSONWP Proxy] Proxying [POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/log] to [POST http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30/log] with body: {"type":"browser"}
2020-09-07 15:00:21:263 - [debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"c2a48eff172429c8cafcdd75b768eb30","status":0,"value":[{"level":"SEVERE","message":"https://www.google.com/xjs/_/js/k=xjs.qs.de.6-vFeKCJj3U.O/ck=xjs.qs.-dp4pGif2BA.L.W.O/m=quantum/am=AAAAAACAAAIAAABYNPrrjCgHigP4SyYOAAAAAJ6Aw4L9BagQPAAIgAAAAEBgrYIQAAAE/d=1/dg=2/br=1/ct=zgms/rs=ACT90oGvFyg_qToi-nhbJFB7djaNh6MPIQ 566:212 Uncaught TypeError: na`bdkMDe`","source":"javascript","timestamp":1599490819310}]}
2020-09-07 15:00:21:264 - [JSONWP Proxy] Replacing sessionId c2a48eff172429c8cafcdd75b768eb30 with 34448f0e-102c-4094-bda4-5bb9f151fbad
2020-09-07 15:00:21:267 - [HTTP] <-- POST /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad/log 200 18 ms - 419
2020-09-07 15:00:21:297 - [HTTP] --> DELETE /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad {}
2020-09-07 15:00:21:298 - [debug] [MJSONWP] Calling AppiumDriver.deleteSession() with args: ["34448f0e-102c-4094-bda4-5bb9f151fbad"]
2020-09-07 15:00:21:298 - [debug] [BaseDriver] Event 'quitSessionRequested' logged at 1599490821298 (15:00:21 GMT+0000 (UTC))
2020-09-07 15:00:21:300 - [debug] [AndroidDriver] Shutting down Android driver
2020-09-07 15:00:21:302 - [debug] [AndroidDriver] Stopping chromedriver for context CHROMIUM
2020-09-07 15:00:21:303 - [debug] [Chromedriver] Changed state to 'stopping'
2020-09-07 15:00:21:304 - [debug] [JSONWP Proxy] Proxying [DELETE /] to [DELETE http://127.0.0.1:18085/wd/hub/session/c2a48eff172429c8cafcdd75b768eb30] with no body
2020-09-07 15:00:22:023 - [debug] [JSONWP Proxy] Got response with status 200: "{\"sessionId\":\"c2a48eff172429c8cafcdd75b768eb30\",\"status\":0,\"value\":null}"
2020-09-07 15:00:22:029 - [debug] [Chromedriver] Changed state to 'stopped'
2020-09-07 15:00:22:029 - [debug] [ADB] Pressing the HOME button
2020-09-07 15:00:22:034 - [debug] [ADB] Getting connected devices...
2020-09-07 15:00:22:041 - [debug] [ADB] 6 device(s) connected
2020-09-07 15:00:22:042 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","input","keyevent",3]
2020-09-07 15:00:22:693 - [debug] [AndroidBootstrap] Sending command to android: {"cmd":"shutdown"}
2020-09-07 15:00:22:698 - [debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"shutdown"}
2020-09-07 15:00:22:699 - [debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type SHUTDOWN
2020-09-07 15:00:22:699 - [debug] [AndroidBootstrap] Received command result from bootstrap
2020-09-07 15:00:22:702 - [debug] [UiAutomator] Shutting down UiAutomator
2020-09-07 15:00:22:704 - [debug] [UiAutomator] Moving to state 'stopping'
2020-09-07 15:00:22:707 - [debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":0,"value":"OK, shutting down"}
2020-09-07 15:00:22:708 - [debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Closed client connection
2020-09-07 15:00:22:708 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: numtests=1
2020-09-07 15:00:22:708 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: stream=.
2020-09-07 15:00:22:708 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: id=UiAutomatorTestRunner
2020-09-07 15:00:22:709 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: test=testRunServer
2020-09-07 15:00:22:709 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: class=io.appium.android.bootstrap.Bootstrap
2020-09-07 15:00:22:709 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: current=1
2020-09-07 15:00:22:709 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS_CODE: 0
2020-09-07 15:00:22:710 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: stream=
2020-09-07 15:00:22:710 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] Test results for WatcherResultPrinter=.
2020-09-07 15:00:22:711 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] Time: 21.545
2020-09-07 15:00:22:711 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] OK (1 test)
2020-09-07 15:00:22:711 - [debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS_CODE: -1
2020-09-07 15:00:22:715 - [debug] [UiAutomator] UiAutomator shut down normally
2020-09-07 15:00:22:715 - [debug] [UiAutomator] Moving to state 'stopped'
2020-09-07 15:00:22:717 - [debug] [ADB] Attempting to kill all uiautomator processes
2020-09-07 15:00:22:718 - [debug] [ADB] Getting all processes with uiautomator
2020-09-07 15:00:22:719 - [debug] [ADB] Getting connected devices...
2020-09-07 15:00:22:733 - [debug] [ADB] 6 device(s) connected
2020-09-07 15:00:22:733 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","ps"]
2020-09-07 15:00:22:922 - [ADB] No uiautomator process found to kill, continuing...
2020-09-07 15:00:22:922 - [debug] [UiAutomator] Moving to state 'stopped'
2020-09-07 15:00:22:924 - [debug] [Logcat] Stopping logcat capture
2020-09-07 15:00:22:928 - [debug] [ADB] Getting connected devices...
2020-09-07 15:00:22:949 - [debug] [ADB] 6 device(s) connected
2020-09-07 15:00:22:953 - [debug] [ADB] Running '/usr/local/.browserstack/android-sdk/platform-tools/adb' with args: ["-P",5037,"-s","ce0517150aa65e1103","shell","am","force-stop","io.appium.unlock"]
2020-09-07 15:00:23:579 - [debug] [AndroidDriver] Not cleaning generated files. Add `clearSystemFiles` capability if wanted.
2020-09-07 15:00:23:579 - [Appium] Removing session 34448f0e-102c-4094-bda4-5bb9f151fbad from our master session list
2020-09-07 15:00:23:580 - [debug] [BaseDriver] Event 'quitSessionFinished' logged at 1599490823580 (15:00:23 GMT+0000 (UTC))
2020-09-07 15:00:23:581 - [debug] [MJSONWP] Received response: null
2020-09-07 15:00:23:581 - [debug] [MJSONWP] But deleting session, so not returning
2020-09-07 15:00:23:582 - [debug] [MJSONWP] Responding to client with driver.deleteSession() result: null
2020-09-07 15:00:23:583 - [HTTP] <-- DELETE /wd/hub/session/34448f0e-102c-4094-bda4-5bb9f151fbad 200 2286 ms - 76
  • Appium Logs captures the raw Appium Logs for your test execution.

Set test status

PUT /automate/sessions/{session_id}.json

You can mark tests as passed or failed using the PUT method. You can also pass a reason for failure.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X PUT -H "Content-Type: application/json" \
-d "{\"status\":\"<new-status>\", \"reason\":\"<reason text>\"}" https://api.browserstack.com/automate/sessions/<session-id>.json
  • id* String

    ID of the Session.

  • status* String

    Set session status to either passed or failed.

  • reason* String

    Reason for session failure.

Response Attributes 200 OK JSON

Response

{
    "automation_session": {
        "name": "pricing_session",
        "duration": 17,
        "os": "Windows",
        "os_version": "10",
        "browser_version": "84.0",
        "browser": "chrome",
        "device": null,
        "status": "passed",
        "hashed_id": "aa711e7c8c839cf50aeedc704351a4c6bb146d09",
        "reason": "test passed",
        "build_name": "pricing_build",
        "project_name": "pricing_project",
        "test_priority": null
    }
}
  • name String

    Name of your session.

  • duration Integer

    Time taken to run the session.

  • os String

    OS used for the session.

  • os_version String

    Version of the OS used.

  • browser_version String

    Version of the browser used.

  • browser String

    Browser used for the session.

  • device String

    Name of the device used for the session.

  • status String

    Status of the session.

  • hashed_id String

    ID of the session.

  • reason String

    Reason for test status.

  • build_name String

    Name of the build.

  • project_name String

    Name of the project.

Update session name

PUT /automate/sessions/{session_id}.json

You can update the name of your test using the PUT method.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X PUT -H "Content-Type: application/json" \
-d "{\"name\":\"<test-name>\"}" https://api.browserstack.com/automate/sessions/<session-id>.json
  • id* String

    ID of the Session.

  • name* String

    Name of the Session.

Response Attributes 200 OK JSON

Response

{
    "automation_session": {
        "name": "pricing_session",
        "duration": 17,
        "os": "Windows",
        "os_version": "10",
        "browser_version": "84.0",
        "browser": "chrome",
        "device": null,
        "status": "passed",
        "hashed_id": "aa711e7c8c839cf50aeedc704351a4c6bb146d09",
        "reason": "test passed",
        "build_name": "pricing_build",
        "project_name": "pricing_project",
        "test_priority": null
    }
}
  • name String

    Name of your session.

  • duration Integer

    Time taken to run the session.

  • os String

    OS used for the session.

  • os_version String

    Version of the OS used.

  • browser_version String

    Version of the browser used.

  • browser String

    Browser used for the session.

  • device String

    Name of the device used for the session.

  • status String

    Status of the session.

  • hashed_id String

    ID of the session.

  • reason String

    Reason for test status.

  • build_name String

    Name of the build.

  • project_name String

    Name of the project.

Delete session

DELETE /automate/sessions/{session_id}.json

You can delete a session on the server, using the DELETE method.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X DELETE https://api.browserstack.com/automate/sessions/<session-id>.json
  • id* String

    ID of the Session.

Response Attributes 200 OK JSON

Response

{
    "status": "ok",
    "message": "Session f6d62071ca9c83c3b1e4d06e02206bdc489d8fc3 was deleted successfully."
}
  • status String

    Status of deleteion.

  • message String

    Session deletion message.

Delete multiple sessions

DELETE /automate/sessions?sessionId={session_id}

You can delete multiple sessions on the server, using the DELETE method.

Request Parameters

Request

curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X DELETE "https://api.browserstack.com/automate/sessions?sessionId=<session-id-1>\&sessionId=<session-id-2>\&sessionId=<session-id-3>"
  • id* String

    IDs of the Sessions to be deleted.

Response Attributes 200 OK JSON

Response

{
    "message": "The following session(s) were deleted successfully: fc3410d9c8e4e42979ff957a5063092c42ffa025,91762abb9c83493ba951a9533599c1fe33942877."
}
  • message String

    Sessions deletion message.

Required: Read about how to get session-id that is required to invoke the endpoints

We're sorry to hear that. Please share your feedback so we can do better







Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked






Thank you for your valuable feedback