有人拥有/知道如何从 Testcafe 迁移到剧作家吗?

问题描述 投票:0回答:1

嗨,有没有人从 testcafe 迁移到剧作家,或者有一些迁移的指南?需要很长时间吗?任何信息或指南都会有帮助。 我们现在正在与 testcafe 合作,用 javascript 和 typescript 编写测试。我们已经了解了这个新工具 playwright,但是我们在 testcafe 中有很多测试用例。

任何帮助表示赞赏=)

playwright testcafe
1个回答
1
投票

我不知道 TestCafe,但知道它支持 JavaScript/TypeScript。

我不知道转换你的项目需要多少时间。嗯,这是您的项目,所以您知道具体细节。

但是,我确实知道一些事情。

我成功地将大型(5000+测试)项目从Protractorselenium上的JS包装框架)迁移到Playwright

以下是我在旅途中学到的教训:

语言: 这是最重要的。只要新旧框架是用 JavaScript 或 TypeScript 实现的,我们基本上都在同一个生态系统中。这意味着异步编程最重要的概念,如promisesasync/await可以以完全相同的方式应用,这是一个很大的缓解。

NodeJS: 只要新旧框架都存在于 Nodejs 生态系统中,所有使用的外部节点模块(npm模块)都可以像文件读/写、Excel 阅读器、csv/json 处理程序一样重复使用。

测试脚本: 只要您使用任何标准单元测试框架(Mocha/Jasmine/Jest)来编写测试脚本,您几乎可以按原样使用它 - 如果您仅在脚本中调用页面对象方法,则无需更改,因此您的实际代码隐藏并封装在你的页面对象应该是这样的。

UI 对象/定位器(Css/Xpath): 无论您使用哪种框架/库/语言/工具,它们都是相同的,并且可以按原样使用,因为它们是使用标准 CSS/XPath 独立创建的,与工具/框架/库无关。

页面对象方法: 这是大多数更改可能发生的地方,如果您在库函数上实现了自定义包装函数以隐藏实现细节,那么甚至可以在一定程度上避免这种情况。

实用程序/支持功能: 同样,这取决于在多个层中如何优雅和干净地抽象代码,以最大限度地减少最低层的更改,而不触及任何更高层。

测试数据: 同样,通过正确的策略,它还可以以 Json/xml/csv/text 数据的形式与框架完全隔离,并可以根据需要输入测试脚本。只要正确实现,大部分都可以按原样重复使用。

配置: 这不是什么大问题,因为它是一次性的,不需要更改太多代码。

带走 -

迁移所需的努力与如何迁移成正比 模块化框架是

因此,始终从一开始就使用模块化方法设计框架,并将其抽象为多个层,使每个组件/类都是“干”的,并且仅与其他组件/类/对象“松散耦合”,以便任何可以轻松更换/更新部件,而不影响整个系统。

© www.soinside.com 2019 - 2024. All rights reserved.