diff --git a/src/left-nav-title.json b/src/left-nav-title.json index 01841ce5..286a1b2f 100644 --- a/src/left-nav-title.json +++ b/src/left-nav-title.json @@ -679,5 +679,6 @@ "object-learning": {"/docs/windows-automation/object-learning": "Object Learning (Using UFT One)"}, "import-tsrx-files": { "/docs/windows-automation/import-tsrx-files/": "Importing/Updating TSRx Files" }, "record-elements": {"/docs/elements/mobile-web-application/record-elements/": "Record Multiple Elements" }, - "add-test-cases-for-mobile-web-app": {"/docs/test-cases/manage/add-test-cases-for-mobile-web-app/": "Test Cases (Mobile Web App)" } + "add-test-cases-for-mobile-web-app": {"/docs/test-cases/manage/add-test-cases-for-mobile-web-app/": "Test Cases (Mobile Web App)" }, + "most-common-issues": { "/docs/troubleshooting/salesforce-testing/most-common-issues/": "Most Common Issues" } } \ No newline at end of file diff --git a/src/pages/docs/runs/executing-tests-in-private-grid.md b/src/pages/docs/runs/executing-tests-in-private-grid.md new file mode 100644 index 00000000..3d1d5970 --- /dev/null +++ b/src/pages/docs/runs/executing-tests-in-private-grid.md @@ -0,0 +1,182 @@ +--- +title: "Run Tests on Private Grid" +metadesc: "Testsigma Private Grid helps run parallel tests across multiple browsers, OS, and machines. This article discusses how to setup and execute tests on Private Grid" +noindex: false +order: 9.41 +page_id: "Test Plan Local Executions" +warning: false +contextual_links: +- type: section + name: "Contents" +- type: link + name: "Prerequisites" + url: "#prerequisites" +- type: link + name: "Create Dynamic Agent Through API" + url: "#create-dynamic-agent-through-api" +- type: link + name: "Start Dynamic Agent Using jwtApiKey" + url: "#start-dynamic-agent-using-jwtapikey" +- type: link + name: "Start the Private Grid Hub & Web Nodes" + url: "#start-the-private-grid-hub--web-nodes" +- type: link + name: "Execute Tests in Private Grid using REST API" + url: "#execute-tests-in-private-grid-using-rest-api" +- type: link + name: "Execute Tests in Private Grid from Application" + url: "#execute-tests-in-private-grid-from-application" +--- + + +--- + +Testsigma Private Grid helps run parallel tests across multiple browsers, operating systems, and machines. This can boost the execution time of even the largest test suites and save minutes, hours, or days. + +![Testsigma Private Grid](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/TestsigmaHub.png) + +**Hub**
+The Hub is the main controller in Private Grid. Once it receives the test requests, it distributes them to different machines called Nodes. The Hub knows what each Node can do. It evaluates the test requirements against the capabilities of the available Nodes to select the best match and forwards the tests to the selected Nodes. + + + +**Nodes**
+Like Test Machines in Testsigma, Nodes are the machines that run the tests in Private Grid. They can have multiple browsers and operating systems. A session is created when the Node receives a test request from the client. Any commands sent to this Node will then be executed, and the response will be returned to the client. Nodes can handle multiple test sessions simultaneously, depending on their configuration and resource capacity. + +This article discusses executing tests in Testsigma Private Grid. + + +--- + +> ## **Prerequisites** +> +> - Testsigma Agent +> - Core Java (OpenJDK 18) +> - Testsigma Private Grid Folder +> - Ngrok Setup + + +--- + +## **Create Dynamic Agent Through API** +Use the following Endpoint to create Dynamic Agents with Private Grid configuration in Testsigma using REST API. + +|**Request Type**|**POST**| +|---|---| +|**Endpoint**| https://app.testsigma.com/api/v1/agents | +|**Authorization**| Bearer ****
Same as the Testsigma API key mentioned above.| +|**Request Body Type (JSON)**| Raw | +|**Payload**|
{
"name": "<Unique Agent Name>",
"agentType": "TRANSIENT",
"externalConfig": {
"url": "http://localhost:4444",
"authenticationEnabled": true,
"userName": "root",
"password": "root",
"type": "SELENIUM",
"browserList": ["Chrome", "Safari"]
}
}
|
+|**Response Body Type (JSON)**|
{
"id": 9,
"uniqueId": "a3cceab7-5bc9-41d1-a905-e54e0a23c677",
"jwtApiKey": "<Unique JWT Token>",
"agentVersion": null,
"createdById": 2,
"updatedById": 2,
"createdDate": 1719222650559,
"updatedDate": 1719222650559,
"system": {
"title": "Dynamic Agent",
"id": 21,
"protocol": "http",
"port": null,
"httpsPort": null,
"ipAddress": "127.0.0.1",
"hostName": null,
"osType": null,
"osVersion": null,
"systemType": 4
},
"browserList": [],
"currentAgentVersion": "5.9.0",
"status": "REGISTERED",
"isActive": false
}
|
+
+Here’s  a quick GIF demonstrating how to create a Dynamic Agent through API with the above mentioned endpoint.
+
+![Create Dynamic Agent](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/CreateDynamicAgent.gif)
+
+---
+
+## **Start Dynamic Agent Using jwtApiKey**
+
+Open the terminal in the **Testsigma Agent directory** and use the following command to start the **Dynamic Agent**:
+
+> **For Mac/Linux**
+>
+>
<agent_dir>./start.sh --TS_ACTIVATION_KEY=<JWT_KEY>
+ + +> **For Windows** +> +>
<agent_dir>./start.bat --TS_ACTIVATION_KEY=<JWT_KEY>
+ +Where <JWT_KEY> is **jwtApiKey** from the above response. + +Here’s a quick GIF demonstrating how to start Dynamic Agent using jwtApiKey with the above command. + +![Up Testsigma Agent](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/UpDynamicAgent.gif) + +--- + +## **Start the Private Grid Hub & Web Nodes** + +To start the **Private Grid Hub**, open the **Terminal** at **Private Grid** folder and use the following command: + +
java -jar selenium-server-4.13.0.jar hub
+ +Once the **Private Grid** starts, open http://localhost:4444 + +To start the Web Nodes, open the new tab on the same Terminal and use the following command: + +
java -jar selenium-server-4.13.0.jar node --config node.json --selenium-manager true
+ +Once the command runs, the registered **Nodes** will be added to the **Private Grid**. + +Here’s a quick GIF demonstrating the steps to start the Private Grid Hub and add Web Nodes. +![Private Grid Setup](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/PrivateHub.gif) + +--- + +## **Execute Tests in Private Grid using REST API** + +Use the following **Endpoint** to execute the Testsigma’s test plan in **Private Grid** using REST API. + +|**Request Type**|**POST**| +|---|---| +|**Endpoint**| https://app.testsigma.com/api/v1/execution_results | +|**Authorization**| Bearer ****
Same as the Testsigma API key mentioned above.| +|**Request Body Type (JSON)**| Raw | +|**Payload**|
 {
"executionId" : <Test Plan Exe ID>,
"testDevices" : [
{
"title" : "Dynamic Machine",
"targetMachine" : 27,
"browser" : "CHROME",
"executionLabType" : "Hybrid",
"suiteIds" : [<Suite IDs>],
"isHeadless" : false,
"runTestSuitesInParallel": true,
"runTestCasesInParallel": true,
"createSessionAtCaseLevel": true
}
]
}
|
+|**Sample Response Body (JSON)**|
{
"id": 581,
"execution": null,
"executionId": 346,
"startTime": 1719400027825,
"endTime": null,
"duration": null,
"result": "QUEUED",
"status": "STATUS\_CREATED",
"message": "Test Plan execution message",
"executedBy": 29,
"buildNo": null,
"environmentId": null,
"totalCount": null,
"failedCount": null,
"passedCount": null,
"stoppedCount": null,
"notExecutedCount": null,
"queuedCount": null,
"runningCount": null,
"visualTestResult": null,
"environment": null,
"childResult": null,
"reRunParentId": null,
"triggeredType": "API",
"totalRunningCount": 0,
"executionDetails": {
"page\_timeout": 30,
"element\_timeout": 30,
"recovery\_action": "Run\_Next\_Testcase",
"on\_aborted\_action": "Reuse\_Session",
"screenshot\_option": "ALL\_TYPES",
"screenshot\_mode": null,
"group\_prerequisite\_fail": "Abort",
"test\_case\_prerequisite\_fail": "Abort",
"test\_step\_prerequisite\_fail": "Run\_Next\_Testcase",
"global\_param\_name": null
},
"totalQueuedCount": 0,
"mobileInspectionId": null,
"environmentResultsDTO": [],
"executionResultConfig": null,
"isReRunEnabled": false,
"consolidatedResult": "QUEUED",
"consolidatedStatus": "STATUS\_CREATED",
"resultType": "ORIGINAL",
"consolidatedDuration": null,
"runTestCasesInParallel": false,
"runTestSuitesInParallel": false,
"scheduledId": null,
"testPlanHookResults": null,
"reRunType": null,
"consolidatedPlanTotalCount": null,
"consolidatedPlanFailedCount": null,
"consolidatedPlanPassedCount": null,
"consolidatedPlanStoppedCount": null,
"consolidatedPlanNotExecutedCount": null,
"consolidatedPlanQueuedCount": null,
"consolidatedPlanRunningCount": null,
"testDevicesNames": null,
"latestResult": null,
"testPlanResultMetric": null,
"activeExecutionResultCount": 0
}
|
+
+Here’s  a quick GIF demonstrating how to execute tests through a Dynamic Agent through API with the above mentioned endpoint.
+![Execute Tests using API](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/executetestswithgrid.gif)
+
+---
+
+## **Execute Tests in Private Grid from Application**
+
+### **a. Integrating Testsigma with Private Grid**
+
+1. From the left navigation bar, go to **Settings > Integrations** and choose the **Test Lab** tab.
+
+2. Enable the toggle on the **Private Grid** widget. A popup screen will display the details for the **Private Grid** lab.
+
+3. On **Private Grid** details, 
+    - If there is authentication enabled in ngrok platform, select **Authentication Enabled** and enter **Username** and **Password**. 
+    - Enter the **Private Hub URL** and select applications to use with your **Private Grid** framework.
+
+4. Click on **Add Details**.
+
+
+ +
+ + ℹ️Fetching the Private Hub URL: +
+Follow the steps below to set up ngrok on your device to fetch the Private Hub URL: +
    +
      +
    1. Visit ngork website, create an account, go to Getting Started > Setup & Installation.
    2. +
    3. Follow the instructions on the Setup & Installation page to set up ngrok.
    4. +
    5. Once the installation is complete, enter the command ngrok http 4444 on the terminal.
    6. +
    7. Copy the URL as shown in the image below and use this to integrate Testsigma with Private Grid.
    8. + Trulli +
    +
