- collaboration
- Invite Team Members
- Assign Projects
- Users & Role Management
- Review Management [Test Cases]
- Review Management [Elements]
- Execution Controls
- test cases
- Test Cases
- Test Case List Actions
- Import and Export Test Cases
- Import Test Project Test Cases
- Importing Postman Collections and Environments
- Test cases for Desktop Windows
- Update Test Case result in a Test Plan
- Test cases for Mobile Web Application
- Test Step Types
- Type: Natural Language
- Type: REST API
- Type: Step Group
- Type: For Loop
- Type: While Loop
- Type: Block
- Type: If Condition
- Nested Step Groups
- Create Test Steps
- Create Test Steps Using Simple English
- Test Step Settings
- Test Step Options
- Reuse Elements
- Test Step Reordering
- Bulk Actions
- Add Steps Before & After
- Web Applications
- Test Step Actions
- Test Step Settings
- Test Data in Steps
- Add Steps Manually
- Reuse Elements
- Update Elements
- Create an Element
- Reorder Test Steps
- Bulk Actions
- Add Steps Before & After
- Record steps anywhere in a Test Case
- Image Injection
- Cross-application testing
- Test Data Types
- Raw
- Parameter
- Runtime
- Random
- Data Generator
- Phone Number
- Mail Box
- Environment
- Concat Test Data
- Create Test Data [Parameter]
- Update Test Data Profile
- Updating Value in TDP
- Import TDP
- Bulk Deletion of a Test Data Profile
- Create Test Data [Environment]
- Elements (Objects)
- Web Applications
- Record Multiple Elements
- Record Single Element
- Create Elements
- Supported Locator Types
- Formulating Elements
- Shadow DOM Elements
- Verifying elements in Chrome DevTools
- Handling iframe Elements?
- Dynamic Locators using Parameter
- Dynamic Locators using Runtime
- Using Environment Test Data for Dynamic locators
- Import/Export Elements
- AI Enabled Auto-Healing
- test plans
- Add, Edit, Delete Test Machines
- Add, Edit, Delete Test Suites
- Schedule Test Plans
- Run Test Suites In Parallel
- Cross Browser Testing
- Distributed Testing
- Headless Testing
- Test Lab Types
- Disabling Test Cases in Test Plans
- AfterTest Case
- Post Plan Hook
- AfterTest Suite
- Email Configuration in Test Plan
- Execute Partial Test Plans via API
- Ad-hoc Run
- Test Plan Executions
- Dry Runs on Local Devices
- Run Tests on Vendor Platforms
- Run Test Plans on Local Devices
- Test Locally Hosted Applications
- Debug Test Case Failures
- Parallel and Allowed queues
- debugging
- Debug results on local devices (Web applications)
- Debug Results on Local Devices
- Launch Debugger in the Same Window
- Testsigma Agent
- Pre-requisites
- Setup: Windows, Mac, Linux
- Setup: Android Local Devices
- Setting up iOS Local Devices
- Update Agent Manually
- Update Drivers Manually
- Delete Corrupted Agent
- Triggering Tests on Local Devices
- troubleshooting
- Agent - Startup and Registration Errors
- Fetching Agent logs
- Upgrade Testsigma Agent Automatically
- Testsigma Agent - FAQs
- continuous integration
- Test Plan Details
- REST API(Generic)
- Jenkins
- Azure DevOps
- AWS DevOps
- AWS Lambda
- Circle CI
- Bamboo CI
- Travis CI
- CodeShip CI
- Shell Script(Generic)
- Bitrise CI
- GitHub CICD
- Bitbucket CICD
- GitLab CI/CD
- desired capabilities
- Most Common Desired Capabilities List
- Enable Browser Console Debugging logs
- Geo location for Localization(L10N)
- Avoid unsafe download prompt(Chrome)
- Set geo location(latitude, longitude) Chrome & Firefox
- Custom User Profile - Chrome
- Emulate Mobile devices with Chrome Browser
- Add Chrome Extension
- Network Throttling
- Network Logs
- Biometric Authentication
- Enable app resigning in iOS
- Enable capturing screenshots for Android and iOS
- Configure Android WebViews
- Run Browser in Incognito/Private mode
- addons
- What is an Addon?
- Addons Community Marketplace
- Install Community Addon
- Prerequisites(Create/Update Addon)
- Create an Addon
- Update Addon
- Addon Types
- Create a Post Plan Hook add-on in Testsigma
- Create OCR Text Extraction Addon
- configuration
- API Keys
- Security(SSO)
- Setting Up Google Single Sign-On(SSO) Login in Testsigma
- Setting Up Okta Single Sign-On Integration with SAML Login in Testsigma
- Setting up SAML-based SSO login for Testsigma in Azure
- iOS Settings
- Creating WDA File for iOS App Testing
- uploads
- Upload Files
- Upload Android and iOS Apps
- How to generate mobile builds for Android/iOS applications?
- Testsigma REST APIs
- Environments
- Elements
- Test Plans
- Upload Files
- Get Project wide information
- Upload and update test data profile
- Trigger Multiple Test Plans
- Trigger Test Plan remotely and wait until Completion
- Run the same Test Plan multiple times in Parallel
- Schedule, Update and Delete a test plan using API
- Update Test Case results using API
- Create and update values of Test Data Profile using REST API
- Rerun Test Cases from Run Results using API
- open source dev environment setup
- macOS and IntelliJ Community Edition
- macOS and IntelliJ Ultimate Edition
- Windows and IntelliJ Ultimate Edition
- Setup Dev Environment [Addons]
- NLPs
- Unable to retrieve value stored in text element
- Unable to capture dropdown element
- Unable to Select Radiobutton
- Unable to Click Checkbox
- setup
- Server Docker Deployment Errors
- Secured Business Application Support
- Troubleshooting Restricted Access to Testsigma
- Why mobile device not displayed in Testsigma Mobile Test Recorder?
- Unable to create new test session due to unexpected error
- web apps
- URL not accessible
- Test Queued for a Long Time
- Issues with UI Identifiers
- Missing Elements in the Recorder
- mobile apps
- Failed to Start Mobile Test Recorder
- Troubleshooting “Failed to perform action Mobile Test Recorder” error
- Test Execution State is Queued for a Long Time
- Mobile app keeps stopping after successful launch
- More pre-requisite settings
- Unable to start WDA Process on iPhone
- Most Common causes for Click/Tap NLP failure
Upload Files using API
You can use Testsigma APIs to update or add files during test runtime as part of a CI pipeline. The updated build can be used in a Testsigma Test Plan by updating the existing App on Testsigma with the newly built one via API.
You should know how to Upload Android and iOS Apps in Testsigma.
Upload New File API
This endpoint allows users to upload Attachments, IPA or APK Files into Testsigma Uploads using REST API.
Request Type | POST |
---|---|
Endpoint | https://app.testsigma.com/api/v1/uploads |
Authorization | Bearer <API_Token> Same as the Testsigma API Key mentioned above. |
Request Body Type | Multipart form-data |
Request Body(form data) | projectId: 24 name: APIFileExample uploadType: Attachment platformType: TestsigmaLab isPublic: true applicationId: 43 version:v101 |
Response Body(JSON) | { "id": 62, "createdById": 10, "updatedById": 10, "createdDate": 1681974022556, "updatedDate": 1681974022769, "name": " APIFileExample", "latestVersionId": 68, "latestVersion": { "id": 68, "createdById": 10, "updatedById": 10, "createdDate": 1681974023000, "updatedDate": 1681974023000, "name": "v101", "path": "46091/uploads/24/68/example.png", "fileName": "example.png", "uploadType": "Attachment", "testsigmaSauceLabsAppId": null, "testsigmaBrowserstackAppId": null, "testsigmaKobitonAppId": null, "testsigmaLambdatestAppId": null, "fileSize": 181368, "preSignedURL": null, "signed": false, "errorMessage": null, "status": "SUCCESS", "uploadName": " APIFileExample", "signStatus": "NONE", "uploadId": 62 }, "versions": null, "supportedDeviceType": null, "isFlutter": false } Note: The Response Body may contain additional information besides the mentioned keys. You can ignore that information. |
Request fields
- projectId (int): The ID of the project.
- name (string): The name of the file.
- uploadType (string): The type of upload (e.g. "Attachment").
- platformType (string): The type of platform (e.g. "TestsigmaLab").
- isPublic (boolean): Whether or not the file is public.
- applicationId (int): The ID of the application.
- version (string): The version of the file.
Response fields
- id (int): The ID of the file.
- createdById (int): The user's ID who created the file.
- updatedById (int): The user's ID who last updated the file.
- createdDate (int): The timestamp when the file was created.
- updatedDate (int): The timestamp when the file was last updated.
- name (string): The name of the file.
- latestVersionId (int): The ID of the latest version of the file.
-
latestVersion (object): An object containing information about the latest version of the file. This object has its own set of fields:
- id (int): The ID of the latest version of the file.
- createdById (int): The ID of the user who created the latest version of the file.
- updatedById (int): The ID of the user who last updated the latest version of the file.
- createdDate (int): The timestamp when the latest version of the file was created.
- updatedDate (int): The timestamp when the latest version of the file was last updated.
- name (string): The name of the latest version of the file.
- path (string): The path to the latest version of the file.
- fileName (string): The name of the latest version of the file, including the file extension.
- uploadType (string): The type of upload (e.g. "Attachment").
- testsigmaSauceLabsAppId (string/null): The ID of the Testsigma Sauce Labs app associated with the file, if any.
- testsigmaBrowserstackAppId (string/null): The ID of the Testsigma BrowserStack app associated with the file, if any.
- testsigmaKobitonAppId (string/null): The ID of the Testsigma Kobiton app associated with the file, if any.
- testsigmaLambdatestAppId (string/null): The ID of the Testsigma Lambdatest app associated with the file, if any.
- fileSize (int): The size of the latest version of the file in bytes.
- preSignedURL (string/null): The pre-signed URL of the latest version of the file, if any.
- signed (boolean): Whether or not the latest version of the file is signed.
- errorMessage (string/null): Any error message associated with the latest version of the file, if any.
- status (string): The status of the latest version of the file (e.g. "SUCCESS").
- uploadName (string): The name of the file that was uploaded to create the latest version of the file.
- signStatus (string): The signing status of the latest version of the file (e.g. "NONE").
- uploadId (int): The ID of the file that was uploaded to create the latest version of the file.
- versions (null): A placeholder field not currently used.
- supportedDeviceType (null): A placeholder field not currently being used.
- isFlutter (boolean): Whether or not the file is a Flutter project.
Update File API
This endpoint allows users to upload Attachments, IPA or APK Files via REST API for use in Test Plans.
Request Type | POST |
---|---|
Endpoint | https://app.testsigma.com/api/v1/uploads<Upload_ID> The Upload ID can be obtained from the Uploads Page as mentioned in the below section |
Authorization | Bearer <API_Token> Same as the Testsigma API Key mentioned above. |
Request Body Type | Multipart form-data |
Request Body(form data) | projectId: 24 name: APIFileUpdated uploadType: Attachment platformType: TestsigmaLab isPublic: true applicationId: 43 version:v101 |
Response Body(JSON) | { "id": 62, "createdById": 10, "updatedById": 10, "createdDate": 1681974023000, "updatedDate": 1681974187126, "name": " APIFileUpdated", "latestVersionId": 68, "latestVersion": { "id": 68, "createdById": 10, "updatedById": 10, "createdDate": 1681974023000, "updatedDate": 1681974023000, "name": "v101", "path": "46091/uploads/24/68/example.png", "fileName": "example.png", "uploadType": "Attachment", "testsigmaSauceLabsAppId": null, "testsigmaBrowserstackAppId": null, "testsigmaKobitonAppId": null, "testsigmaLambdatestAppId": null, "fileSize": 181368, "preSignedURL":"https://s3.amazonaws.com/attachments-production.testsigma.com/testsigmatech.com/uploads/11/147/Testfile.pdf?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEPDYqAbdKsCA%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20211027T080801Z&X-Amz-SignedHeaders=host&X-Amz-Expires=10799&X-Amz-Credential=AS211027%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=0e2f85ef6c0069e014", "signed": false, "errorMessage": null, "status": "SUCCESS", "uploadName": " APIFileUpdated", "signStatus": "NONE", "uploadId": 62 }, "versions": null, "supportedDeviceType": null, "isFlutter": false } Note: The Response Body may contain additional information besides the mentioned keys. You can ignore that information. |
Request fields
- projectId (required): An integer representing the ID of the project
- name (required): A string representing the name of the API file that was updated
- uploadType (required): A string representing the type of file upload (e.g. "Attachment", "Link", etc.)
- platformType (required): A string representing the type of platform the API file was updated on (e.g. "TestsigmaLab", "Postman", etc.)
- isPublic (optional): A boolean indicating whether the updated API file should be publicly accessible or not (default is usually false)
- applicationId (optional): An integer representing the ID of the application associated with the updated API file
- version (optional): A string representing the version of the updated API file (e.g. "v101")
Response fields
- id (integer): ID of the API file
- createdById (integer): The user's ID who created the file.
- updatedById (integer): The user's ID who last updated the file.
- createdDate (integer): timestamp when the API file was created
- updatedDate (integer): timestamp when the API file was last updated
- name (string): name of the API file
- latestVersionId (integer): ID of the latest version of the API file
-
latestVersion (object): object containing details of the latest version of the API file, including:
- id (integer): ID of the latest version
- createdById (integer): ID of the user who created the latest version
- updatedById (integer): ID of the user who last updated the latest version
- createdDate (integer): Timestamp when the latest version was created
- updatedDate (integer): Timestamp when the latest version was last updated
- name (string): Name of the latest version
- path (string): Path of the file in the server
- fileName (string): Name of the file
- uploadType (string): Type of upload
- testsigmaSauceLabsAppId (null or string): Sauce Labs App ID for the upload
- testsigmaBrowserstackAppId (null or string): BrowserStack App ID for the upload
- testsigmaKobitonAppId (null or string): Kobiton App ID for the upload
- testsigmaLambdatestAppId (null or string): LambdaTest App ID for the upload
- fileSize (integer): Size of the file in bytes
- signed (boolean): Whether the file is signed or not
- errorMessage (null or string): Error message if any
- status (string): Status of the file upload
- uploadName (string): Name of the upload
- signStatus (string): Sign status of the file
- uploadId (integer): ID of the upload
- versions (null): Versions of the API file
- supportedDeviceType (null): Device types supported by the API file
- isFlutter (boolean): Whether the API file is for Flutter or not
All properties mentioned in the section ‘Upload File properties for Upload file API’ are applicable here in addition to the properties mentioned below.
Upload ID: This can be found from the API Response while uploading the file. You can also find the Upload ID later from the Copy Path option.
The copy path URL is in the format:
testsigma-storage:/<account-name>/uploads/<project-id>/<upload-id>/file.pdf
For example, In the URL: testsigma-storage:/testsigma.com/uploads/101/147/file.pdf, the app ID is 147
GET Upload API
Will Return the Upload details
Request Type | GET |
---|---|
Endpoint | https://app.testsigma.com/api/v1/uploads/<Upload_ID> The Upload ID can be obtained from the Uploads Page as mentioned in below section |
Authorization | Bearer <API_Token> Same as the Testsigma API Key mentioned above. |
Response Body(JSON) | { "id": 147, "projectId": 11, "createdById": 43, "updatedById": 43, "createdDate": 1633535450000, "updatedDate": 1635322081221, "name": "test-file", "appPath": "testsigmatech.com/uploads/11/147/Testfile.pdf", "fileName": "Testfile.pdf", "uploadType": "Attachment", "version": null, "testsigmaAppId": null, "testsigmaSauceLabsAppId": null, "browserStackAppId": null, "sauceLabsAppId": null, "platformType": "TestsigmaLab", "isPublic": null, "uploadStatus": "Completed", "comments": null, "message": "Uploaded successfully", "status": 1, "nameFromApp": null, "versionFromApp": null, "fileSize": 334666, "preSignedURL": "https://s3.amazonaws.com/attachments-production.testsigma.com/testsigmatech.com/uploads/11/147/Testfile.pdf?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEPDYqAbdKsCA%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20211027T080801Z&X-Amz-SignedHeaders=host&X-Amz-Expires=10799&X-Amz-Credential=AS211027%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=0e2f85ef6c0069e014", "signed": false } Note: The Response Body may contain additional information besides the mentioned keys. You can ignore that information. |
Response fields
- id (integer): The unique identifier of the file.
- projectId (integer): The identifier of the project that the file belongs to.
- createdById (integer): The identifier of the user who created the file.
- updatedById (integer): The identifier of the user who last updated the file.
- createdDate (integer): The date and time the file was created in UNIX timestamp format.
- updatedDate (integer): The file's date and time were last updated in UNIX timestamp format.
- name (string): The name of the file.
- appPath (string): The file path in the application's storage system.
- fileName (string): The name of the file with its extension.
- uploadType (string): The type of file upload, for example, "Attachment".
- version (string): The version number of the file, if applicable.
- testsigmaAppId (string): The file identifier in the TestSigma application, if applicable.
- testsigmaSauceLabsAppId (string): If applicable, the file identifier in the TestSigma SauceLabs application.
- browserStackAppId (string): The file identifier in the BrowserStack application, if applicable.
- sauceLabsAppId (string): The file identifier in the SauceLabs application, if applicable.
- platformType (string): The type of platform where the file was uploaded, for example, "TestsigmaLab".
- isPublic (boolean): A flag indicating whether the file is public or not.
- uploadStatus (string): The file upload status is "Completed".
- comments (string): Any comments related to the file.
- message (string): A message related to the file upload, for example, "Uploaded successfully".
- status (integer): The status of the file, for example, 1 for active or 0 for inactive.
- nameFromApp (string): The file's name in the application, if different from the original name.
- versionFromApp (string): The file's version number in the application, if applicable.
- fileSize (integer): The size of the file in bytes.
- preSignedURL (string): A pre-signed URL that allows authorised access to the file.
- signed (boolean): A flag indicating whether the pre-signed URL is signed.
GET Uploads API
Will Return the Upload details
Request Type | GET |
---|---|
Endpoint | https://app.testsigma.com/api/v1/uploads?query=name:<upload_name> The Upload ID can be obtained from the Uploads Page as mentioned in below section |
Authorization | Bearer <API_Token> Same as the Testsigma API Key mentioned above. |
Response Body(JSON) | { "id": 147, "projectId": 11, "createdById": 43, "updatedById": 43, "createdDate": 1633535450000, "updatedDate": 1635322081221, "name": "test-file", "appPath": "testsigmatech.com/uploads/11/147/Testfile.pdf", "fileName": "Testfile.pdf", "uploadType": "Attachment", "version": null, "testsigmaAppId": null, "testsigmaSauceLabsAppId": null, "browserStackAppId": null, "sauceLabsAppId": null, "platformType": "TestsigmaLab", "isPublic": null, "uploadStatus": "Completed", "comments": null, "message": "Uploaded successfully", "status": 1, "nameFromApp": null, "versionFromApp": null, "fileSize": 334666, "preSignedURL": "https://s3.amazonaws.com/attachments-production.testsigma.com/testsigmatech.com/uploads/11/147/Testfile.pdf?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEPDYqAbdKsCA%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20211027T080801Z&X-Amz-SignedHeaders=host&X-Amz-Expires=10799&X-Amz-Credential=AS211027%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=0e2f85ef6c0069e014", "signed": false } Note: The Response Body may contain additional information besides the mentioned keys. You can ignore that information. |
Response fields
- id (integer): Unique identifier for the uploaded file.
- projectId (integer): An identifier for the project to which the file belongs.
- createdById (integer): An identifier for the user who uploaded the file.
- updatedById (integer): An identifier for the user who last updated the file.
- createdDate (integer): Timestamp in milliseconds indicating when the file was uploaded.
- updatedDate (integer): Timestamp in milliseconds indicating when the file was last updated.
- name (string): Name of the uploaded file.
- appPath (string): The file path in the application's storage.
- fileName (string): The name of the uploaded file.
- uploadType (string): The type of upload (e.g., "Attachment").
- version (string): The version number of the uploaded file.
- testsigmaAppId (string): An identifier for the uploaded file in Testsigma.
- testsigmaSauceLabsAppId (string): An identifier for the uploaded file in SauceLabs.
- browserStackAppId (string): An identifier for the uploaded file in BrowserStack.
- sauceLabsAppId (string): An identifier for the uploaded file in SauceLabs.
- platformType (string): The platform type for the uploaded file (e.g., "TestsigmaLab").
- isPublic (boolean): Indicates whether the uploaded file is public.
- uploadStatus (string): The status of the file upload (e.g., "Completed").
- comments (string): Comments for the uploaded file.
- message (string): A message indicating the success or failure of the file upload.
- status (integer): The status code indicating the success or failure of the file upload.
- nameFromApp (string): The name of the uploaded file from the application.
- versionFromApp (string): The version number of the uploaded file from the application.
- fileSize (integer): The uploaded file size in bytes.
- preSignedURL (string): The pre-signed URL of the uploaded file.
- signed (boolean): Indicates whether the uploaded file is signed.
GET Upload Versions API
Will Return All Versions of the UploadID/File
Request Type | GET |
---|---|
Endpoint | https://app.testsigma.com/api/v1/upload_versions?query=uploadId: The Upload ID can be obtained from the Uploads Page as mentioned in below section |
Authorization | Bearer <API_Token> Same as the Testsigma API Key mentioned above. |
Response Body(JSON) | [{ "id": 147, "createdById": 43, "updatedById": 43, "createdDate": 1633535450000, "updatedDate": 1635322081221, "name": "test-file", "appPath": "testsigmatech.com/uploads/11/147/Testfile.pdf", "fileName": "Testfile.pdf", "uploadType": "Attachment", "testsigmaAppId": null, "testsigmaSauceLabsAppId": null, "browserStackAppId": null, "sauceLabsAppId": null, "fileSize": 334666, "preSignedURL": "https://s3.amazonaws.com/attachments-production.testsigma.com/testsigmatech.com/uploads/11/147/Testfile.pdf?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEPDYqAbdKsCA%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20211027T080801Z&X-Amz-SignedHeaders=host&X-Amz-Expires=10799&X-Amz-Credential=AS211027%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=0e2f85ef6c0069e014", "signed": false }] Note: The Response Body may contain additional information besides the mentioned keys. You can ignore that information. |
Response fields
- id (integer): The unique identifier of the file upload.
- createdById (integer): The unique identifier of the user who created the file upload.
- updatedById (integer): The unique identifier of the user who last updated the file upload.
- createdDate (integer): The date and time when the file upload was created.
- updatedDate (integer): The date and time the file upload was last updated.
- name (string): The name of the uploaded file.
- appPath (string): The application path where the file is stored.
- fileName (string): The name of the uploaded file.
- uploadType (string): The type of upload.
- testsigmaAppId (string): The ID of the Testsigma App associated with the file, if any.
- testsigmaSauceLabsAppId (string): The ID of the Sauce Labs App associated with the file, if any.
- browserStackAppId (string): The ID of the BrowserStack App associated with the file, if any.
- sauceLabsAppId (string): The ID of the Sauce Labs App associated with the file, if any.
- fileSize (integer):: The size of the uploaded file in bytes.
- preSignedURL (string): The pre-signed URL of the uploaded file.
- **signed (boolean) **: A boolean value indicates whether the file upload is signed.