Working with Git
Git plugin information
With Provar version 2.2.0 and future releases, you no longer need to install the Git plugin. We’ve packaged this together with our installer files. As a result, the Provar plugin installer will no longer show Git as an option. You can still enable the Jira, TFS and SVN plugins as previously.
Below are some best practices for using Git with Provar.
The following workflow is recommended:
Best practices
Keep in mind the following best practices when using Version Control:
- Commit changes to Version Control early and often
- Make useful commit messages, which can be referenced against the changes made in the commit
- Have commits reviewed by a peer prior to committing them to the master branch
- Sync other updates regularly from the master branch
- Make regular backups
- Follow a peer review process (see below)
Peer review
Peer Review is an important process that should be performed regularly during the development of new Test Cases.
A suggested Peer Review process is as follows:
- Review the check-in comments added to Version Control, which should detail the changes made
- Pull the changes to be reviewed from the branch to the local repository
- Perform the peer review
- Once verified, push the changes to the master branch
Cloning project from master
Start your work by getting the latest version of the Provar Project from Git. This is done by cloning the Project from the Master branch to your local directory.
Refer to Cloning a Project for steps on how to do this.
Creating a new branch
Once you have cloned the Project from the remote repository, consider whether you need to create a new branch for your work. This will depend on the workflow your team is following.
In general, you should make updates on a new branch rather than making changes on the Master.
However, it is not always necessary to create a different branch for each tester in your team when working on the same project.
For example, you can also try to co-ordinate your team members to prevent multiple team members updating the same Test Cases at the same time. This will reduce the need to merge changes when syncing.
In general, it is a good idea to make a plan of how many branches are required and how they will be used, rather than creating a new branch for every new team member.
You may need multiple branches if you are testing different versions of the System Under Test (SUT) at the same time. This will allow you to have different views of your Test Cases, depending upon the functionality being tested.
If you are using the Git Plugin for Provar, you can create a new branch from within Provar itself by following the steps below.
To create a new branch, right-click on your Project in the Navigator, then select Team > Switch To > New Branch:
Enter a name for the new branch:
Then click the Finish button.
This will create the branch on your local directory. It will then need to be pushed to the remote repository. To do this, right-click on the Project again and select ‘Team > Push Branch ‘BranchName’…’:
The following screen will appear:
Click the OK button to confirm the push.
Once this is complete, you can begin working normally in Provar. Once you have completed your changes in Provar and want to push your work back to the remote repository, move on to the next section.
Synchronizing a project
Before pushing any work back to the remote repository, it is a good idea to synchronise your Project in case any changes have been made since your Project was cloned. Doing this before pushing changes to the repository will reduce the effort needed to resolve conflicts later.
To synchronize your Project using the Git Plugin, right-click on the Project and select ‘Team > Synchronize Workspace’:
This will open a Synchronize tab in the lower-right corner of Provar Desktop:
Once this has completed, you can double-click on any updated files to confirm the changes.
Making commits and pushing to Git
Once you are ready to commit and push your changes to Git, right-click on the file or files you want to push and choose Commit:
In the Please identify yourself window, review the details entered and then click the OK button:
On the Commit Changes screen, enter a Commit message and select the files that you want to push by ticking them:
Then click the Commit and Push button.
On the next screen, choose your branch (this should be the one that you created earlier to store your work):
Then click the Next button.
If a Login screen appears, enter your Git account details:
Then click the OK button.
Review the Push Confirmation window which appears:
Confirm by clicking the Finish button.
Merging to master branch
To merge code into the Master branch, go to your GitHub repository in a browser.
Go to your Branch and click on New pull request:
Confirm the changes and click on Create Pull Request:
If you have access, you will be prompted with the option to merge pull request.
Click on Files Changed, review the files, then click the Review changes dropdown:
To approve, enter any summary comments as wanted, then choose the Approve radio button and click Submit review:
Then click the Merge pull request button:
Then click the Confirm Merge button:
The following success message should display:
Other Pull Request can be created in the same way for other branches.
Resolving conflicts
While working on separate branches and merging the code, you may face some conflicts related to Test Cases and Page Objects added to the branch that conflicts with code already present on the master branch.
For example, after creating creating a Pull Request for your branch, you may see the following message:
To resolve the conflict, click the Resolve Conflict button on the message, then analyze the difference in the files.
Update/Remove the code that conflicts and click on Mark as resolved:
Once all conflicts have been resolved, commit the merge:
Then merge the branch to master:
- General information
- Licensing Provar
- Provar trial guide and extensions
- Using Provar
- API testing
- Behavior-driven development
- Creating and importing projects
- Creating test cases
- Custom table mapping
- Functions
- Debugging tests
- Defining a namespace prefix on a connection
- Defining proxy settings
- Environment management
- Exporting test cases into a PDF
- Exporting test projects
- Managing test steps
- Namespace org testing
- Provar desktop
- Provar Test Builder
- Refresh and Recompile
- Reload Org Cache
- Reporting
- Running tests
- Searching Provar with find usages
- Secrets management and encryption
- Setup and teardown test cases
- Tags and Service Level Agreements (SLAs)
- Test cycles
- Test plans
- Testing browser options
- Tooltip testing
- Using the Test Palette
- Using custom APIs
- Callable tests
- Data-driven testing
- Page objects
- Block locator strategies
- Introduction to XPaths
- Creating an XPath
- JavaScript locator support
- Label locator strategies
- Maintaining page objects
- Mapping non-Salesforce fields
- Page object operations
- ProvarX™
- Refresh and reselect field locators in Test Builder
- Using Java method annotations for custom objects
- Applications testing
- DevOps
- Introduction to test scheduling
- Apache Ant
- Configuration for sending emails via the Provar Command Line Interface (CLI)
- Continuous integration
- AutoRABIT
- Azure DevOps
- Running a Provar CI task in Azure DevOps
- Configuring the Provar secrets password in Microsoft Azure Pipelines
- Parallel execution in Microsoft Azure Pipelines using multiple build.xml files
- Parallel execution in Microsoft Azure Pipelines using targets
- Parallel execution in Microsoft Azure Pipelines using Test Plans
- Bitbucket Pipelines
- Circle CI
- Copado
- Docker
- Flosum
- Gearset
- GitHub Actions
- Running a Provar CI task in GitHub Actions
- Remote Trigger in GitHub Actions
- Parameterization using Environment Variables in GitHub Actions
- Parallel Execution in GitHub Actions using multiple build.xml files
- Parallel Execution in GitHub Actions using Targets
- Parallel Execution in GitHub Actions using Test Plan
- Parallel Execution in GitHub Actions using Job Matrix
- GitLab CI
- Jenkins
- Travis CI
- Parallel Execution
- Running Provar on Linux
- Reporting
- Salesforce DX
- Git
- Team foundation server
- Version control
- Zephyr Cloud and Server
- Salesforce testing
- Adding a Salesforce connection
- Assert Page Error Messages on Add/Edit Product
- Dynamic Forms
- Internationalization support
- List and table testing
- Salesforce Release Updates
- Salesforce Lightning Testing
- Salesforce Lightning Web Component (LWC) locator support
- Salesforce console testing
- Visualforce Testing
- Testing best practices
- Troubleshooting
- Release notes