The MuukTest portal will provide you the tools to manage, and edit tests; additionally, it will allow you to create tests automatically. The portal comprises sections such as Analytics, Tests, Executions, Scheduling, and Account.
The Tests section shows all the tests or test blocks you have created. This section has a table that can be sorted or filtered by a search.
This section displays sets of 10 tests per page, but you can customize it using the selection box at the bottom of the table.
The search bar at the top of the table will allow you to filter which tests to display by showing just the ones that match the search bar content. You can write what you are searching for and the table will be updated to display just the tests that match with the search terms. The fields used to filter are test id <<tag>>, name, description, hashtags, and date.
A click on the menu icon on the right side of the search bar will open more options like Order by. The elements will be ordered by the option you select there. Select it again to invert the sort order.
The test view displays information for every test in your repository. You also have the option to see only the tests you have created by clicking on Show my tests on the top right of the screen.
Information from tests and options for them
This is an explanation of the information displayed for each test, and the options available for them.
Test portal overview
- Checkbox: The checkbox at the beginning of the row is used to execute operations on multiple tests (for example, supports delete and cloud execution for multiple tests). If you mark the checkbox from one or more tests an operations bar will appear at the bottom of the screen; it will allow you to execute or delete multiple tests at once. Marking the checkbox will also allow you to edit the base URL of the selected tests.
Select more than one test by checkbox
- Last execution status: The color circle on the left side represents the status of the last execution. It will be green if the execution was successful or red if it failed. The ones without a circle have not been executed yet.
- Expand/Collapse button: The arrow button allows you to expand or collapse child tests from a parent test.
- ID: Identifier tag of the test. This one is unique for each test.
- Name: Name of the test given by the user.
- Hashtags: The hashtags that have been used in this test description.
- Date: The date of creation of the test.
- User: The name of the user who created the test case.
- Execute now: Executes the test on the MuukTest cloud servers. The button transitions to Queued, Running, and Done state. Once it is executed the result will be displayed under the executions view. Executes on Mozilla Firefox by default.
- Actions: Set of options that help to manage tests. These options will be displayed only if the mouse is over a row from the table.
Possible actions for each test
- Cloud Execution: functionality to execute a test in a cloud server.
Action: Cloud Execution
- Clone: functionality to create an identical new test (clone) based on the selected test.
Action: Clone test
- Test Variation: Functionality that creates new tests based on existing tests. It analyzes the objects of the selected test and using testing techniques. MuukTest creates new tests with specific goals such as checking positive, negative path, boundary check, incorrect values, etc.
Methods to make a variation of a test
There are six different methods to create tests:
- Combinatorial: This method creates tests by making smart combinations that cover all the input objects combined with another input object at least once, giving complete coverage of the application interactions.
- Error Guessing: Creates test variations that modify inputs with values that seek to discover common software development defects (example: blank spaces, negative numbers, etc).
- Empty forms: This option creates a test variation with empty inputs for each form in the test case.
- Field rules: This option creates test variations with inputs according to the rules you have previously established on Settings.
- Data-driven: It allows you to upload a CSV file with data you want to use to run tests.
- All: This option generates test variations with all the options above.
- Delete: Deletes the test. You cannot undo this operation.
Action: Delete a test
The tests that are created by cloning or applying variations on an existing test are child tests and are grouped under them. The arrow icon on the left side of the test id will expand or collapse those child tests.
Note: If you create variations or clones from a child test, it will be removed as a child and added to the root of tests list as a parent test, and it will contain the created tests as children.
MuukTests 3.0 incorporates Test Blocks. This feature groups a set of steps creating a block that can be reused within the steps of any test. Once you create a Test Block and add it into a step any change performed in the block will update the tests accordingly.
To view test blocks on your repository, select the tab Blocks on the Test view. Blocks can be executed on the cloud and deleted as tests do.
This section displays the steps of a specific test and provides test steps management functionalities.
You can execute your test by clicking on the button Execute Test. On the right of the Execute Now button, there is a selector option where you can choose the web browser you want to use to execute the test. Actually supporting Mozilla Firefox or Google Chrome.
Execute now button
In case you are running a test, which exercises dynamic frameworks such as React, then you can check the React optimized flag. This injects parameters needed for the script to successfully run.
Steps in a test
This view has the following actions per step:
- Notes: Every step has the option to add a Step Note where you can put relevant information you found about the step.
- No: Shows the step number.
- Type: the value of the “type” property. (example: text, email, password, etc.).
- Action: combo box with the actions for the steps. The options are none, click, assignment, mouseover, Upload file, Open tab, Close tab, Enter iframe, and Exit iframe. NOTE: Enter iframe.
- Value: if the action was an assignment the value will be displayed.
- Url: the URL from where the object was saved.
- Delete: deletes the step in the test.
Furthermore, you can also edit the information of the test (name, description, and hashtags) by just clicking on it.
When you see the list with all steps from a test, you can manipulate the steps for the test and edit the test information like name, description, and hashtags.
Edit test information
Note: If you edit the test, you should click the button “Save” to save the changes.
Edit Test’s hashtags
To edit a hashtag, you need to press on Edit test, and then press on the icon to edit the hashtag. It will open a modal dialog and in this modal, there will be a combo box that allows you to add multiple hashtags (that you have already created) and under the combo box, the current hashtag of the test will be listed. Those can be removed if desired. When you have finished the hashtag edition you need to click Save to keep the changes.
Editing test hashtags
When you see the steps list, you can edit a step by clicking on Value and Edit Selector on Actions.
You can edit a Value from a test by clicking on the icon.
When you make a change, a button will appear to Save changes and update the test.
And, when you updated it, a message with the status is shown.
Step selectors are the identifier MuukTest uses to know what element to interact with the web application. Even though MuukTest suggests using SmartSelectors for updating such information. These may be edited manually.
Warning: Updating this value means that any test interacting with such an element will use the provided selector. Choosing the wrong selector will break any test referencing such an element.
Edit selector action
To edit a selector, you need to click on a button in Actions. When you click the button, a modal will be shown with information that can be changed.
Editing a selector
If you want to change the selector for Dynamic Selector, you change it on the dropdown and the selector and index will be changed.
Dynamic Selector for a selector
When you finish your edit, press on Save and an advising message will be shown. If you are sure about it, press Yes.
Message confirming changes
And, when you saved changes, you will see a message with status.
Note: Always, after finished editing, you must click the Save button to keep the changes.
The Menu button displays 7 different options. you can see all the different options below in an image.
This option allows you to create a database by uploading a CSV file. You can also choose the number of variations you wish.
Configuring JS Snippets
To create a new snippet you have to click on Create snippet, this will open a new tab where you have to enter the snippet's name on the box, a space where you should write your JS code. Once you have written it you can click the Verification radio button, after that you can choose the variable type you would like to use from the list box.
Creating a JS snippet
Once you have finished with your JS code you have to click on Save to save the JS snippet.
To add an existing snippet you should click on Add existing snippet, select a snippet from the list and select if you want to add it before a test or after the test.
Finally, you should click on Save to complete the adding snippet process.
Adding snippet process
"Basic authentication is a simple authentication scheme built into the HTTP protocol. The client sends HTTP requests with the Authorization header that contains the word Basic word followed by a space and a base64-encoded string username: password."
Reference: ANON, Swagger, [online]
If you want to add a basic authentication you only have to click on Basic auth. button, below JS snippet button and enable the Basic authentication. After that, you should enter the username and password. Finally, click on Finish to complete the Basic authentication.
Enable Basic Auth
Create Test Block
Once you click Create Test Block button. It enables the interface to select the steps you want to reuse as a Test Block. Select as many steps as you need and click Create a block.
Creating a test block
This will open a Tab, where you will have to enter the Test block name.
Creating a block
Finally, you have to click 'Save block' to have the Test Block created.
By clicking on set timeouts, you can change the maximum time a step has to be completed. By default, the timeout is on 60 seconds.
The smart selectors option on test view, lets you search for objects (Selectors) on the Test Steps and replace those that were available on test creation but now are not found.
This functionality will execute the test on the cloud and prompt the result for each step to the user. Once it finds some missing element, will display where the failure was detected and let you choose another object to replace it.
Executing a Smart Selector
Smart selectors search for possible replacements on the site analyzing diverse properties on the elements and choosing those with the higher possibility to replace the missing one.
Once the element is selected, the information for that object will be updated and the process will restart to search for another missing object. If there are no missing objects the process will prompt a test execution success message and no further steps will be needed.
If you need to add a step, a JS snippet, or a test block into your existing test, you can click the “+” button under the Steps portal.
This opens a window letting you choose whether you want to add a step, JS snippet, or a test block.
If you want to add a step, you can select an object from the list, assign an action and a value (if necessary).
Assign and action and value to add a step
Add JS Snippets
You will have to choose from a JS Snippets List which contains the snippets you have entered before.
Also, you can add a Test Block from a list of test blocks you have created before.
List of Test Block
Assign Value to Global Variable
You can use a global variable for having a step value. You can use this variable in your test and it will have the value that you assigned.
If you do not have a global variable, you can add this from this modal or from the Account view (Portal - Account).
If you want to add a JS Snippet and it returns a value, the value can assign to a global variable. Also, if you do the before step (add a value to a global variable) can use a snippet to verify if the value is correct (in case your snippet to add is Verification type).
In snippets, you can use a parameter to do operations. Using a Global variable, you can pass a value that you are using in your test in the snippet for doing operations with them.
You also have the option to add a checkpoint to any step to indicate if it should pass or fail.
If you have more questions, you can see our videos about our MuukTest.