peach-e2e-run
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseE2E 시나리오 실행
E2E场景运行
./e2e.sh通过 CLI执行场景(基于playwright-cli)。可通过agent-browser eval快速完成调试验证。
./e2e.sh도구 역할 분담
工具职责分工
| 용도 | 도구 |
|---|---|
| 시나리오 실행 | |
| 셀렉터 디버깅/DOM 확인 | |
| iframe 디버깅 | |
| 用途 | 工具 |
|---|---|
| 运行场景 | |
| 选择器调试/DOM验证 | |
| iframe调试 | |
워크플로우
工作流
1. 환경 확인 (setup)
2. 탭 목록 → 사용자에게 탭 번호 확인
3. 시나리오 목록 → 사용자 선택
4. --tab N으로 지정된 탭에서 시나리오 실행
5. 결과 보고 (에러 시 agent-browser eval로 디버깅)1. 环境检查(setup)
2. 获取标签页列表 → 向用户确认要使用的标签页编号
3. 展示场景列表 → 用户选择要执行的场景
4. 在--tab N指定的标签页中运行场景
5. 结果报告(出现错误时通过agent-browser eval调试)1단계: 환경 확인
第1步:环境检查
bash
cd e2e && ./e2e.sh setupsetup./e2e.sh chromebash
cd e2e && ./e2e.sh setupsetup./e2e.sh chrome2단계: 탭 확인
第2步:确认标签页
bash
cd e2e && ./e2e.sh status탭 목록을 사용자에게 보여주고 "몇 번 탭에서 실행할까요?" 확인.
탭 번호는 0번부터 시작한다. status 출력에서 확인.탭은 목록에서 제외된다. 실제 페이지 탭만 표시.chrome://[0] 페이지 제목 https://example.com/... [1] NAVER https://www.naver.com/가[번호]의 N과 동일하다.--tab N
사용자가 로그인한 탭을 그대로 사용한다. 환경(local/test/prod) 구분 없음.
bash
cd e2e && ./e2e.sh status将标签页列表展示给用户,并询问**「要在几号标签页运行?」**
标签页编号从0开始计数,可在status输出中确认。开头的标签页会被排除,仅展示实际页面标签页。chrome://[0] 페이지 제목 https://example.com/... [1] NAVER https://www.naver.com/和[编号]中的N完全对应。--tab N
直接使用用户已登录的标签页,无需区分环境(本地/测试/生产)。
3단계: 시나리오 목록
第3步:获取场景列表
bash
cd e2e && ./e2e.sh listbash
cd e2e && ./e2e.sh list4단계: 실행
第4步:执行场景
bash
cd e2e && ./e2e.sh run --tab 0 1 # 0번 탭, 1번 시나리오
cd e2e && ./e2e.sh run --tab 0 1-3 # 1~3번 순차
cd e2e && ./e2e.sh run --tab 0 all # 전체
cd e2e && ./e2e.sh run 1 # 탭 미지정 → 자동 탐지은 CDP 조회 후 URL로 변환되어--tab N환경변수로E2E_TAB_URL에 전달된다. 탭 미지정 시 첫 번째 비-chrome 페이지 탭이 자동 선택된다.lib/connect.js
빈 브라우저 주의: Chrome Beta에탭만 있고 페이지 탭이 없으면 connect.js가 에러를 발생시킨다. 이 경우 먼저 페이지 탭을 열어야 한다:chrome://bashagent-browser connect 9222 agent-browser tab new "https://www.google.com"또는 시나리오 내에서 직접 탭을 열도록 작성한다.
bash
cd e2e && ./e2e.sh run --tab 0 1 # 0号标签页,运行1号场景
cd e2e && ./e2e.sh run --tab 0 1-3 # 0号标签页,顺序运行1~3号场景
cd e2e && ./e2e.sh run --tab 0 all # 0号标签页,运行全部场景
cd e2e && ./e2e.sh run 1 # 未指定标签页 → 自动检测选择会在查询CDP后转换为对应的URL,作为--tab N环境变量传递给E2E_TAB_URL。 未指定标签页时,会自动选择第一个非chrome协议的页面标签页。lib/connect.js
注意空浏览器问题:如果Chrome Beta中只有开头的标签页,没有实际页面标签页,connect.js会抛出错误。 这种情况下需要先打开一个页面标签页:chrome://bashagent-browser connect 9222 agent-browser tab new "https://www.google.com"或者在场景代码中直接编写打开标签页的逻辑。
5단계: 결과 보고 + 디버깅
第5步:结果报告 + 调试
- → 성공 보고
✨ 완료! - → agent-browser eval로 빠르게 디버깅:
❌ 에러:
bash
undefined- → 报告执行成功
✨ 完成! - → 通过agent-browser eval快速调试:
❌ 에러:
bash
undefinedCDP 연결 (1회)
CDP连接(仅需执行1次)
agent-browser connect 9222
agent-browser connect 9222
현재 URL 확인
查看当前URL
agent-browser eval "location.href"
agent-browser eval "location.href"
셀렉터 존재 여부
检查选择器是否存在
agent-browser eval "document.querySelector('.target') !== null"
agent-browser eval "document.querySelector('.target') !== null"
버튼 목록
获取按钮列表
agent-browser eval "JSON.stringify(Array.from(document.querySelectorAll('button')).map(function(b){return b.innerText}))"
agent-browser eval "JSON.stringify(Array.from(document.querySelectorAll('button')).map(function(b){return b.innerText}))"
요소 개수
统计元素数量
agent-browser eval "document.querySelectorAll('tr').length"
> iframe 내부 디버깅은 agent-browser로 불가 → playwright-cli fallback:
> ```bash
> ./e2e/pwc.sh eval "document.querySelector('iframe[src*=target]').contentDocument.querySelector('#element').innerText"
> ```agent-browser eval "document.querySelectorAll('tr').length"
> iframe内部调试无法通过agent-browser完成 → fallback到playwright-cli:
> ```bash
> ./e2e/pwc.sh eval "document.querySelector('iframe[src*=target]').contentDocument.querySelector('#element').innerText"
> ```