Overview of the Tool
In this section, we explain all the toolbars and controls, basically what does what. You can skip this section and use as a reference when you get stuck or have some questions.
In Boozang we use a tree navigation similar to desktop IDEs, such as Visual Studio code. If you are familair with tools like this, it should be quite easy to get started with Boozang. If not, remember that you can either explicitly navigate the test tree, or use the search to quickly find what you are looking for.
One difference in Boozang compared to file-based editors, is that we make a distinction between
- Modules / Tests: Code / test domain
- Features / Scenarios: Cucumber-based business domain
- AI models: Model domain
- Components: Re-usable components
For most users, the Module / Test domain and Features / Scenarios are suffient to cover most testing needs.
Static vs. dynamic tabs
Similar to Visual Studio code, we support static and dynamic tabs. In the context of tabbed interfaces, "static tabs" and "dynamic tabs" refer to the way that the tabs are generated and displayed.
Static tabs are tabs that are hardcoded into the interface and are always present. These types of tabs are typically used to provide a consistent navigation structure for a user, as they allow the user to access a set of predefined pages or views at any time.
Dynamic tabs, on the other hand, are tabs that are generated and displayed based on the current context or user actions. These types of tabs are often used to allow a user to open and work with multiple documents or pages simultaneously, as they allow the user to open and switch between multiple tabs as needed.
For example, in a text editor like Boozang, static tabs might include tabs for the settings, reporting, and terminal views, while dynamic tabs might include tabs for open documents or files.
Sticky tabs
A "sticky tab" is a tab that is "pinned" or "fixed" in place and does not close when the user navigates away from it or closes other tabs. This allows the user to keep certain tabs open and easily accessible, even if they are not currently being used.
Sticky tabs can be useful in a variety of contexts, such as:
Keeping a tab open that provides important information or context (e.g. a dashboard or reference page) Allowing a user to quickly switch between frequently used tabs (e.g. a list of emails or tasks) Ensuring that certain tabs are not accidentally closed (e.g. a form that is in the process of being filled out) To create a sticky tab, the user typically needs to use a specific keyboard shortcut or click on a "pin" icon that is displayed next to the tab. The specific method for creating a sticky tab can vary depending on the application or interface being used.
Workspace
We also support a concept that we call workspace. This allows me to add a set of tests I'm working on to my workspace, so I can easily switch between these tests quick. We have found it's very useful when working on a Cucumber / Gherkin scenario, and the test steps therein.
To add a test to the workspace, simple use the tree menu and click "Add to workspace". A new workspace icon will show up on top of the sidebar. After you are done with the test, you can simply remove it from the workspace using the
The sidebar
The sidebar contains the following functions
Top part:
- Workspace: Initially hidden
- Module explorer
- Feature explorer
- Model explorer
- Component explorer
- Search
- History
Lower part:
- Reports
- Known issues
- Team
- CI
- Issues
The hamburger menu
In the top right cornert, you can find the hamburger menu. This contains global system functions, that are not necessarily related to testing.
- Management
Takes the user to the Boozang Cloud Management interface. This allows the user to switch between projects.
- Account
Access the account page. Here you can see your user settings, and you can also switch language. Currently, English and Chinese are supported in Boozang.
- Post ticket to Boozang
Open a ticket directly to Boozang support from the tool.
- Chat & Message
Opens a popup chat with the team. Here you can monitor project activity and chat with other project members.
- Video Tutorials
This is a link to the video tutorials on the homepage.
- Documentation
This is a link to the latest version of this document.
- Video Helper
This opens a small helper that gives you topic-based video help based on certain topics.
Note: Some of this video material may have been recorded on top of previous versions of Boozang.
- Sign Out
Log out the user.
The top bar
It's no secret that Boozang has been greatly inspired by the navigation of traditional programming IDEs, especially Visual Studio Code. This means that programmers should be already familiar with the navigation. We are further added test automation controls, such as record and play, as you can see in the image below.
- New tab
Opens a new tab. The new tab will be navigate you to the root of the project. This allows you to keep a test open, and work on another test simultaneously, by simply switching tabs.
- Current tab
Boozang supports tabbed navigation similar to a desktop IDE like Visual Studio Code. Helpful when working on several tests at once.
- Navigation bar
The navigation bar tells you where you are in the project tree, and enables you to quickly navigate it. From the image
- Project: Beeye
- Branch: master
- Module: + Client
- Test: Ajouter un client
- Enviorment: BETA BLAZOR
By clicking any entry or arrow in the navigation bar you can navigate the tree. For instance, to change branch, simply click "master". The navigation is similar to Jenkins, where clicking an entity will navigate you there, while clicking an arrow will allow you to navigate between modules and tests, respectively.
- Bookmark
Bookmark tests and modules as you see fit by clicking the star. Simply click the star a second time to remove bookmark. The bookmark menu will show on hover.
- Search
Search the project for any test, module, or Cucumber test step. Use advanced testing to do more specific searches, like variable names or page elements.
- Record
Start a recording of a test. If application window is closed, it will open the application window at the given URL. If the URL is simply set to "/", it will open the application at the URL set in environment settings. Try using relative URLs as much as possible, so the hotname set in environment setting is used.
- Play
Plays the test from the URL given.
- Application URL
The URL for the test. Boozang supports both absolute and relative URLs. Try using relative URLs as much as possible, so you can make use of the hostname set in Settings -> Enviroment. That way, you can easily can tests that can run of different environments (such as staging or production).
- Open Window
Opens the application window at the current URL.
- Requests
Registers all requests to the back-end, such as Restful API calls. Click to open API "snoop" menu, that allows you to record API tests by doing UI interactions.
- Test Settings
Set specific settings for the test execution. The default settings is usually ok, so this is normally not necessary.
The right bar
-
Switch view: Table / GUI: The switch view button toggles between table and diagram view. The table view should be used when authoring tests, and is the view you will use a majority of the time. The GUI will is useful to understand how the test intercats with other tests.
-
Navigate to parent: Navigate up the testing tree.
-
Expand action rows: Expand the action rows to show more test information. The expanded view is useful to troubleshoot passing of parameters and customized exit conditions.
-
Lock: Lock the test case to prevent other team member from modifying the test. As tests are auto-saved in Boozang and all other team members recieve these updates automatically, all tests are unlocked by default.
-
Undo / Redo: Undo or Redo latest modification.
-
Delete: Deletes one or several actions. You can also use the "Delete" key.
-
Disable: A disabled action is skipped when a test is run. Useful to debug tests.
-
Group: The group function group's actions together. This allows you do keep your test in order, and to skip a set of actions using the exit condition Exit Group. By using Else-group, this can be used to implement simple conditional functionality (compare: if / else)
-
Generate test case: Breaks up a group of actions into a separate test and replaces the group with a reference to that test (Plug-test case). It allows you to quickly refactor your tests to remove duplicate action sequences.
-
Cut / Copy /Paste: Standard Cut functionality. Use Cut and Paste to move actions between tests, tests between modules, or data between tests and modules.
Tip: Use Ctrl/CMD functions to multi-select.
Kebab menu (...)
This menu opens an advanced menu with the following options
- Branch management: Boozang has an built-in version handling, similar to Git. Create new branches and delete existing ones
- Merge: Merge branches. If there is a conflict, a visual interface will allow you to cherry-pick chnages from the two branches.
- Export / import: Export and import full Boozang projects, import features (from most Version-control systems or Jira / Xray), or Import Open API specifications.
- Check test cases: Automatically checks you test cases for common problems.
- Output relationship map: Output test relationships in a map. Export formats supported are: html, pdf, and markdown.
- Generate tokenized URL: Generate a unique test URL for current tests that can be run by a CI server.
The action list
As you record or manually ass actions to a test, these show up in the action list.
Event
An icon, word, or both that indicates the action type. The different action types are Set, Validate Result, Mouse Event, Keyboard Event, Extract data, Javascript, Comment, Refresh Window, Plug Test, and Visit Links.
Tip: Clicking the action icon toggles breakpoints. Test execution is temporarily stopped at breakpoints, allowing for troubleshooting of tests. To resume playing the test, click the play button.
Action description
This is the human-readable description of the action and defaults to the actual action code. If needed, this can be changed on the auction details page.
Value
The value used for applicable events (Set, Validate). Orange indicates that dynamic data is used. The following data scopes are available: $parameter, $test, $module, $project, $loop
Add action in list
Inserts a new action in the action list manually. As events are often recorded, most other action types will be added in manually. The actions can be added during an active recording section, or when the recording has stopped.
Run action
Double-click on an action to execute a single action.
Custom timeout
Indicate that the timeouts for that particular action have been customized. This can be done by editing timeouts in action details. In the case of slow response times during recording, this will also be added automatically to ensure test stability.
Custom exit conditions
Indicate that exit conditions for the action have been customized. Exit conditions signify what action is taken on a certain action outcome. Action outcomes are Success, Fail, and Error. Success means the action was executed successfully, Fail means that it executed falsely, such as validation fail, and Error means element not found.
Recording
To record a test, click on the record button. Boozang will now catch any action being made in the application window. To stop recording, click stop. In the case where the application window is closed, the record will open the application window at the current URL. Use the Reload URL button to make sure that the URL is set correctly before recording.
Playing a test
To play a test, click the Play button. To play the test from the start; make sure that the first row (gray) row of the action list has been selected as this signifies the actual test. You can also play a test from a specific action. Simply select the action you want to play from and click the Play button. You can choose to watch all the actions play and see the result in real-time, or switch to the report view to see the report being generated.
There are several play modes available
-
Play test case: Plays to end. Launches AI repair if element not found, but continues after a set time.
-
Remote play: Plays the test, but tries to repair it when the element is not found.
-
Play upstream test: Plays the top parent test case. In case there are many of them, you will be prompted to select the test to run.
-
Step forward: Plays the test one step at a time.
-
Play in demo mode: Plays the test case step-by-step and highlights all actions in the application window using annotations (compare comment function).
-
Generate action screenshot: Plays the test and generates screenshots for all steps.
-
Automation mode: Emulates running the test from the command line using the Boozang test runner. After a test has been run, a dialog will show allowing the user to opt-out of the browser shut down. Running in this mode will notify all report subscribers, so it´s a good way to test email notifications.
Running in automation mode never activates AI repair, which will prompt the user to re-select elements when they are not found in the application window.
Adapting the screen size
In Boozang we do not support testing of native mobile application, but we provide a number of functions to do mobile we testing.
One of these functions is the ability of setting the size of the application window, which can be done next to the URL bar of the test.
Undo / Redo
We alos support a powerful Undo / Redo functionality. The Undo history is saved server-side which allow for better persistency of history and ability to even undo changes done by a different team member.
Coding tests in Boozang
Boozang also supports coded tests. We recommend recording a basic test and switching to the code view to get an idea of the test syntax.
We are super excited to introduce an enhanced code editor. This means it will be easier to find mistakes in Javascript, and easier to troubleshoot problems.