+
+ +
+ +### **b. Execute Tests in Private Grid** + +1. For test case execution, select **Private Grid** as **Test Lab** on **Ad-hoc Run** overlay. + + Here’s a quick GIF demonstrating how to execute a test case in Private Grid. + ![Test Case Execution](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/tcexeinPG.gif) + +2. For test plan execution, add **Private Grid** while creating test machine profiles for execution. You need to go to **Add Test Suites & Link Machine Profiles > Select test machine profiles > Add Machine** and add **Private Grid** as **Test Lab**. + + Here’s a quick GIF demonstrating how to execute a test plan in Private Grid. + + ![Test Plan Execution](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/ExecuteTestinPGUI.gif) + +--- \ No newline at end of file diff --git a/src/pages/docs/runs/test-plans-on-local-devices.md b/src/pages/docs/runs/test-plans-on-local-devices.md index 93d48a3d..c8401d4c 100644 --- a/src/pages/docs/runs/test-plans-on-local-devices.md +++ b/src/pages/docs/runs/test-plans-on-local-devices.md @@ -2,7 +2,7 @@ title: "Test Plan Local Executions" metadesc: "Local execution is preferred for testing apps that are only available locally, for security purposes. How to perform test plan executions on local devices in Testsigma." noindex: false -order: 9.41 +order: 9.42 page_id: "Test Plan Local Executions" warning: false contextual_links: diff --git a/src/pages/docs/salesforce-testing/connected-app.md b/src/pages/docs/salesforce-testing/connected-app.md index 262cd822..20ff29e2 100644 --- a/src/pages/docs/salesforce-testing/connected-app.md +++ b/src/pages/docs/salesforce-testing/connected-app.md @@ -52,7 +52,7 @@ Creating a connected app is important to link external applications and the Sale 5. In the **API** section, select the **Enable OAuth Settings** checkbox to set **Callback URL** and **Selected OAuth Scopes**. The **Selected OAuth Scopes** are mandatory in the **Connected App** to connect & download the metadata. - - Use this Callback URL: https://salesforce-callback.testsigma.com/authorize + - Use this Callback URL: https://salesforce-callback.testsigma.com/authorize/ ![API Details](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/sfcaapiinfo.png) diff --git a/src/pages/docs/salesforce-testing/metadata-connections.md b/src/pages/docs/salesforce-testing/metadata-connections.md index cbea6d41..d203edb9 100644 --- a/src/pages/docs/salesforce-testing/metadata-connections.md +++ b/src/pages/docs/salesforce-testing/metadata-connections.md @@ -67,7 +67,7 @@ There are two ways to Authenticate:
  • User name & Password: For User name & Password, enter Username, Password, Security token, Consumer key, and Consumer secret.
  • OAuth: For OAuth, enter Username, Consumer key, and Consumer secret. -
  • Callback URL: https://salesforce-callback.testsigma.com/authorize
  • +
  • Callback URL: Use the below mentioned Callback URL.

    https://salesforce-callback.testsigma.com/authorize/
