11. 鸿蒙自动化测试6步通关:需求一丢,报告自己出来!
配套动画视频在:《11. 鸿蒙自动化测试6步通关:需求一丢,报告自己出来!》,源代码在《评论区置顶》。
前面几节,读需求、生成用例、截图、启停应用、出报告,都分开讲过了;AGENTS.md 和 memory 也配好了。这一节把它们串起来:丢进一份需求文档,最后自动给出 HTML 报告。流程不复杂,就 6 步——读需求、生成用例、测前截图、执行、测后截图、出报告。
![[图片]](https://img2024.cnm3.com/blog/1919157/202608/1919157-20260810064732216-715332847.png)
1. 读需求
先读需求规格说明书。docx 用 read-docx 脚本,加上 --tables,表格里的元素清单也能读到;pdf 就用 read-pdf。别用 read_file 直接读这类文件,容易出乱码。
python skills/read-docx/scripts/read_docx.py docs/需求规格说明书.docx --tables # 若是 pdf: python skills/read-pdf/scripts/read_pdf.py docs/需求规格说明书.pdf
2. 生成用例
需求读完,按文档里的功能说明、元素清单和测试要求写用例,再用 generate_test_cases 存到 testcases/test_data.yaml。只生成一次,生成后不要改;元素 ID 也直接用文档里写的,别自己瞎编。
generate_test_cases( test_cases=[{ "case_id": "TC001", "case_name": "启动验证", "description": "启动后断言首页核心元素存在", "steps": [ {"action": "assert_exists", "params": {"selector": "loginBtn"}}, ], }], output_path="testcases/test_data.yaml", )
3. 测试前截图
用例文件写好后,先截一张当前屏幕,当作测试开始前的样子。调用 take_screenshot,保存到 before_test.png。
take_screenshot(save_path="testcases/screenshots/before_test.png")
4. 执行测试
然后把这份 YAML 交给 execute_test,在真机上把用例跑完。也是只跑一次;跑完会生成 test_results.json,后面写报告要用。
execute_test(test_data_file="testcases/test_data.yaml")
5. 测试后截图
测试跑完,再截一张,记下结束时的界面。还是用 take_screenshot,文件名改成 after_test.png。
take_screenshot(save_path="testcases/screenshots/after_test.png")
6. 生成报告
最后出报告。generate_test_report 会先读 test_results.json,再把测前、测后两张图放进去,生成 test_report.html。
generate_test_report( test_output="testcases/test_results.json", output_path="testcases/test_report.html", screenshots=[ "testcases/screenshots/before_test.png", "testcases/screenshots/after_test.png", ], )
实际跑的时候,不用你一步一步手动点。入口脚本把这 6 步写进任务提示词,把需求文档路径、每一步文件该存哪儿也写清楚,交给 Agent;它按 AGENTS.md 自己调工具,跑完会给出执行总结:
task = f"执行自动化测试任务,需求文档路径:{doc_path}。请严格按照 AGENTS.md 定义的完整6步流程执行:
1.读取需求文档
2.根据需求规格说明书生成测试用例到testcases/test_data.yaml
3.测试前截图到testcases/screenshots/before_test.png
4.执行测试(test_data_file=testcases/test_data.yaml)
5.测试后截图到testcases/screenshots/after_test.png
6.生成报告到testcases/test_report.html。完成后输出执行总结。"
提示词里路径都写清楚了,Agent 就知道该读哪个文件、结果存到哪里。跑完去 testcases/ 看:用例 YAML、两张截图和 HTML 报告应该都在;再对照 Agent 返回的总结,确认 6 步有没有做完。
到这里,从丢进一份需求文档,到自动产出测试报告,整条鸿蒙自动化流程就算通了。
配套动画视频在:《11. 鸿蒙自动化测试6步通关:需求一丢,报告自己出来!》,源代码在《评论区置顶》。
原文地址: https://www.cveoy.top/t/topic/qHiW 著作权归作者所有。请勿转载和采集!