Sitespeed.io with Lighthouse Using JavaScript for Multiple URLs
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- docker, javascript
- Domain
- performance, testing
Research direction
Start with plugin-lighthouse/index.js and reproduce the documented Docker command using prueba.js. Trace where the plugin rejects scripting or multiple pages, then define how Lighthouse reports should be produced for each URL in the workflow. Done means the script can run across multiple URLs and generate the requested Lighthouse results without that error.
Written by the indexing model from the issue text.
Description
Feature Request
Description:
I would like to request the ability to integrate Sitespeed.io with Lighthouse using a JavaScript script that handles multiple URLs. Currently, it seems that Lighthouse can only be used on individual URLs and not with scripting/multiple pages, which limits the ability to perform comprehensive performance testing on workflows that span multiple pages.
Use Case:
My use case involves running a script (e.g., prueba.js) that navigates through multiple pages of a web application, performs various actions, and measures performance. I would like to include Lighthouse reports for each of the URLs involved in this script to get detailed performance insights.
Steps to Reproduce:
-
Created a script (
prueba.js) to navigate through multiple pages:module.exports = async function(context, commands) { try { await commands.measure.start('Tx_login'); await commands.navigate('https://opensource-demo.orangehrmlive.com/web/index.php/auth/login'); await commands.addText.byXpath('Admin', '//input[@placeholder="Username"]'); await commands.addText.byXpath('admin123', '//input[@placeholder="Password"]'); await commands.click.byXpath('//button[@type="submit"]'); await commands.wait.byTime(1000); await commands.measure.stop(); await commands.measure.start('Tx_adminSearch'); await commands.click.byXpath('//a/span[contains(.,"Admin")]'); await commands.wait.byTime(1000); await commands.click.byXpath('//div[2]/input'); await commands.addText.byXpath('admin', '//div[2]/input'); await commands.click.byXpath('//button[@type="submit"]'); await commands.wait.byTime(1000); await commands.scroll.toBottom(); await commands.measure.stop(); await commands.measure.start('Tx_consultRecruit'); await commands.click.byXpath('//a/span[contains(.,"Recruitment")]'); await commands.wait.byTime(1000); await commands.click.byXpath('//i[@class="oxd-icon bi-eye-fill"]'); await commands.wait.byTime(1000); await commands.click.byXpath('//a[contains(.,"Vacancies")]'); await commands.wait.byTime(1000); await commands.measure.stop(); await commands.measure.start('Tx_directory'); await commands.click.byXpath('//a/span[contains(.,"Directory")]'); await commands.wait.byTime(1000); await commands.click.byXpath('//span/i'); await commands.click.byXpath('//a[contains(text(),"Logout")]'); await commands.wait.byTime(1000); await commands.measure.stop(); } catch (e) { // Handle error } }; -
Executed the script with the following Docker command:
docker run --rm -v /home/sitespeed:/sitespeed.io sitespeedio/sitespeed.io --plugins.add /sitespeed.io/plugin-lighthouse/index.js prueba.js --multi -n1 -
Received the following message:
Lighthouse can only be used on URLs and not with scripting/multiple pages at the moment
Desired Outcome:
It would be great if there could be an option or plugin to integrate Lighthouse in a way that it can run for multiple URLs specified in a script. This integration would help in automating the performance analysis for workflows involving multiple pages.
Thank you for considering this feature request!
- Dominant language
- JavaScript
- Stars
- 31
- Forks
- 21
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sitespeedio/plugin-lighthouse
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
sitespeedio/plugin-lighthouse#136 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
sitespeedio/plugin-lighthouse#133 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
sitespeedio/plugin-lighthouse#126 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
sitespeedio/plugin-lighthouse#120 · 7 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
sitespeedio/plugin-lighthouse#109 ·
All issues in sitespeedio/plugin-lighthouse
Similar issues
-
Bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Automattic/safe-publish#594 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
dream-num/dsh-univer-office#104 ·
-
comp/dashboard invalid P3
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
NousResearch/hermes-agent#121143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
avniproject/avni-webapp#1811 ·
-
area/auroraboot area/webui bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100