.ad files cannot reach off-screen elements, and test --platform skips files without a platform header
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- cli
Línea de trabajo
Start in the replay/.ad parser and the command flag table where scroll --until is marked recorded: false; the scroll handler is what rejects the extra argument, and wait --raw fails through the same argument splitter. For part 2, find where test --platform assembles the internal missing platform metadata skip reason and where the user-facing No replay tests matched error is built. Part 3 is a flag table for help scripting. Done means scroll down --until 'id="x"' works inside a .ad file, the platform error names the skip reason, and the docs list which CLI flags are valid in .ad files.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I use agent-device test with .ad files to replay example apps on an Android emulator and an iOS simulator. Three things make long screens hard to replay in a deterministic way. Version: 0.21.20.
1. .ad files cannot reach an off-screen element
wait, is, and press only see elements that are on screen. That is fine. But I cannot get an element on screen in a .ad file in a viewport-independent way:
scroll down --until 'label="ok:ready"'works from the CLI. In a.adfile it fails withscroll amount must be a number, because--untilis not parsed (it isrecorded: falsein the flag table).wait id="x" --rawandwait --raw id="x"both fail in a.adfile (is followed by unexpected extra arguments/mixes plain word "--raw").
So a .ad file has to use fixed scroll down steps. They pass on one screen size and fail on another. Example: the same flow passed on a Medium Phone emulator and failed on an iPhone 17 simulator, because the target button was one page lower.
Repro:
open "com.example.app" --relaunch
scroll down --until 'id="far-button"'
press id="far-button"
close
Expected: the scroll repeats until far-button is visible, as it does in the CLI.
Actual: scroll amount must be a number.
Request: support --until <selector> for scroll in .ad files (and replays), or give .ad files another way to bring a selector on screen.
2. test --platform skips files that have no platform metadata
agent-device test e2e/*.ad --platform android --serial emulator-5554 fails with No replay tests matched for --platform android. when the .ad files have no platform header. Without --platform the same files run on that serial. The skip reason (missing platform metadata for --platform android) is only in the internal entry, not in the error the user sees.
Request: when --serial or --udid already selects the device, treat header-less files as runnable on that platform, or say in the error that the files were skipped because they have no platform header, and how to add one.
3. Docs
I could not find the .ad syntax for flags per command, or a list of which CLI flags work inside .ad files. A short table in help scripting would have saved me some time.
Thanks for the tool. My workaround for 1 is an accessible element that stays on screen and carries all result values in its label. It works, but it means changing the app for the test runner.
- Lenguaje dominante
- TypeScript
- Estrellas
- 4.8k
- Forks
- 315
- Merge medio
- 11 h 37 min
- PR fusionados (30 d)
- 556
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 callstack/agent-device
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
callstack/agent-device#1869 ·
Los mantenedores suelen responder en 1 día
-
iOS: type/fill still reads its pre-focus element after the focus tap, ending the runner sessionAbiertobug needs-triage
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
callstack/agent-device#3238 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
callstack/agent-device#3229 ·
Los mantenedores suelen responder en 1 día
-
fix(apple-runner): fence prep spawns after teardown or last-waiter cancellationPosiblemente ocupada @thymikee la tomó hoy. Abiertoneeds-triage
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
callstack/agent-device#3220 ·
Los mantenedores suelen responder en 1 día
-
Explicit macOS surface is lost from recorded actions and replay scriptsPosiblemente ocupada @janicduplessis la tomó hace 1 día. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
callstack/agent-device#3216 ·
Los mantenedores suelen responder en 1 día
Todos los issues de callstack/agent-device
Issues similares
-
perf(core): getComments() runs the approved count and the comment list as two sequential queriesAbiertoarea/core bot:bug bot:working
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
emdash-cms/emdash#3905 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
lingdojo/kana-dojo#31728 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
selective-claw: freshTailTurns=0 keeps ALL turns verbatim and summarizes none (slice(-0) === slice(0))Posiblemente ocupada @zjncs la tomó hoy. Abiertocomponent:tokenless
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
agentic-os-org/ANOLISA#6112 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
rjsf-team/react-jsonschema-form#5439 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día