v0.63

Version 0.63 - Release Notes

New Features and Improvements

  • One Agent For All My Accounts! - Some of our users have more than one TestProject account for various purposes. We've made it really simple to use the same agent across these accounts. If you have an agent running, logging into either of your accounts on that machine will provide you with an option to easily associate the agent with the current account.

  • Reusability Is Key - Once you record your test, in some cases you will want/need to refactor it to achieve a more structured test design and improve future maintenance. For example, you will want your Login steps to be in a separate test which will handle your login flow for all your other tests. This way, if something changes in your login logic, you will only have one place to update. For this reason, we've introduced the Group Steps feature! Simply select the steps that you want to group into a separated test, click the group icon, give your new test a name and that's it. All the selected steps will be replaced with a single one which will now execute the new nested test. If any of the steps were using parameters, they will be automatically created in the nested test and all the values from the parent test will be mapped there.

  • Default Screenshot Behavior - In addition to the existing option of setting a screenshot behavior of each step, we've added the option of setting default behavior on a test level. Go to test settings and choose the behavior that you desire. Each new step will be created using this default setting unless you choose otherwise for specific steps. By default screenshots will only be taken if a step fails as the images will use up your account storage. Please note that if you have tests that were created prior to this feature, each step will have its own setting.

  • I Want Another One Just Like It - In some cases, it can be a good idea to duplicate an entire project. For example, this comes in handy when you are upgrading your application and still need to support and maintain a legacy version. You can now easily duplicate a project and start from there. When you duplicate a project, all of its entities will be duplicated alongside with it (tests, jobs, apps, data sources, etc.).

  • Report Email Notifications - Following a request from the community, we've added a PASS/FAIL label to the job report email notification subject. This allows to see if your job passed or failed without the need to open the email.

Agent & SDKs

To use it just run this:

pip install testproject-python-sdk
  • Brand new Java SDK - In addition to our Python SDK, we've released a new version of our Java SDK. In short, this version is much simpler and easier to use. In addition, you are no longer required to download the SDK and attach it as a dependency as we've moved it to a Maven Repository. Read more about the new SDK in the GitHub repository and in the docs. In addition to that, check out the official announcement in this blog post.

To use it just add this to your pom.xml:

<dependency>
<groupId>io.testproject</groupId>
<artifactId>java-sdk</artifactId>
<version>0.63.3-RELEASE</version>
<classifier>sources</classifier>
</dependency>

or this to your build.gradle if you use Gradle:

implementation 'io.testproject:java-sdk:0.63.3-RELEASE'
  • Local Execution - The new Python and Java SDK also have a new capability allowing you to run your tests without uploading them to TestProject and still take advantage of TestProject's advanced reporting capabilities. Read more here for Java, here for Python and here for C#.

  • What Browsers? - From now on, you don't need to take care of anything! The TestProject agent will automatically keep track of available browsers. This means that if you install a new browser on your computer, it will appear in TestProject after a short time without the need to restart the agent.

API

  • Latest Agent Execution - We've enhanced the existing Latest Report endpoint and added an optional agentId parameter. Providing this parameter will return the latest execution of the job that was executed on the specific agent. This is most useful in case you are running the same job in parallel on multiple agents.

  • Devices and Emulators - The GET devices will now return only physical devices. To get a list of defined emulators please use the GET emulators endpoint. Use this endpoint to update job devices and this one to update emulators.

Fixes

General

  • Local agent device indicator was showing incorrect devices badge.

  • Job execution progress no longer freezes when Agent is shut down during execution.

Agent

  • Addons no longer cause execution delays.

  • APKs with android:testOnly flag were not installed on the device.

  • If user rejected SSL Certificate prompt, the agent got stuck in a restart loop.

  • In case a proxy was defined and the proxy server was down (connection lost) the agent caught up in a restarting loop.

  • In some cases when installing an agent on Ubuntu 20 could cause a crash of the OS.

  • Mirroring VIVO devices is now supported.

  • Sometimes when quitting/restarting the agent, it was crashing.

  • While using transparent proxy, after accepting the proxy settings, another pop up was shown.

API

  • Execution did not start when overriding job browser with browser: ChromeHeadless.

  • PUT /v2/projects/{projectId}/jobs/{jobId}/devices was returning an error when updating emulators.

  • Updating coded test with a new file version was resulting in application details to be cleared from the package.

  • When updating test package file, a new filename was not reflected in the platform.

Execution

  • A nested test that has a disabled step with a deleted parameter in it was causing the test to fail.

  • iOS Mobile Web Tests no longer require iOS configuration while executing in a job on BrowserStack / Sauce Labs.

  • Nested test execution was not aborted while stopping in outer test.

  • Running web tests on Genymotion is now possible.

  • Some steps in nested tests were skipped in some cases.

  • Test execution was failing if the test contained disabled steps with more than one repeat iterations.

  • Web tests will no longer fail on iOS 11/12 mobile devices.

Project

  • Copying a test (that includes nested coded tests) to another project will no longer fail.

  • Uploading coded test .zip packages on Mac is now once again possible.

Recorder

  • "Switch to window" step now runs correctly in the test recorder.

  • After mirroring iPad OS 12, mirroring iPhone OS 13 was failing.

  • Couldn’t mirror Android device on Windows 7.

  • Deleting test parameters of a deleted nested test was not possible.

  • For some Android devices black screen was shown while mirroring.

  • No more distorted picture on Xiaomi devices while mirroring.

  • Updating parameter type in a nested test was not reflected in the parent test.

Reports

  • "Parameterization failed" message was displayed in reports in some rare cases.

  • After running a job, clicking on reports tab was redirecting to the home page instead of the actual report.

  • Disabled steps had no step description in the reports.

  • Input parameters of child tests are now reflected in reports.

  • Mobile application version info was broken in PDF detailed reports.

  • No report was generated when virtual agent job was skipped.

  • PDF detailed reports had bad alignment in the test details table.

  • Screenshots of child tests will now appear in reports as well.

Jenkins Plugin

  • After generating pipeline syntax for Agent config, an error 400 occurred.

  • Was unable to upload APK/IPA to an application that didn’t already have an associated APK/IPA file.

Supported Browsers

Installed Browsers

  • Chrome 77+

  • FireFox 60+

  • Safari 12+

  • Edge 44+

  • Internet Explorer 11

Sauce Labs Browsers

  • Chrome 75+

  • FireFox 60+

  • Safari 12+

  • Edge 44+

  • Internet Explorer 11

Supported Devices

  • Android: 5.0 (Lollipop) - 10.0

  • iOS: 10 - 13

Supported Agent Operating Systems (x64 only)

  • Windows 7, 8, 8.1, 10

  • macOS 10.14, 10.15

  • Ubuntu 16.04, 18.04