Openbravo Issue Tracking System - Retail Modules
View Issue Details
0037713Retail ModulesWeb POSpublic2018-01-24 15:352024-02-09 10:19
inaki_garcia 
Retail 
normaltrivialN/A
closedout of date 
5
 
 
No
0037713: Code contribution request to pi-mobile of infrastructure for the recording of JMeter performance test
This contribution is part of the Automated JMeter Test Plan Creation project to enable faster and easier JMeter test script recording and execution.

It provides the possibility of using the Selenium tests as a recording platform with an extendable test class that configures a proxy to redirect the generated HTTP requests to the JMeter requests, and adds its own custom HTTP requests after certain "tap" actions to classify these requests within the JMeter test script's request controllers. Such class also modifies the test behavior so there is a WebPOS login and logout in the @before and @after annotations, respectively.

The logic for such extendable test class is included in the WebPOSJMeterTerminalHelper.java class. Other minor changes have been added to the MobileCoreTerminalHelper, WebPOSTerminalHelper and SeleniumHelper classes for the integration of such class, and to set an initial mark when first loading the WebPOS page.

Check the attachments to see the candidate patches to be contributed to pi-mobile, which should be made available for Q3.
N/A
No tags attached.
related to feature request 0054624 closed shuehner Remove obsolete jmeterrecording code from mobile-test 
diff jMeterRecordingWorkloadTest_patch2.diff (10,571) 2018-10-03 17:24
https://issues.openbravo.com/file_download.php?file_id=12235&type=bug
diff jMeterRecordingInfrastructure_patch1.diff (43,495) 2018-10-26 10:16
https://issues.openbravo.com/file_download.php?file_id=12328&type=bug
Issue History
2018-01-24 15:35inaki_garciaNew Issue
2018-01-24 15:35inaki_garciaAssigned To => Retail
2018-01-24 15:35inaki_garciaFile Added: patchForJMeterRecording.diff
2018-01-24 15:35inaki_garciaTriggers an Emergency Pack => No
2018-01-24 15:36inaki_garciaDescription Updatedbug_revision_view_page.php?rev_id=16583#r16583
2018-01-24 15:44inaki_garciaDescription Updatedbug_revision_view_page.php?rev_id=16584#r16584
2018-01-25 13:26inaki_garciaFile Deleted: patchForJMeterRecording.diff
2018-01-25 13:27inaki_garciaFile Added: patchForJMeterRecording.diff
2018-06-12 13:34inaki_garciaFile Deleted: patchForJMeterRecording.diff
2018-06-12 13:34inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-06-18 15:51inaki_garciaNote Added: 0105197
2018-06-18 16:03inaki_garciaNote Edited: 0105197bug_revision_view_page.php?bugnote_id=0105197#r17316
2018-06-18 16:04inaki_garciaFile Added: jMeterRecordingWorkloadTest_patch2.diff
2018-06-18 16:05inaki_garciaFile Added: disableProxyForRegularExecutionInCi_patch3.diff
2018-06-18 16:05inaki_garciaDescription Updatedbug_revision_view_page.php?rev_id=17317#r17317
2018-06-18 16:06inaki_garciaDescription Updatedbug_revision_view_page.php?rev_id=17318#r17318
2018-06-22 10:36inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-06-22 10:36inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-06-22 11:02inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-06-22 11:02inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-06-22 11:12inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-06-22 11:12inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-06-22 12:30inaki_garciaFile Deleted: disableProxyForRegularExecutionInCi_patch3.diff
2018-06-22 12:30inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-06-22 12:30inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-06-22 12:33inaki_garciaFile Deleted: jMeterRecordingWorkloadTest_patch2.diff
2018-06-22 12:33inaki_garciaFile Added: jMeterRecordingWorkloadTest_patch2.diff
2018-09-28 14:02inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-09-28 14:02inaki_garciaFile Deleted: jMeterRecordingWorkloadTest_patch2.diff
2018-09-28 14:02inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-09-28 14:02inaki_garciaFile Added: jMeterRecordingWorkloadTest_patch2.diff
2018-10-03 13:08inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-10-03 13:08inaki_garciaFile Deleted: jMeterRecordingWorkloadTest_patch2.diff
2018-10-03 13:08inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-10-03 13:08inaki_garciaFile Added: jMeterRecordingWorkloadTest_patch2.diff
2018-10-03 16:14inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-10-03 16:14inaki_garciaFile Deleted: jMeterRecordingWorkloadTest_patch2.diff
2018-10-03 16:15inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-10-03 16:15inaki_garciaFile Added: jMeterRecordingWorkloadTest_patch2.diff
2018-10-03 17:23inaki_garciaFile Deleted: jMeterRecordingWorkloadTest_patch2.diff
2018-10-03 17:24inaki_garciaFile Added: jMeterRecordingWorkloadTest_patch2.diff
2018-10-18 17:10inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-10-18 17:10inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-10-19 13:13inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-10-19 13:13inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-10-24 15:44inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-10-24 15:45inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2018-10-26 10:15inaki_garciaFile Deleted: jMeterRecordingInfrastructure_patch1.diff
2018-10-26 10:16inaki_garciaFile Added: jMeterRecordingInfrastructure_patch1.diff
2019-06-27 12:51inaki_garciaSummaryCode contribution request for load test recording for JMeter for pi-mobile => Code contribution request to pi-mobile of infrastructure for the recording of JMeter performance test
2019-07-08 16:21inaki_garciaNote Added: 0113222
2024-02-08 17:35shuehnerRelationship addedrelated to 0054624
2024-02-09 10:19shuehnerNote Added: 0160532
2024-02-09 10:19shuehnerStatusnew => closed
2024-02-09 10:19shuehnerResolutionopen => out of date

Notes
(0105197)
inaki_garcia   
2018-06-18 15:51   
(edited on: 2018-06-18 16:03)
At the present time, there isn't a way of executing these tests alongiside JMeter in a Jenkins build, but it is planned for an upcoming release. In the meantime, the WebPOSWorkloadTest run as a regular nightly try-retail integration test will provide feedback on the stability and usefulness to perform a manual JMeter recording on. To do this, apply the disableProxyForRegularExecutionInCi_patch3.diff patch to leave the unneeded Proxy disabled

(0113222)
inaki_garcia   
2019-07-08 16:21   
The Web POS Workday test for use for the JMeter test recording requires to directly extend the WebPOSExtModulesTerminalHelper, to be able to continuously evaluate and test it over the Retail "pi" project as part of the CI jobs in try-retail. This leaves us with two setups for the test, and since it isn't possible to make the test class extend the two parent class (being WebPOSJMeterTerminal helper the other one), it has been decided to have two seperate classes in different packages:

- org.openbravo.test.mobile.retail.extmodules.selenium.tests.generic.WebPOSWorkdayTestForJMeter
- org.openbravo.test.mobile.retail.example.selenium.tests.jmeterrecording.WebPOSWorkdayTest

The first one is the one suitable to run in try-retail, which should run without being error excluded in "AllowedErrorsHelper", and which will receive any adaptation or changes as the POS
application evolves and develops. The second one is the one which will more closely run the test in the sequence that the JMeter recording and the parsing tools developed for it need. Any changes
will be transfered to this class and will also continue to be tested by the qa-pi-jmeterrecording job that serves as a flag on whenever the changes were required.
(0160532)
shuehner   
2024-02-09 10:19   
Closing as in 54624 we removed the code related to using selenium for recording jmeter tests.