Slack的自动化无障碍测试:挑战与突破

2025-01-08
Slack的自动化无障碍测试:挑战与突破

Slack团队分享了其自动化无障碍测试的经验。他们尝试将Axe集成到React Testing Library和Jest中,但由于框架的复杂性而失败。最终,他们选择Playwright,并通过自定义函数和策略,实现了自动化无障碍测试,并在CI/CD中集成。虽然无法完全隐藏自动化检查,但他们通过简化开发者工作流程、改进报告和建立清晰的流程,最大限度地减少了额外的工作。未来,他们计划进一步优化流程,并探索AI辅助测试。

阅读更多
开发

Slack利用AI将Enzyme测试代码转换为React Testing Library

2024-06-19
Slack利用AI将Enzyme测试代码转换为React Testing Library

为了支持React 18,Slack 工程师决定将超过 15,000 个 Enzyme 测试用例转换为 React Testing Library (RTL)。他们首先尝试使用抽象语法树 (AST) 转换,但由于 Enzyme 和 RTL 之间缺乏直接映射,这种方法被证明过于复杂。随后,他们尝试了大型语言模型 (LLM),但结果不一致。最终,他们开发了一种混合方法,结合了 AST 和 LLM,成功实现了 80% 的转换率。这种方法包括收集 React 组件的 DOM 树以提供上下文信息,并使用提示和 AST 代码修改来控制 LLM。Slack 的代码转换工具为开发人员节省了大量时间,并将在未来探索自动生成前端单元测试。

阅读更多
未分类