Discussion

10
Replies
615
Views
Prasad Rao Veera Venkata Vara Vadlamudi (vadlp)
PEGA
Senior Product Manager
Pegasystems Inc.
IN
vadlp Member since 2015 11 posts
PEGA
Posted: January 27, 2021
Last activity: 1 week 2 days ago
Posted: 27 Jan 2021 7:16 EST
Last activity: 20 Jul 2021 1:46 EDT

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.

 

Setting up and cleaning up test data:

Currently there is no support to setup/clean-up test data for a test case. However, it is possible to supply dynamic data to test case using the data page. Please refer to the section “providing dynamic data to the test case” in following article for more details on how to use it.

https://collaborate.pega.com/discussion/scenario-testing-how-create-run-edit-test-cases

 

The options to setup/clean-up test data for a test case using various in-built actions will be made available very soon, using which you can create work objects, run activities etc. to setup the required data and refer the data dynamically from the test case.

 

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

 

Controls not supported

  • Signature capture
  • MultiSelect
  • 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
***Edited by Moderator Marissa to add the Developer Knowledge Share tag***
DevOps Testing Applications Cross-Industry Business User System Architect Senior System Architect Developer Knowledge Share