search cancel

BlazeMeter GUI Functional test returns a broken status - How do we Troubleshoot ?

book

Article ID: 202074

calendar_today

Updated On:

Products

BlazeMeter

Issue/Introduction

One of our GUI Functional tests returned a status of ' Broken' (failed) when it is being executed through OPL. The same test is running fine when executed in local debug mode, though there was some delayed response in getting data from some dropdown boxes.

I'm not sure if that was causing the failure of the tests when executed through OPL. This is the first time we are using Prod OPL to execute the scripts. How do we determine where the test is failing and how to troubleshoot the issue?

Test Name - PSBOR_Web_New_Control_TRAD_BIC_Addition

URL - https://a.blazemeter.com/app/#/accounts/######/workspaces/######/projects/######/masters/######/cross-browser-summary 

Cause

For GUI Functional Tests, you need to use the following API call to get the location of the files associated with the test:

https://a.blazemeter.com/api/v4/masters/<masterID>/files

Note: You will need to replace <masterID> with the actual masterID from your test's URL.

For example, if the test URL is https://a.blazemeter.com/app/#/accounts/xxxxxx/workspaces/xxxxxx/projects/xxxxxx/masters/12345678/cross-browser-summary, you would make the following API call in the browser: https://a.blazemeter.com/api/v4/masters/12345678/files

In the results of the API call, locate the location URL of the artifacts.zip file. Copy and paste this URL in your browser to download a copy of the artifacts.zip file. There are two primary files you will want to look closely at:

  1. apiritif.err
  2. functionalGui.yaml

Checking the apiritif.err file we see the following:

======================================================================
ERROR: test_Scenario_1 (test_requests.TestScenario1)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/artifacts/test_requests.py", line 450, in test_Scenario_1 self._3_ADDRxDrug()
  File "/tmp/artifacts/test_requests.py", line 360, in _3_ADDRxDrug var_loc_select[1])).select_by_visible_text('01 - Contributory (not 100%) - packaged w/ other benefits')
  File "/usr/local/taurus-cloud/selenium4/selenium/webdriver/support/select.py", line 140, in select_by_visible_text raise NoSuchElementException("Could not locate element with visible text: %s" % text)
selenium.common.exceptions.NoSuchElementException: Message: Could not locate element with visible text: 01 - Contributory (not 100%) - packaged w/ other benefits

----------------------------------------------------------------------

Environment

Release :

Component : BLAZEMETER GUI FUNCTIONAL TESTING

Resolution

If you look for the string '01 - Contributory (not 100%) - packaged w/ other benefits' in the functionalGui.yaml file (also found in the artifacts.zip file), it shows that the string is used in 2 places.

Watching the replay of the video recorded at full screen, you will see that the test fails when selecting from the 'Dependents Coverage' drop down list (where this string is used a second time).

If the '01 - Contributory (not 100%) - packaged w/ other benefits' string is a valid item in this drop down list, and the items in the list are retrieved from the application before being displayed, then it is most likely an issue with the timing of retrieving the resource from the application. You would need to check the application logs to figure out why it takes so long to retrieve the asset from the application.

If this is not the case, are you sure that the string is the correct value for this field?