--dryRun fails for navigate callbacks and startNavigation/endNavigation
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- cli, typescript
- Área
- cli, testing-qa
Línea de trabajo
Empieza con UserFlowMock en packages/cli/src/lib/commands/collect/utils/user-flow/user-flow.mock.ts. Haz que navigate llame al requestor cuando sea una función y, en caso contrario, llame a page.goto. Luego añade los métodos startNavigation y endNavigation, de estilo no-op, que solo registren en el log, siguiendo el patrón de startTimespan y endTimespan. Se considera terminado cuando un caso e2e en modo dry-run con un navigate basado en callback y otro con startNavigation/endNavigation se completa sin escribir un informe ni lanzar un error de protocolo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
collect --dryRun fails for any flow that navigates with a callback, or calls startNavigation/endNavigation. It fails before writing any report.
UserFlowMock (packages/cli/src/lib/commands/collect/utils/user-flow/user-flow.mock.ts) stands in for Lighthouse's UserFlow in a dry run:
-
navigate(requestor)always callspage.goto(requestor). Whenrequestoris a function, as inflow.navigate(async () => page.click('a')), Chrome rejects it:ProtocolError: Protocol error (Page.navigate): Invalid parameters Failed to deserialize params.url - BINDINGS: mandatory field missing at position 50 -
It has no
startNavigationorendNavigationmethods. A flow that calls them, or a recording withstartNavigation/endNavigationsteps, cannot run.
Reproduction
user-flow 0.21.6, with no Lighthouse config:
// user-flows/click.uf.mts
export default {
flowOptions: { name: 'Click' },
interactions: async ({ flow, page, collectOptions }) => {
await flow.navigate(collectOptions.url);
await flow.navigate(async () => {
await page.click('a');
});
},
};
npx user-flow collect --url https://example.com --ufPath ./user-flows --dryRun
flow.navigate(collectOptions.url) alone dry-runs fine.
Proposed fix
In UserFlowMock:
navigate: run the callback whenrequestoris a function, otherwisepage.goto(requestor);- add
startNavigationandendNavigation, which only log, likestartTimespanandendTimespan.
Tests: a dry-run e2e case with a callback navigate and with startNavigation/endNavigation.
Context: these are how @push-based/lighthouse-soft-navigation measures soft navigations, so dry runs of those flows fail today.
- Lenguaje dominante
- HTML
- Estrellas
- 131
- Forks
- 7
- Merge medio
- 7 h 58 min
- PR fusionados (30 d)
- 42
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de push-based/user-flow
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
push-based/user-flow#356 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 24/100
push-based/user-flow#285 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
push-based/user-flow#272 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
nx-plugin - init command adds `"PLUGIN_NAME": "^0.0.0"` to `package.json`Quizá libre de nuevo @ChristopherPHolder la tomó hace 1211 días y no hay ningún pull request abierto. Abiertobug DX
push-based/user-flow#248 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
push-based/user-flow#247 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de push-based/user-flow
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ScoopInstaller/Shim#22 ·
-
Command description is always printed despite being optionalPosiblemente ocupada @davidwarrington la tomó hoy. Abiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
MaximeMRF/adonisjs-jwt#102 ·
-
accessibility effort: small enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
pedersebastian/CustomBossChallenge#185 ·
Los mantenedores suelen responder en 1 día
-
Spec: say that included_antigen_sources gates LENS labels; do not merge it into antigen kindsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día