之前的文章,我们曾经分析过热门AI测试工具 Midscene.js
的源码,重点了解了它驱动AI执行的主要提示词是如何设定的。文章参见 【】
而近日,我又发现了一个AI神器,由智谱AI
推出的源码解析服务,通过网址
https://zread.ai/
即可访问。作为一个中国公司的产品,对中文有着良好的支持。
工具使用
访问首页以后,就是一个典型的AI应用界面。
我们只需要将需要分析的源码项目Github地址输入检索框,如果项目已经被索引,那么回车后就会显示该项目的概要卡片。
或者更直接的,我们可以直接将源码地址中的github.com
替换为 zread.ai
,比如针对 Playwright
这个项目的分析,直接访问下面的地址就可以
https://zread.ai/microsoft/playwright
而分析的信息页面,内容非常全面,包括安装部署、架构分析、核心模块等待。下图就是 Playwright
的架构分析页面
通过索引生成的分析内容,我们可以快速了解这个开源项目的全貌和最核心的用法和关键所在。
通过AI的继续加持
出来工具本身针对源码的索引分析解结果,借助它内置的大模型集成,我们还可以继续针对性地对项目进行深入分析和了解具体内容。
可以通过它 Ask AI
这个功能,和AI深度沟通
比如下面就是我请它整理出的 Playwright 最近4个版本中的重点更新和应用
Playwright最新4个版本(1.53、1.52、1.51和1.50)的重要功能更新如下:
1.53版本
Trace Viewer和HTML Reporter更新
- 新增了测试步骤显示功能,使测试执行过程更加清晰可见
- HTML报告工具新增自定义测试运行标题选项,方便区分不同的测试运行批次
1
reporter: [['html', { title: 'Custom test run #1028' }]]
新增Locator.describe方法
- 允许为定位器添加描述信息,在追踪查看器和报告中显示,提高测试可读性
1
const button = page.getByTestId('btn-sub').describe('Subscribe button');await button.click();
浏览器版本升级
- Chromium 138.0.7204.4
- Firefox 139.0
- WebKit 18.5
1.52版本
新增断言方法toContainClass
- 简化了对元素类名的断言操作
1
await expect(page.getByRole('listitem')).toContainClass('done');
Aria快照增强
- 新增
/children
属性用于严格匹配 - 新增
/url
属性用于链接验证
- 新增
测试工程配置改进
- 新增
workers
属性控制测试项目的并发工作进程数 - 新增
failOnFlakyTests
选项用于CI/CD环境中确保所有测试稳定运行
- 新增
重要变更
- Glob URL模式不再支持
?
和[]
,推荐使用正则表达式 Route.continue
不再允许覆盖Cookie
头,需要使用BrowserContext.addCookies
- Glob URL模式不再支持
1.51版本
IndexedDB存储状态管理
- 新增对IndexedDB内容的保存和恢复支持,对使用Firebase Authentication等服务的应用很有用
1
await page.context().storageState({ path: authFile, indexedDB: true });
错误提示增强 - “Copy as prompt”
- HTML报告、追踪查看器和UI模式中的错误新增"Copy prompt"按钮
- 一键复制预填充的LLM提示,包含错误信息和有用的上下文
可见元素过滤
Locator.filter
方法新增visible
选项,只匹配可见元素
1
const todoItems = page.getByTestId('todo-item').filter({ visible: true });
Git信息集成
- 新增
captureGitInfo
配置,可在HTML报告中显示Git提交和差异信息
- 新增
1.50版本
测试步骤改进
- 新增
test.step
超时选项,允许单独设置步骤的最大运行时间 - 新增
test.step.skip
方法,可禁用特定测试步骤的执行
1
await test.step('a step', async () => { // 这个步骤可以独立于测试超时}, { timeout: 1000 });
- 新增
无障碍测试增强
- 扩展了
toMatchAriaSnapshot
方法,允许在单独的YAML文件中存储快照 - 新增
toHaveAccessibleErrorMessage
断言,用于验证元素的aria错误消息
- 扩展了
快照更新策略改进
- 新增
updateSnapshots
的changed
选项,只更新已更改的快照 - 新增
updateSourceMethod
选项,定义源代码更新方式,增加了overwrite
和3-way
模式
- 新增
UI更新
- 改进HTML报告中的附件显示
- Codegen添加生成aria快照的元素选择按钮
- 追踪显示中增加了操作API调用的详细信息
这些更新共同提升了Playwright的测试能力、调试体验和报告功能,使自动化测试更加可靠和高效。
主动索引和私有仓库
除了比较热门的开源项目,Zread 已经提前完成索引,一些新的项目或个人项目,如果没有完成所以,输入项目地址后也可以主动发起索引,稍待片刻也即完成分析
比如下面就是我前段时间开源的测试练习项目,主动发起索引
很快就得到了针对这个项目的完整介绍和核心代码分析
对于一些非公开的私有仓库,也可以通过授权的方式,将代码读取权限开放给 Zread.ai
, 同样可以实现以上目的。
总结
总之,这个工具对于我们快速了解一个开源项目,绝对是一个强力的助手,强烈安利一下~~