Part of #57020, this task also depends on the completion of #57021, which is supposed to be done today. The objective of this task is to use Google Lighthouse to run the test against several pages (such as Login, Worklist, Calendar, Order, Patient Info, Study Info, Image Viewer, Document Viewer; The exact URLs on [login to view URL] will be provided soon) and extract the performance metrics to a .CSV file (We are planning to replace the .CSV by Azure Table storage but that is outside the scope of this task)
Below is the list of tasks that are required to be completed
1) Install google-lighthouse-puppeteer ([login to view URL]) and the Lighthouse Batch Reporter ([login to view URL]) so we can run google lighthouse to test on the list of URLs (will be provided) using the below command (generate JSON report for each of the URL)
lighthouse-batch -s URL1, URL2, URL3...URLn
2) Upon completing the test, analyze the JSON report to extract the below performance metrics (The metrics are a dynamic list; all in lowercase; multiple words metric should be using a dash '-' character in between) and save to a CSV file using the below format
<VERSION>, <SERVERNAME>_<METRIC NAME), <VALUE>
18.104.22.1685, qaz--rispacs.ramsoft.biz_first-contentful-paint, 12
3) Create a subproject in RATT-NG (webapp-performance) and commit the implementation (and Maven POM) of this task there. We are expecting to see the delivery of this task in an executable form (either in java program, batch scripts, PowerShell scripts) so we can use it as part of a Jenkins pipeline.