@@ -86,7 +86,7 @@ There are two ways to Authenticate: - Wait until the sync is complete. This will take some time. ![Wait](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/sfmdsipg.png) -1. Once Metadata sync is successful, you can create test cases by clicking **Create Test Case**. +4. Once Metadata sync is successful, you can create test cases by clicking **Create Test Case**. ![Create Tests](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/sfmdctc.png) --- diff --git a/src/pages/docs/salesforce-testing/special-nlps.md b/src/pages/docs/salesforce-testing/special-nlps.md index ad5d78a2..3a0ee7aa 100644 --- a/src/pages/docs/salesforce-testing/special-nlps.md +++ b/src/pages/docs/salesforce-testing/special-nlps.md @@ -15,6 +15,9 @@ contextual_links: - type: link name: "List of Special NLPs" url: "#list-of-special-nlps" +- type: link + name: "Using API NLP Test Steps" + url: "#using-api-nlp-test-steps" --- --- @@ -55,4 +58,37 @@ With Testsigma's special NLPs, you can scale and enhance Salesforce Testing. The | Edit record with **RECORD_ID** using **User Connection** in **Salesforce Object** | This NLP updates a record using RECORD\_ID for a specific Salesforce object using the update record API.

**User Inputs in NLP:**
1. RECORD_ID
2. User Connection
3. Salesforce Object | | Delete record with **RECORD_ID** using **User Connection** in **Salesforce Object** | This NLP deletes a record using RECORD\_ID for a specific Salesforce object using the delete record API.

