QMetry Automation Agent
Understanding Agent Concept
Users can define Agent Alias and add tasks for QMetry Agent. On activation, the Agent requests for task through QMetry. QMetry Automation Agent checks schedule(s) set in QMetry and executes the automation tests. Users can run Custom Command regardless of Automation Framework or Build Framework. The automation agent can be run immediately or can be scheduled on future date and time. Users can schedule recurring execution of command. The execution will be scheduled automatically as per set occurrences. QMetry Agent keeps running the jobs accordingly.
The flow works like this:
- Configure QMetry Agent in Integration > Automation Agent. Download the Agent. Run custom command through QMetry Automation Agent wizard.
- QMetry Automation Agent will trigger the execution through custom command, the test result file will be generated accordingly.
- Import the above result file in QMetry using REST API.
Note: Automation related rights are assigned from Customization > Roles. The logged-in user will have access rights over Agent feature accordingly.
QMetry Agent Configuration
Automation Agent Key
Use this key to configure QMetry Automation Agent.
To generate Automation Key, go to Integration > Automation Agent and click on the Generate new Key.
Steps to configure QMetry Automation Agent
Step 1. Go to Integration > Automation Agent.
Step 2. Expand the Download & Run Agent section, if not expanded already.
Step 3. You will find Agent download and installation instructions on the screen. Download QMetryAgent.zip by clicking on the Automation Agent download link.
Step 4. Extract the QMetryAgent.zip on the computer drive.
Step 5. Open the QMetryAgent folder.
Step 6. Run <QMetry Agent Directory>/ QmetryAutomationAgent.jar by clicking on it.
The QMetry Automation Agent wizard opens.
The QMetry Automation Agent has the following fields on it:
- URL: The URL of your QMetry Test Management application instance.
- API Key: Enter Automation Agent Key. To generate Automation Key, go to Integration > Automation Agent and click on the Generate Key as described under Automation Agent Key above.
- Agent Name: Enter name of your preference as Agent Alias to identify the specific agent.
- Running on VM: Users who want to run agent on virtual machine, can do so by setting this configuration. The manual settings are not required.
Interval Time: By default, the interval time between two scheduled jobs will be of 180 seconds. You can change the time by modifying the "Interval" parameter in the QMetryAgent.properties. The minimum value should be 60 seconds.
Click on the Start Agent button.
Users can also view logs by clicking on the View Logs button.
The Agent is added on the list of Registered Agents with Status as “Active”.
The screen lists out all agents added in QMetry with the details of OS, Machine Address, Status (Not Registered, Active, Inactive, Not Applicable), and Schedules.
Filter Options
You can filter the Registered Agents on the following criteria:
- Alias
- OS
- Status
When you are done with Agent configuration in the Integration > Automation Agent, download and run the Agent, Carry out automation testing by scheduling tasks for Agent.
The columns on the screen are described below:
- Alias: This is Agent Alias mentioned by user while adding Agent.
- OS: Operating System on hosting machine on which the command will be executed.
- MAC Address: Machine address of hosting machine on which the command will be executed.
- Status: The Agent status could be ‘Active’ or ‘Inactive’.
- Active: QMetry Agent is executed to request schedule from QMetry application. When you start the agent, it attains ‘Active’ status and remains ‘Active’ till it keeps requesting for schedule from QMetry application at the frequency defined.
- Inactive: As stated above, QMetry Agent and its connection with QMetry application are checked at a defined interval. If QMetry Agent is not communicating with QMetry application for more than the defined time and it stops requesting for schedule, then the QMetry Agent status is updated as ‘Inactive’.
- Schedules: The column shows number of pending schedules and in-progress schedules. For example, 4 Scheduled / 2 In-progress.
- Updated At: This is system date and time when the Agent is added to QMetry.
The Actions column includes the Schedule, History and Delete buttons.
- Schedule Agent: Click on the Schedule button to schedule QMetry Agent run.
Automation Testing
User can run the schedule on the spot or at a specific scheduled date and time.
Note: QMetry Agents can be scheduled irrespective of the Approval workflow if the e-Signature feature is enabled.
Custom Command Input
Users can run Custom Command regardless of Test Framework or Build Framework. This is a command line input, which you provide on the command line interface.
For example,
The following command includes the Project path on your local drive and the test command to trigger the execution in accordance with the language and Framework you use. The result file will be generated in the Project directory accordingly.
cd D:\QMetry\cucumber-maven-example-master && D: && mvn test
Schedule Automation Agent Run
You can schedule QMetry Agent to run at your preference.
(A) Run Now
(B) Run Later
- One Time
- Recurring
Only one kind of scheduling could occur Run now / One time / Recurring. i.e if Recurring schedule exists and if user submits Run Now option then the Recurring Schedule Job will be deleted.
View QMetry Automation Agent History
- Go to Integration > Automation Agent.
- On the Registered Agents section, click on the History button to view the schedule details of that particular Agent. A pop-up screen opens that displays schedule details of the Agent.
The columns include Custom Command Input, Scheduled At, Execution, and Execution Status.
Execution Status is categorized as below:
- Scheduled: Job is yet to be executed.
- Completed: Job executed successfully.
- In-progress: Job is initialized and running.
Refresh the page by clicking on the Refresh icon, at the top right corner, to view the latest execution status of the job.
Logs are available to download by clicking on the Download icon under the Action column.
Count of pages are displayed at the bottom of the screen. Navigation buttons are provided to let users navigate through the pages.
- Back to Agents: Click on the button to navigate to the Automation Agent screen.
Once the Agent is schedule, Total Schedules count increases on the Schedule screen.
Task immediate on schedule gets executed. Other scheduled tasks get executed in sequence in accordance with their scheduled date and time.
Delete Agent
- Go to Integration > Automation Agent.
- On the Registered Agents section, click on the Delete button for the Agent you want to delete.
Import Automation Test Result File
The Agent job is triggered to execute the command as per set Schedule. The result file is generated in accordance with the command. Use this file to update the test assets and execution status in QMetry.
To know more about importing automation test results into QMetry, refer to Import Automation Results through REST API.
Other ways to push automation results into QMetry:
- Import Results using Maven Plugin
- Import Results using Jenkins Plugin
- Import Results using Bamboo Plugin
View Test Assets and Test Results in added/updated in QMetry
On successful completion of automation testing, test assets are added/updated to Test Cases and Test Suites modules.
The test run results are uploaded on the Test Execution screen.
Test Cases
Open the Test Cases module. The test cases imported through automation testing are displayed with "Automated" Testing Type.
Test Suite
Go to the Test Suites module. You can see the Auto Generated test suite added in QMetry as a result of automation testing.
Test Execution Screen
Test execution status of test cases and steps are updated on the Test Execution Screen.
- Go to the Test Suites module.
- Open the test suite imported in QMetry as a result of automation testing.
- On the Test Execution tab, click on the execution icon.
It opens the Test Execution Screen displaying test execution status of test cases with their test steps.