重庆网站建设 渝,网架公司推荐,最早的c2c网站,小程序制作预览项目希望能接入自动化端到端测试提高可靠性#xff0c;发现微软的 playwright 还挺好用的#xff0c;推荐一下#xff0c;顺便说下遇到的一些难点以及最佳实践。
难点
登录 项目不能帐号密码登录#xff0c;只能扫二维码 临时方案是先自己扫码保存 cookie 用于测试#…项目希望能接入自动化端到端测试提高可靠性发现微软的 playwright 还挺好用的推荐一下顺便说下遇到的一些难点以及最佳实践。
难点
登录 项目不能帐号密码登录只能扫二维码 临时方案是先自己扫码保存 cookie 用于测试大概几天后才过期。可以用 codegen 搭配 save-storage 命令保存 cookie npx playwright codegen github.com/microsoft/playwright --save-storageauth.json 可以保存cookie 到 auth.json用 npx playwright --load-storageauth.json命令即可加载也可以在测试文件中加载 长期的方案应该是跟后台同学 py搞个长期有效的 cookie 或者测试帐号可以只在测试环境、内网生效规避外网风险 支付项目有支付环节目前有扫二维码支付、网银支付、转账扫码应该是比较好测试的 暂时想到的方案是生成支付二维码后截图推送给触发测试的人去扫码支付 对测试号配置一分钱测试商品方便测试 如果能确保支付环节不会出错支付是外部稳定的第三方模块也可以考虑用免费订单跳过支付环节
最佳实践 https://playwright.nodejs.cn/docs/best-practices 测试理念
测试用户能看到的不要依赖实现细节测试尽可能隔离避免测试第三方依赖有数据库相关的要考虑数据变化是否影响测试视觉回归测试要考虑操作系统和浏览器版本
tips
使用定位器的时候 支持链式使用过滤搜索小范围优先用面向用户的属性而不是 css 选择器用能够适应 dom 变化的定位器比如ARIA role、 ARIA 参数和可访问的名称page.getByRole(tab, { name: 其它 })可以用codegen 功能来生成定位器如npx playwright codegen github.com/microsoft/playwright他会帮你找到最适合的定位器太好用了 使用web first断言(assertions)playwright 会等待直到条件达成 比如发了个取消请求语气能看到取消成功的提示可以这样写 await expect(page.getByText(取消成功)).toBeVisible()toBeVisible()这种断言会等待和重试await要写在 expect 前面如果像expect(await page.getByText(welcome).isVisible()).toBe(true);这样会立即检查定位器能否找到并返回结果不会去等待重试 调试 安装 VSCode 插件调试trace viewer 能看截图能看时间线test 加 ui 命令能可视化测试过程 在配置里可以很方便的测多几种浏览器及时更新 playwright 依赖CI 中跑测试测试文件接入 lint并行跑测试playwright 对于一个文件的测试是按顺序跑的可同时跑多个文件如果对单个文件也想并行跑可以这样写用 soft 断言可以不终止测试expect.soft
其他
无障碍访问
Web 无障碍访问 (也称为 a11y) 是指创建可供任何人使用的网站的做法——无论是身患某种障碍、通过慢速的网络连接访问、使用老旧或损坏的硬件还是仅处于某种不方便的环境。例如在视频中添加字幕可以帮助失聪、有听力障碍或身处嘈杂环境而听不到手机的用户。同样地确保文字样式没有处于太低的对比度可以对低视力用户和在明亮的强光下使用手机的用户都有所帮助。 ARIA roles