**User Inputs in NLP:**
1. RECORD_ID
2. User Connection
3. Salesforce Object | +--- + +## **Using API NLP Test Steps** + +1. Let's say you want to automate the creation of a Salesforce Lead record. + + To create a lead record, navigate to the **Leads** tab, click **New**, and fill out the form with details such as the lead's name, company, contact information, and descriptions. After entering the necessary information, save the record. The lead will be available for future actions, such as follow-ups or conversion into an account, contact, or opportunity. + + Guess what? With Testsigma, you can perform all these actions in a single API step using the following NLP: + + ![Create Lead](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/apinlpcl.png) + + Here’s a quick GIF demonstrating how to create a Salesforce lead record. + + ![Create Lead](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/CreateAPISF.gif) + +2. To edit any lead record using **RECORD_ID**, you can use the following NLP: + + ![Edit Lead](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/apinlpedit.png) + + Here’s a quick GIF demonstrating how to edit a Salesforce lead record. + + ![Edit Lead](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/Editleadsf.gif) + + +3. To delete any lead record using **RECORD_ID**, you can use the following NLP: + + ![Delete Lead](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/appinlpdlt.png) + + Here’s a quick GIF demonstrating how to delete a Salesforce lead record. + + ![Delete Lead](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/deletesflead.gif) + --- \ No newline at end of file diff --git a/src/pages/docs/troubleshooting/salesforce-testing/most-common-issues.md b/src/pages/docs/troubleshooting/salesforce-testing/most-common-issues.md new file mode 100644 index 00000000..f8bc22c1 --- /dev/null +++ b/src/pages/docs/troubleshooting/salesforce-testing/most-common-issues.md @@ -0,0 +1,126 @@ +--- +title: "Issues While Testing Apps Built on Salesforce" +page_title: "Troubleshooting Some General Issues" +metadesc: "Learn how to resolve some of the general issues while testing applications built on Salesforce | Troubleshooting general issues in Salesforce Testing" +noindex: false +order: 23.911 +page_id: "Troubleshooting Guide for Salesforce Testing" +warning: false +contextual_links: +- type: section + name: "Contents" +- type: link + name: "Authorization Failure" + url: "#authorization-failure" +- type: link + name: "Login NLP is Not Working" + url: "#login-nlp-is-not-working" +- type: link + name: "MFA Challenge" + url: "#mfa-challenge" +--- + +--- + +This troubleshooting guide for Salesforce Testing in Testsigma provides solutions to common issues while testing applications built on Salesforce. + +--- + +## **Authorization Failure** + +### **Symptoms:** +![Auth Failure](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/sfauthfailure.png) + +### **Possible Causes:** +- **ClientId** and **Secret** are incorrect. +- **Environment** might be wrong (e.g., production vs. development). +- **Callback URL** is incorrect. + +### **Steps to Resolve** + +**1. Verify ClientId and Secret:** +- Doubl check the **ClientId** and **Secret** provided by the service and ensure there are no typos. +- Regenerate the **ClientId** and **Secret** if necessary. + +**2. Check Environment Settings:** +- Ensure the correct **Environment** is selected (development, staging, production). +- Confirm your application's configuration. + +**3. Check Callback URL:** +- Ensure the **Callback URL** matches the service provider's settings and check if there are typos. +- Ensure your server is configured to handle the callback request. + +**4. Additional Notes:** +- Ensure the application's **permissions** and **scopes** are set correctly while creating a connected app. +- Check network & firewall settings for blocks on the authorization endpoint. + +For more information, refer to [creating a connected application](https://testsigma.com/docs/salesforce-testing/connected-app/). + +--- + +## **Login NLP is Not Working** + +### **Symptoms:** +Users can sync metadata but the login step fails. + + +### **Possible Causes:** + +- Salesforce **Access Token** and **Refresh Token** might have expired. +- The same connected app is being used by multiple users simultaneously. +- Users might have changed the connected app configuration in the Salesforce org. + +### **Steps to Resolve** + +**1. Re-authenticate Salesforce Connection:** + +- Try to authenticate the Salesforce connection again and obtain a new Access Token and Refresh Token. + +**2. Verify Connected App Settings:** + +- Check the connected app configuration in Salesforce and ensure all settings are correct. + +**3. Best Practices:** + +- Use different connections for different testing environments to avoid conflicts. + + +--- + +## **MFA Challenge** + +### **Symptoms:** +Users can sync metadata but encounter an MFA challenge during the process. + +### **Possible Causes:** +- Salesforce org configuration needs verification. + +### **Steps to Resolve** + +**1. Disable Org Level MFA Configurations:** + +- Disable the **Require multi-factor authentication (MFA) for all direct UI logins to your Salesforce org** setting. + ![Disable MFA Config](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/sfmla.png) + +**2. Disable User Level MFA Configurations:** +- Ensure that user-level MFA settings follow the required configuration. If not, adjust them accordingly by navigating to **Account > Settings > Advanced User Settings > User Details > Profile** + + ![MFA APIs](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/sfmla2.png) + + ![API Only User](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/sfmla3.png) + +**3. Best Practices:** + +**Waive MFA for Exempt Users:** + + - Ask customers to enable **Waive Multi-Factor Authentication for Exempt Users** in Salesforce. + ![Waive MFA](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/waivemfasf.png) + + +**Create a Permission Set for Automation Users:** + + - Create a new permission set specifically for automation users. + + - Assign this permission set to users who are performing Salesforce authentication. + +--- \ No newline at end of file