This guide introduces you to a pivotal component of Qualitia Automation Studio (QAS) – Salesforce Application and covers its core features, from the intuitive recording toolbar to the advanced verification steps, mouse hover actions, browser simulations, and the dynamic locator type priority. Let’s discover how the Salesforce application can redefine your test automation experience.
📚Prerequisites
User should have the QAS - Client installed.
Enable the feature flags.
The project needs to be Salesforce.
User should create Connect App in Salesforce.
Establishing Connection with the Salesforce Application
To start using the Salesforce application, you need to first establish a connection between QAS - Client and the Salesforce application you a willing to use.
Follow the below steps to establish the connection:
Login to Qualitia Automation Studio (QAS) - Client.
Access Settings from left navigation to view the Settings screen. On the Settings screen, select Project Configuration.
Expand Project Configuration and click Salesforce to open Salesforce Connections screen.
On the Salesforce Connections screen, you can see all the previously established connection, if any, and also search for one by the Connection Name using the Search option.
To create a new connection, click New. This will open the New Salesforce Connection window.
You can establish the connection by choosing one of following:
Login using OAuth: To login using this method enter the below details.
Connection Name: Enter an intuitive name for the connection that is easy to recognize.
Salesforce URL: Enter the Salesforce application URL. It should be a Classic URL.
Client ID: Enter the Consumer Key generated from the Connected App. Refer Create Connected App in Salesforce for more info.
Client Secret: Enter the Consumer Secret generated from the Connected App. Refer Create Connected App in Salesforce for more info.
Login using Salesforce URL:
Connection Name: Enter an intuitive name for the connection that is easy to recognize.
Salesforce URL: Enter the Salesforce application URL. It should be a Classic URL.
Username: Enter the username registered with the Salesforce application.
Password: Enter the password for logging into the Salesforce application.
Security Token: Enter the Security Token generated using the Salesforce application. Refer Steps to Generate Security Token for more details.
Environment
Click Connect.
The Enable Client Credentials Flow checkbox should be checked to establish a successful connection. You will find this option under the API (Enable OAuth Settings) on the Connected App.
When one user is editing a connection another user cannot edit, delete, or work with that connection.
Create Connected App in Salesforce
Log in to Salesforce as an administrator.
Click Setup from the upper-right corner of the Salesforce application screen.
Navigate to App Manager from the left pane and click New Connected App.
Enter the details in the required fields under Basic Information on the New Connected App page.
Connected App Name (e.g., Qualitia Integration)
API Name (e.g., Qualitia Integration)
Note that the API Name will be auto populated as Connect App Name.Contact Email
Enable OAuth Settings under API:
CreateSelect Enable OAuth Settings.
Enter https://login.salesforce.com/ in the Callback URL field.
Select Manage user data via APIs (api) in the Selected OAuth Scopes field and click Add.
Click Save to create the new Connected App.
Navigate to the Connected Apps list and click Manage.
On the Manage screen, go to OAuth Policies and click Edit
Under Permitted Users, select All users may self-authorize.
Click Save to save the changes.
Go back to the Connected Apps list and click the App you just created.
In the API (Enable OAuth Settings) section, you will find the Consumer Key and Consumer Secret which will be required for configuring Credentials in Qualitia Integration.
Take a note of the Consumer Key and Consumer Secret for configuring credentials in Qualitia Integration.
Edit a Connection
You can edit a connection from the Settings tab, or from the Object Repository.
Edit a connection from the Settings tab:
Access Settings from left navigation to view the Settings screen. On the Settings screen, select Project Configuration.
Expand Project Configuration and click Salesforce to open Salesforce Connections screen.
On the Salesforce Connections screen, you will see the list of connections.
Click the Pencil icon at the right to edit the connection.
Update the required changes and click Connect.
Edit through Object Repository
For Salesforce project we have two object repositories.
Qualitia Objects: The objects that are created using Recorder, Web ObjectSpy, or manual object creation will be available under this repository.
Salesforce: The objects that are obtained from Salesforce application by using the established connection can be found under Salesforce repository.
Steps to edit using object Repository:
Go to Object Repository.
Expand the Salesforce tab to view the list of the connections.
Click the Settings icon on the right-hand corner of the connection you are willing to edit.
If your password or Security Token is expired the connection will be failed. And in this case, you can edit the connection from the Change Management tab.
Import Object
Salesforce also provide the provision to import objects. There are two scenarios in which you can import the objects, for a) New connection and b) Existing connection.
New Connection
Fresh connection where no objects are imported before. In this case, you will see Import Objects option below the connection.
Click Import Objects to open the Import Salesforce Objects window.
You will see two options StandardButtons and the connection fields.
Import the Standard Buttons if not done before.
Importing standard buttons is a one-time process. Once you have imported the standard buttons, it can be used for all the connections.Expand the connection by clicking on the arrow to view all the tabs and available objects under it.
Search for the tab you want to import the object for and click the arrow near the tab to expand it, you will see three containers:
Create: Contains list of all the objects available for the tab. Expand Create to view the list of objects. Select the objects you want to import or check the checkbox next to Create to select all.
WebLinks: Consists of list of all the weblinks available for the tab. Expand WebLinks and select the ones you are willing to import.
Record Details Pages: The record details will be available under Record Details Pages.
Use filter next to Search to select the objects based on the Object Class and Object Type. For object type, you can select from the following options.
All: All the fields including mandatory as well as non-mandatory will be imported.
Mandatory: Only the mandatory fields will be imported.
Non-Mandatory: Only non-mandatory fields will be imported.
Once you have selected the objects you want to import, click Import.
The objects will be imported successfully.
When you expand Create to see the list of objects, you will see loading… as it will take some time to load the list.
The mandatory fields will be marked with an asterisk.
You can import multiple objects at a time. Select all the objects and click Import.
When you create a new connection using the Salesforce application and try to import objects, you will see additional object entries under the Import Object section.
Existing Connection
Already established connection where objects have been imported before. In this case, you will see an Import Object option next to Edit Connection. You can reimport the objects using this option.
Click Import Object to open the Import Salesforce Objects window.
Expand the connection by clicking on the arrow to view all the objects and fields available for the connection.
Follow steps 5 to 8 from New Connection.
You won’t be able to import the already imported objects and it will be in disabled form.
Change Management
The Change Management or Sync Object functionality allows you to fetch the real-time updates or changes done on the SFDC application and review them.
Go to Salesforce tab from the Object Repository.
Click Sync Object from the right-hand corner. You will see Loading changed objects… screen.
Once the loading is complete, you will see an Object Updates window.
On the Object Updates window, you can review all the changes/updates done on the SFDC application. Where N stands for new, D stands for deleted, and U stands for updates object.
Click Accept to accept the change; else, click Cancel.
When a Salesforce object is deleted and recreated with the same name without accepting changes through Change Management, a uniqueness conflict may occur. Since the label is used as the unique identifier for Salesforce objects, the new object will retain the same Object ID as the previously imported object in Qualitia, potentially leading to issues in object management and identification.
Multi-locator Support for Imported Object
QAS provides multi-locator support for the imported objects. Multiple locators for an object allow you to run a successful execution without interruption.
There are three locator types that QAS support for imported SFDC objects, which include SFDC:LABEL, SFDC:PARENT_LABEL, and SFDC:NAME. You can drag and drop the locator type field and rearrange the sequence as per your preference.
You can also edit the text under Value field if needed.
Create Salesforce API Object
Create Salesforce API Object through Object Repository
To create SFDC API object follow the below steps:
Go to Object Repository.
Click New API Object option for the connection as shown in the image below.
Clicking New API Object will open the Create Salesforce API Object screen.
On the Create Salesforce API Object screen, enter the details such as:
Name: Enter the API name.
Salesforce Object: Select the Salesforce object form the dropdown. You will see list of all the imported objects here.
Operation: Choose the operation you want to perform on the object.
Description: Add desired description for the API.
Once the Salesforce Object and Operation fields are selected, the Dataset and Validation Rules tabs will be enabled.
Now to perform the operation, you need to provide the dataset. Go to the Dataset tab and provide the details.
Note: All the mandatory fields (marked with asterisk) in the application will be fetched in default dataset. Dataset: 1 in the above image is the default dataset.
To add more dataset, click the + icon from the top-right corner.
Click on the three dots to:
Edit: Edit the dataset.
Duplicate: Create duplicate dataset.
View JSON: View JSON for the dataset.
Delete: Delete the dataset, only if there are more than one dataset.
Click Test from the top-right corner to test the request.
Clicking Test will open a Response screen (as shown below), where you can view the test results. You can view the result in JSON or Text format.
You can also view the result on the Salesforce application. The data will be fetched, and a JSON will be created on the Salesforce application.
Click Validation Rules tab to create a validation rule for an object.
When no Validation Rule exist, you are prompted to Create a validation set.
You can also click + Create Validation Set from the top-right corner of the tabular section.
Clicking Create will open a Create Validation Set window with the following fields:
Name: Enter an intuitive name for the validation set that is easy to recognize.
Maximum length permitted is 300 characters including spaces.Description: A brief description about the suite.
Click Save to proceed; otherwise, click Cancel.
You can now add validation rules under the Validation Set.
Click Add Validation Rule from the validation set you created.
Clicking Add Validation Rule will open a Create Validation Rule window with the following fields:
Rule Name: Enter an intuitive name for the validation rule that is easy to recognize.
Maximum length permitted is 300 characters including spaces.Rule Type: You can select one of the three rule types.
Status Code: Select Status Code and provide the Expected Status Code to validate against it.
Response Time: Select Response Time and enter the Response Time Witnin to get the expected response in time. This value should be in milliseconds.
Property-Value: Selecting Property-Value will open few more fields:
Field Name: Enter the field name that is available for the object.
Field Type: Select the field type from the dropdown, Text, Boolean, or Integer.
Match Field Value: Select Exact Match or Contains from the dropdown as per your requirement. Exact Match will look for the same field value provided.
Value: Enter the field value you want to be in your response.
Select the check box Store field value as if you want to store the response as a Key.
Click Test Rule to validate the created rules.
Create Salesforce API Object through Test Case Editor
Login to QAS - Client.
Access Develop from left navigation to view Test Explorer screen.
On the Explorer section, you can view existing Test Scenarios.
Click the Expand option on a test scenario, where you can view all its test cases.
Select a test case.
Right-click on the test case and hover over Create Object.
Click Salesforce API, it will open Create Salesforce API Object screen.
Follow steps 4 to 12 from the previous section. https://qualitia.atlassian.net/wiki/spaces/QASNew/pages/edit-v2/34857453225#Create-Salesforce-API-Object-through-Object-Repository.
Steps to Generate Security Token
Please generate the security token for all the users by following the below steps.
Login to Salesforce and go to Personal Settings.
In the Quick Find box, type "Reset" and click Enter.
From the search results, select Reset My Security Token.
You'll be directed to a page or option where you can reset the security token.
Click on the option or button labeled Reset Security Token.
After clicking, Salesforce will generate a new security token for you.
Check the email address associated with your Salesforce personal settings. You might have received an email containing the new Security Token.
Note down or copy the Security Token from the email.
You can now use this security token for authenticating with Salesforce or any integrations that require it.
In cases such as change password or reset token, user must regenerate the token and update the connection in Qualitia.
APIs Used
QAS uses certain APIs to get access to the application data. The following are the categories of APIs used:
Metadata APIs
Item | Description |
---|---|
Entry Point | https://{base}/services/data/v{Version}/ |
API Access required in connected App | Metadata API Edit Access or Full access |
Reference link on all APIs | Result Objects | Metadata API Developer Guide | Salesforce Developers |
Metadata APIs
Item | Description |
---|---|
Entry Point | https://{base}/services/data/v{Version}/ |
API Access required in connected App | API Enabled permission or Full access |
Reference link on all APIs | Versions | REST API Developer Guide | Salesforce Developers |
Connection APIs
Basic authentication
Item | Description |
---|---|
SOAP Entry point – URL base | {{_endpoint}}/services/Soap/m/{{version}} |
API Access required in connected App | OAuth flows |
Reference link on all APIs used | API Call Basics | SOAP API Developer Guide | Salesforce Developers |
OAuth Authentication
Item | Description |
---|---|
Entry point | |
API Access required in Connected App | Download AppExchange Packages AND Customize Application AND either. |
Reference link on all APIs used | Manage OAuth Access Policies for a Connected App (salesforce.com) |
💡 Golden Nuggets: Best Practices to Establish Connection Between Salesforce and Qualitia
There are 2 ways to Establish a connection between Salesforce and Qualitia.
Using salesforce URL- for this we need Salesforce URL, Username, Password and security token.
Using O-auth- for this we need Salesforce URL, Username, Password, Client Id, Client Secret.
🔧 Got a problem? Let’s fix!
Issue: Unable to find “Reset My Security Token” Information or “Your security token isn’t displayed in your settings or profile.”
Solution:
Qualitia Client
Standard Resolutions for the above are:Restriction enabled in connected App
Go to Setup
Search for “Manage App”
Select your connected app
Click on “Edit Policy”
In the Trusted IP Range for OAuth Web server flow section
Select “No Restriction”/ “Anyone can connect” or enter the right restrictions as per your policy.
IP Restrictions in the Login IP Ranges
For the Reset My Security Token option to appear you will need to remove the Login IP Ranges or change the User to a profile that does not have Login IP Ranges listed.
In Salesforce Classic
Unlimited, Performance or Enterprise, system administrators can verify if there are IP values in the Login IP ranges by selecting:
Setup -> Manage Users -> Users -> Profile -> Profile name -> Login IP Ranges.System administrators can verify if there are IP values in the Login IP ranges by selecting:
Setup -> Security Controls -> Session Settings.Remove the IP ranges if required.
In Lightning Experience
System administrators can verify if there are IP values in the Login IP ranges by clicking going on the gear icon:
Setup Home -> Users -> Profiles -> select the profile name -> Login IP Ranges.System administrators can verify if there are IP values in the Login IP ranges by clicking going on the gear icon:
Setup Home -> Security -> Session Settings.
Network Access is missing
System administrators can confirm if Network Access is missing by following these steps:
Go to Setup
On the Quick Find box, enter Network Access.
Login Challenge Enabled
Login with API Token
ORDelete the IP address range in the network access.
Forcefully reset by hitting the following URL:
§ /_ui/system/security/ResetApiTokenEdit
Not able to load the SFDC project after an upgrade: If you are not able to load the SFDC project after an upgrade to Qualitia’s latest version, you need to delete the Workspace folder. You can find the workspace folder on the below path: C:\Users\user1\AppData\Local\Qualitia Automation Studio - Client\workspace.
Newly added objects are not visible on Import model: If you are not able to find a newly added object on the import model, while creating an object create it as mandatory and save. Once the object is saved, make it non-mandatory, as only mandatory fields are visible on the Import modal. This will make the object visible and ready to be used.
The Check operation for the imported SFDC Checkbox object failed, it displays a pass result in the report: If the Check operation for the imported SFDC Checkbox object is failed then the result displayed in the report should be fail. However, if you are getting a pass result, try the execution with indexing.
Error while fetching objects for connection: If you are getting the error message Error while fetching objects for connection, while importing the objects, make sure to enable the Client credential flow on the Connected App.
Note: You can also connect using OAuth Client Credential to avoid such errors.
📞📚 Here to Help: Support and Resources
If you have questions that are not addressed in the documentation, you may raise them in the Qualitia Community.