ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;font-style: normal;padding: 1em;border-radius: 6px;color: rgba(0, 0, 0, 0.5);background: rgb(247, 247, 247);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1em;display: block;letter-spacing: 0.1em;color: rgb(63, 63, 63);">近日我们连续发布了两篇 Prompt 工程系列教程:本篇聚焦ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">性能测试与并发场景,演示如何借助 Prompt 工程和 Playwright 自动化压力测试 saucedemo.com。 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 1em;color: rgb(63, 63, 63);">一、前言ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">在电商高峰期,页面吞吐量与并发用户体验至关重要。传统性能测试脚本编写复杂、难与功能测试统一,团队常面临:ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);">1. 📊ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">指标难产:手工编写并发脚本耗时长,数据汇总麻烦;ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);">2. 🚦ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">环境搭建:需额外性能测试工具,CI 集成门槛高;ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);">3. 🔄脚本维护:UI 改动频繁,性能脚本易失效。 AI 助手(DeepSeek)+ Prompt 工程可简化性能测试脚本生成,Playwright 支持高并发上下文,本文将带你: - • 用 Prompt 一键生成高并发性能测试脚本;
- • 使用 Python 与 Playwright 实现压测;
二、实战案例:saucedemo 并发压测2.1 Prompt 模板设计# prompt_performance.py defget_performance_prompt(): return''' 你是一名资深性能测试工程师,精通 Playwright 和 Python。 请为 saucedemo.com 生成并发性能测试脚本: - 模拟 50 个并发用户同时登录并添加商品到购物车; - 登录凭证:standard_user/secret_sauce; - 每个用户执行 5 次添加不同商品操作; - 输出每位用户的响应时间和总体耗时报告; - 使用 Playwright 的并发上下文和 Pytest 运行; - 最终生成 CSV 格式的测试结果文件。 '''
2.2 AI 生成脚本示例# tests/test_performance.py importcsv, time importpytest fromplaywright.sync_apiimportsync_playwright
deftest_saucedemo_performance(): users =50 results = [] withsync_playwright()asp: browser = p.chromium.launch() defuser_flow(uid): ctx = browser.new_context() page = ctx.new_page() start = time.time() page.goto("https://www.saucedemo.com") page.fill("#user-name","standard_user") page.fill("#password","secret_sauce") page.click("#login-button") foriinrange(5): selector =f"#add-to-cart-sauce-labs-{'backpack'ifi%2==0else'bike-light'}" page.click(selector) duration = time.time() - start results.append((uid,round(duration,2))) ctx.close() # 并发执行 pytest.parallel(user_flow,range(1, users+1)) # 写入报告 withopen('performance_results.csv','w',newline='')asf: writer = csv.writer(f) writer.writerow(['user_id','duration']) writer.writerows(results) # 简单断言 assertlen(results) == users
提示:上面pytest.parallel伪代码用于示意,实际可用 ThreadPoolExecutor 或 Pytest-xdist 插件。
也可参考这篇文章 从0到1构建Playwright高并发购物车压测 2.3 运行与报告pytesttests/test_performance.py--maxfail=1--disable-warnings-q 执行完成后,打开performance_results.csv查看各用户耗时;可进一步使用 Python 或 Excel 绘制折线图、柱状图。
三、结语本篇演示了如何结合 Prompt 工程与 Playwright,实现端到端的并发性能测试: - • 🚀Playwright 上下文并发支持,实现高并发;
- • 🔗CI 集成友好,可与 Jenkins/GitHub Actions 联动。
|