Limitations of Pega Scenario testing
Types of scenario tests:
Scenario test cases can be created either for a case type or a portal. It is not possible to record a test case from a certain point of a case type flow. One need to record a test case from the starting of the case type flow to whatever step/stage required. For other scenarios, portal level test cases can be used.
Persona based testing:
Scenario testing framework runs within the platform and can be run only in requestor context i.e. a login to Pega system is needed. Due to this limitation, a single test case can’t offer recording scenarios involving multiple personas or multiple login/logout actions. This is in the roadmap and will be addressed in future.
Data driven (Parametrization) approach:
Data is tightly coupled with test cases. It is not possible to run the same test with different input/output datasets. Each test is associated with a single input/output data set. Multiple test cases need to be created to test a scenario with different input/output combinations. This is in the roadmap and will be addressed in future.
Scheduling of tests:
There is no out of the box support to schedule the scenario test cases or the test suites created for an application stack. You may have to leverage open source tools like Jenkins to schedule tests to run in the pipeline on a daily basis.
Running of tests from CI pipeline
To run scenario tests from the pipeline, customers should have accounts with third-party platforms like Cross Browser testing or an in-house selenium grid which can take care of launching the Pega instance and logging the user into the portal. You may refer to following articles to understand how to integrate the tests with CI tools.
https://collaborate.pega.com/discussion/browserstack-integration-scenario-testing-framework
https://collaborate.pega.com/discussion/crossbrowsertesting-integration-scenario-testing-framework
https://collaborate.pega.com/discussion/selenium-grid-integration-scenario-testing-framework
Keeping tests inside tests
A scenario test cannot be included in another scenario test, which is generally the case with other test frameworks that allow atomic level test cases to be included in the main test case
Execution of scenario tests
Scenario tests are portal dependent. i.e., once recorded on a portal, they cannot be manually run from a different portal. They have to run in the portal on which they are recorded. If you are executing the tests from developer studio or through a pipeline, it is possible to execute the test cases from built-on applications across different portals from a top layer application, provided correct application quality settings are configured to include all the required applications.
Support to various UI elements & scenarios for recording:
Though majority of the out of the box UI controls are supported by this framework, there are few controls and known scenarios which are not supported. Please refer following information to understand what is supported and what is not.
Controls supported
- pxButton
- pxTextInput
- pxMenuItem
- Label
- pxRichTextEditor
- pxLink
- pxIcon
- pxDisplayText
- pxTextArea
- pzModalButton
- pxGridEditModalSubmit
- pzOverlayButton
- pxDateTime
- Paragraph
- pxEmail
- pxPhone
- pxPassword
- pxNumber
- pxURL
- pxCurrency
- Decimal
- pxInteger
- pxSlider
- pxRadioButtons
- pzMultiFilePath
- FieldError
- CustomErrorList
- pxDropDown
- pxAutoComplete
- pxCheckbox
- pxAnyPicker
- pxMultiSelect
- pxAttachContent
Controls not supported
- Signature capture
- Hidden Text
Layouts supported
Structural Component |
Exceptions |
Tab |
Nil |
Embedded Section |
Nil |
Columns |
Nil |
Dynamic Layout |
Title text |
Repeated Dynamic Layout |
Reordering, show details |
Layout Group |
Touch and swipe |
Dynamic Layout Group |
Adding new tab, Header text, Touch and swipe |
Table |
Filtering, sorting, reordering, header text |
Hierarchical Table |
Filtering, sorting, reordering, resizing, node opening, header text, editing on “click row to edit” mode |
Navigational Tree |
Filtering, sorting, reordering, resizing, node opening, header text |
Layouts not supported
- Dynamic Container
- Ajax Container
Some known scenarios that are not supported
- Popup windows are NOT supported to be recorded or asserted. Currently the recording scope stays with elements of the main window.
- Click is needed from mouse or touch pad to record a DOM element and make assertions. Hovering over will NOT be recorded by scenario testing framework as they is no click involved.
- Scenario testing framework does NOT support saving or parsing files (like pdf, xlsx) as part of the test case. Hence, file operations like assertions on processed file content, assertions with file contents cannot be done.
- Date values entered in date fields can NOT be referred from system to use the present date. It will select the same value used while recording over and over.
- Modal dialog boxes which is usually used for confirmation to proceed or cancellation flow are NOT supported to be recorded or asserted.
- Whole tab refresh while recording a test case might cause abrupt FAILURE during test case execution.
- Dropdown control that gets populated with dynamic values/options can NOT be recorded as value to be selected has to be included in test case at the time of recording