Browser recommendations for Automated Test Framework
Summarize
Summary of Browser recommendations for Automated Test Framework
These recommendations guide ServiceNow customers on configuring browsers for the Automated Test Framework (ATF) client test runner to ensure optimal test performance and reliability. Proper browser setup helps avoid memory issues, CPU throttling, and test session conflicts during automated testing.
Show less
Browser Performance and Stability
- Periodic Restarts: Browsers like Internet Explorer, Edge, and older Firefox versions have memory-management limits requiring periodic closure and restart to prevent performance degradation during testing.
- CPU Throttling: Some browsers reduce CPU usage when windows are out of focus. To prevent this, run each client test runner in its own window that remains at least partially visible and ensure the system screen is active and unlocked.
- Zoom Level: Keep the browser zoom level at 100% for accurate screenshots during test execution.
- OS X Specific: On OS X, running Chrome or Safari client test runners in locked or hidden screens slows down or causes test timeout. Use virtual machines with active screens for scheduled test suites.
Session Management and Parallel Testing
- Rollback Behavior: Tests roll back all session changes upon completion. Avoid modifying the instance or navigating in other tabs within the same browser session during tests to prevent unintended rollbacks or interference.
- Parallel Testing: Run each client test runner in an incognito or private browser window to ensure isolated sessions and prevent rollback conflicts between parallel tests.
- Closing Test Runners: Always close client test runner windows after testing to avoid rollback of legitimate changes made elsewhere in other tabs or sessions.
Configure client test runner browsers to run automated tests and avoid performance degradations.
Periodic browser restarts
- Internet Explorer
- Edge
- Older versions of Firefox
How often you should close the browser depends on the memory allocation in the browser application.
Browser CPU throttling
- Run each client test runner in its own browser window.
- Ensure that the client test runner browser window is always partially visible on the screen.
- Ensure that the system screen is not locked or shut off.
Browser zoom level
Client test runners take screen shots as they run tests. For best results with screen shots, leave the browser zoom level set to 100%.
OS X CPU throttling
On OS X with the client test runner on Chrome or Safari: If the screen is locked or the client test runner tab is not shown, when the system attempts to run the test suite, tests run significantly slower and may time out. For best performance, run client test runners for scheduled suites in a virtual machine (VM) environment in which the screen does not become locked or disabled.
Rollback in browser sessions
The session cookies roll back all the changes made during a test. When a test is running, everything performed in that session is recorded for rollback. Don't modify your instance when a test is running in the same browser session. For example, if you modify records while a test is running in the same session, the changes are rolled back after the test completes. If you navigate around in other tabs in the same session, your work may be rolled back and interfere with tests that rely on implicit navigation.Parallel testing
Follow these guidelines to avoid issues when running multiple tests in parallel.
- Run each client test runner in an incognito or private window
- Because parallel tests roll back all changes tied to the same browser session, it's possible for legitimate changes made in another browser tab to be rolled back during parallel testing. To prevent unwanted rollback of changes, always run client test runners in their own browser session. Opening client test runners in an incognito or private window ensures that they always have their own browser session.
- Close client test runner windows when testing is complete
- To prevent unwanted rollback of changes, always close client test runners after testing is complete. Closing the browser window ensures that test rollback doesn't revert any legitimate changes made in another browser tab.