-
Notifications
You must be signed in to change notification settings - Fork 118
Testing Setup and Execution
Use this page for detailed testing setup and test execution workflows.
If you are looking for unit test information, start with Unit Tests.
For development setup and contribution expectations that also reference unit test coverage, see Developer Setup and Contributor Guidance.
Set up and execute end-to-end tests for Zowe Explorer. Note: We recommend using Node v22.x for the tests until an issue is resolved with Node v24.x around Chromedriver access.
To run end-to-end tests, define a .env file in packages/zowe-explorer/__tests__/__e2e__ with environment variables for profile information, credentials, and test targets. Refer to .env.example for the complete list.
# Path to the Zowe home folder where configurations are stored (relative to current directory)
# Absolute paths are allowed.
ZOWE_TEST_DIR=".zowe"
# Profile variables
ZE_TEST_PROFILE_NAME="<profileName>" # The name of the profile in your Zowe config to use for testing
ZE_TEST_PROFILE_USER="testUser" # The user to leverage during the e2e tests
# USS variables
ZE_TEST_USS_FILTER="/u/users/testUser" # The filter to apply when searching on a USS profile*
ZE_TEST_USS_DIR="test" # The USS directory to use for edit and list testing - should be relative to USS filter*
ZE_TEST_USS_FILE="testFile.txt" # The USS file to edit and save with, relative to USS dir*
# Data Set variables
ZE_TEST_DS_FILTER="TESTUSER.*" # The filter to apply when searching on a Data Sets profile
ZE_TEST_PDS="TESTUSER.C" # The PDS to use for edit and list testing - matched by the defined filter*
ZE_TEST_PDS_MEMBER="TESTC" # The PDS member to use for edit and list testing - relative to the defined PDS*
ZE_TEST_PS="TESTUSER.TESTPS" # The PS to use for editing - matched by the defined filter*
# * means that the item must exist on the test system for it to be considered validOnce configured:
- Change directory to
packages/zowe-explorer. - Build with
pnpm build. - Run tests with
pnpm test:e2e.
Important
On macOS:
-
Additional setup is required: Native context menus are not Webdriver-controlled, so AppleScript is used. Grant Accessibility permission to VS Code in macOS Settings (
Privacy & Security->Accessibility). -
ChromeDriver fails to launch: If
chromedriverfails to launch (seen in test logs) or the VS Code window never opens, ensure that your Zowe Explorer repo folder is not in a protected location. Apple's TCC protects user locations such as the Desktop, Documents, and Downloads folders. If the repository is located in one of these protected folders, try re-locating it and then re-run the tests from the new path.
- Build the extension.
- Open Run and Debug.
- Select End-to-end Tests.
- Start with the play button.
Output appears in the VS Code debug console. JUnit reports are written to packages/zowe-explorer/results.
Use integration tests to validate UI and command behavior across profile and tree interactions.
- At least 3 profiles must exist in your Zowe config.
- Profiles do not need valid credentials up front, but hostnames must be valid/reachable for validation paths.
- A default profile must be set for the
zosmfprofile type.
- Build the extension.
- Open Run and Debug.
- Select Behavior-driven Integration Tests.
- Start with the play button.
Output appears in the VS Code debug console. JUnit reports are written to packages/zowe-explorer/results.
Run regression tests to verify compatibility with Theia.
- Install required components:
- Mozilla Firefox
- Google Chrome
- Mozilla Geckodriver (add to PATH)
- ChromeDriver (add to PATH)
- Selenium WebDriver (global install)
- Build a VSIX that contains your changes.
- Build and run the Theia browser example using Setting up your Theia workspace.
- Ensure your latest VSIX is in the
pluginsfolder. - Ensure Theia is running while tests execute.
Optional verification: open http://localhost:3000 and confirm Zowe Explorer is deployed.
- Compile with:
yarn run compile- Run tests with:
yarn run test:theiaOutput appears in the VS Code debug console.
Tests run in headless mode by default. To run with visible Firefox:
- Open
__tests__/__theia__/. - Comment out
firefoxOptions.headless();. - Compile the extension.
- Run Theia regression tests.
Firefox launches with a visible UI while tests run.
zowe/vscode-extension-for-zowe
Welcome
Using Zowe Explorer
Roadmaps
- 2025 Zowe Explorer Roadmap
- 2024 Zowe Explorer Roadmap
- 2023 Zowe Explorer Roadmap
- 2022 Zowe Explorer Roadmap
Development Process
- Contributor Guidance
- Developer Setup
- Developer Reference
- Developing for Theia
- File Save Flow
- Menu Commands
Testing Process
Release Process
Backlog Grooming Process
How to Extend Zowe Explorer
- Extending Zowe Explorer
- Using Zowe Explorer Local Storage
- Error Handling for Extenders
- Secure Credentials for Extenders
- Sample Extender Repositories
Conformance Criteria
v3 Features and Information