MENU
      Visual Testing Using API
      • 29 Mar 2023
      • 3 Minutes to read

      Visual Testing Using API


      Article summary

      Performing Visual Testing through API

      1. Authorization - This API enables users to authenticate. On successful authentication, the user will get a token.
      curl -u "email:apiKey"< Cloud_URL>/api/access
      Plain text

      Parameters -

      • email-your email id
      • accessKey-your access key (you will get it from Account Settings->API)

      Response -

      {"result":{"token":"yz8jn9********whbfgj","code":200}}
      Plain text
      1. Get Device
        request POST < Cloud_URL>/api/devices
      curl -H "Content-Type: application/json" -d '{ "token":"authToken","duration":10, "platform":"platform", "available_now":"true"}'
      Plain text

      Parameter Description

      • token: Authtoken (you can get this from the authenticate response)
      • duration: Duration in minutes (How many minutes you want the device for).
      • platform: Which platform devices (Android or iOS) you want to view.
      • available_now true or false.: True means display the available devices and false means display all devices (including busy and available).

      Response -

      {
      "result": {
      "token": "yz8jn9********whbfgj",
      "code": 200,
      "models": [
      {
      "index": 1,
      "full_name": "Apple_iPadPro3rdGen_Ios_14.6.0_3f939",
      "id": 780,
      "alias_name": "3f939",
      "model": "iPadPro3rdGen",
      "display_name": "iPad Pro 3rd Gen",
      "platform": "ios",
      "version": "14.6.0",
      "cpu": "Octa Core",
      "bucket": 4,
      "manufacturer": "Apple",
      "mobile_number": "",
      "dpi": "xxxhdpi",
      "url": "https://device.pcloudy.com/device_images/small/iPad_Pro_3rdgen.png",
      "ram": 6144,
      "resolution": "2048x2732",
      "display_area": 12.9,
      "available": true
      }
      ]
      }
      }
      Plain text
      1. Book Device
        request POST <Cloud_URL>/api/book_device
      curl -H 'ContentType:application/json' -d '{"token":"authToken","duration":minutes, "id":device_id}'
      Plain text

      Parameter Description

      • token: Authtoken (You will get this from the authenticate response)
      • duration: Duration in minutes (How many minutes do you want to book the device for?).
      • id: Device id (You will get this from the get devices api response).

      Response -

      {"result":{"token":"yz8jn9k********mwhbfgj","code":200,"rid":2320557}}
      Plain text
      1. Upload image
        request POST <Cloud_URL>/api/v2/visual/upload-image

        header 'token: ******************'

        form 'file=@"/file_path”

        Parameter Description

        • token: Authtoken (You will get this from the authenticate response)
        • Image(.png file)(Image that you wish to test)

      Response -

      {
      "requestId": "566315c0-6827-485f-9667-255c356db66d",
      "statusCode": 200,
      "status": "success",
      "message": "image.png uploaded successfully",
      "data": {
      "fileId": "5566fb19-0a23-420c-8d5c-851771152594",
      "filename": "image.png"
      }
      }
      Plain text
      1. Get all text of the uploaded image: This api is used to get all the text present in the uploaded image
        request POST <Cloud_URL>/api/v2/ocr/text

        body '{"imageId":"b23e03ce-1cf2-41ab-9e0c- b8e91b8ed384","rid":2320539}'

        Parameter Description

        • token: Authtoken (You will get this from the authenticate response)
        • ImageID:(You will get this from the Upload image response.ie fileId)
        • Rid:(You will get this using book device api)

      Response -

      {
      "requestId": "1bb75b3e-a7e9-4e82-9d5a-1a18044a65d5",
      "statusCode": 200,
      "status": "success",
      "message": "OK",
      "data": "No Service\n6:23 pmn\nAA\nfacebook.com\nfacebook\nMobile number or email address\nPassword\nLog In\nForgotten password?\nor\nCreate New Account\nEnglish (UK)\n93\nHRTST\nf\nAbout Help More\nMeta 2022"
      }
      Plain text
      1. To verify a word is present in the image-This API enables the user to check if the word is there or not in the image

      request POST <Cloud_URL>/api/v2//ocr/text-exists

      --header 'token: 75c4g6**********smkpbhdyy'
      --body '
      {
      "imageId":"5566fb19-0a23-420c-8d5c-851771152594",
      "word":"amazon",
      "rid":2320383
      }'
      Plain text

      Parameter Description

      • token: Authtoken (You will get this from the authenticate response)
      • ImageID:(You will get this from the Upload image response.ie fileId)
      • Rid:(You will get this using book device api)
      • word( Enter the word that you wish to verify)

      Response -

      {
      "requestId": "862e515c-9caa-4bd4-8448-b80be834650b",
      "statusCode": 200,
      "status": "success",
      "message": "OK",
      "data": false
      }
      Plain text
      1. To get the coordinates of a particular word

      Note: There should not be space between the words.

      request POST <Cloud_URL>/api/v2//ocr/text-coordinate

      ---header 'token: 75c4g6*********kpbhdyy'
      --data-raw '{"imageId":"97256bf5-f3dc-4098-8a65-808b2d7c874c","word": "FACEBOOK", "rid": 2320389} '
      Plain text

      Parameter Description

      • token: Authtoken (You will get this from the authenticate response)
      • ImageID:(You will get this from the Upload image response.ie fileId)
      • Rid:(You will get this using book device api)
      • word( Enter the word that you wish to verify)

      Response -

      {
      "requestId": "862e515c-9caa-4bd4-8448-b80be834650b",
      "statusCode": 200,
      "status": "success",
      "message": "OK",
      "data": [
      {
      "WordText": "FACEBOOK",
      "Left": 259,
      "Top": 909,
      "Height": 33,
      "Width": 217
      }
      ]
      }
      Plain text

      Note: if the user gives any word that is not there then they will get an empty response

      {
      "requestId": "7a1f7ab1-fb6f-4e23-92a2-d87dd244df2c",
      "statusCode": 200,
      "status": "success",
      "message": "OK",
      "data": []
      }
      Plain text
      1. Compare two images - This API is used to compare two images and find the difference between the two images
        request POST <Cloud_URL>/api/v2/visual/imagecompare
      --header 'token: 75c4g6r3********kpbhdyy'
      ----body '{
      "firstImageId":"7f8c1426-48b0-467e-a05c-f9af917a09c8",
      "secondImageId":"0e6a80da-8b34-4855-9208-961c647680d5",
      "rid":2320383
      }'
      Plain text

      Parameter Description

      • token: Authtoken (You will get this from the authenticate response)
      • First ImageID:(You will get this from the Upload image response.ie fileId)
      • Second ImageID:(You will get this from the Upload image response.ie fileId)
      • Rid:(You will get this using book device api)

      Response -

      {
      "requestId": "276fa242-4d92-4e0f-a5da-ccb308a230e1",
      "statusCode": 200,
      "status": "success",
      "message": "OK",
      "data": < base64>
      Plain text

      Note: User needs to convert base64 to png. Differences will be highlighted


      Was this article helpful?