Libretto:自动修复失败的 Playwright 脚本,免费且开源!
自动修复失败的 Playwright 脚本
保留现有的浏览器自动化脚本,当脚本运行失败时,Libretto 会对实时页面进行调查,并在 GitHub 上发起包含代码修复建议的拉取请求。可以开始使用,或者与开发人员交流。OpenLibretto 自动修复 Playwright 失败问题,libretto - agent 想要将 1 次提交合并到主分支。通过检查实时页面确认,登录字段的名称是 "login"。
保留脚本,添加修复循环
现有的 Playwright 脚本可正常运行,PR 代理仅在脚本失败后启动,此时它会调查页面的变化并提出修复建议。
保留现有的 Playwright 脚本
在不改变测试数据、重试机制、日志记录或部署方式的情况下,在失败边界添加 Libretto。
使用任意浏览器提供商
可以在本地、自己的基础设施上运行,也可以使用托管的浏览器提供商。代理会使用已创建的实时页面。
自带模型密钥
选择自己的大语言模型(LLM)提供商,并将其 API 密钥保存在自己的环境中。
免费使用
Libretto 对 PR 代理不收取费用,但模型和浏览器提供商可能会对其使用进行收费。
常见问题解答
脚本失败后工作流会怎样?
PR 代理专注于诊断失败原因,并为后续运行提出代码修复建议。现有的捕获、重试、回退和错误处理机制仍负责当前运行,而代理在找到修复方案时会发起一个拉取请求。
是否需要使用 Libretto 运行时?
不需要。将 libretto - playwright - debugger 添加到现有的 Playwright 项目中,初始化一次调试器,并在失败路径中调用 debugFailure() 即可。当前的运行时、浏览器提供商、部署方式和工作流结构保持不变。
它能与 Selenium 或 Puppeteer 一起使用吗?
目前还不行。当前的包接受一个 Playwright Page 对象,因此失败的自动化脚本必须通过 Playwright 运行。Selenium 和 Puppeteer 需要单独的适配器。
它可以与任何浏览器或云浏览器提供商一起使用吗?
可以。只要自动化脚本有一个实时的 Playwright Page 对象,并且在 debugFailure() 运行时保持该页面打开,PR 代理就可以与本地、自托管和托管的浏览器一起使用。不需要使用 Libretto Cloud 进行浏览器会话。
PR 代理是免费的吗?
Libretto 对 PR 代理不收取费用。需要自带模型提供商的 API 密钥和浏览器基础设施,因此模型或浏览器提供商可能仍会对其使用进行收费。
它是开源的吗?
是的。Playwright 调试器包在 Libretto 仓库中以 MIT 许可证开源。
