浅析 codeceptjs
从测试对象的粒度来说,测试分为三类:单元测试,集成测试和E2E(end to end)测试。对于E2E测试,BDD (Behavior Driven Design)[1]风格的 Codeceptjs是一个不错的选择。它可以用不同的类库执行case。同时,作为Domain Specific Language的杰出代表,codeceptjs 使得开发者可以用自然语言(当然,是英语)编写case。而且,为ex Protractor设计的简化的API同样支持Angular工程 (说的如同我会开发Angular工程一样)。
6-DSL.png
Codeceptjs使用javascript而不是java或者python,也就是说即便开发人员不懂java或者python,也可以写出结构良好、可读性强和功能强大的E2E测试case。(其实,很难想象开发人员既不懂java也不懂python)。而反过来,对于不懂基于event-loop[2] 模型的javascript的人(比如说我)来说,codeceptjs屏蔽了复杂的异步调用和回调函数,更不用考虑promise(说说而已,岂能当真,我会另写一篇形容那个痛苦的过程),可以完全从客户的角度出发开发case。
6-1-CodeceptJS_DSL.png
Codeceptjs最为强大也是最为诱人的地方在于它支持多种“backend”测试框架,包括webdriverIO,Puppeteer和Protractor。
6-2-architecture.png
8-different-backends.png
Codeceptjs API支持多种不同的backends 框架,客户只要要在配置文件中制定需要的backend。有一点值得注意,Puppeteer是个另类,它并不是用WebDriver protocol (有朋友给出理由吗?),而是用Chrome Devtools protocol ,而且需要Chrome和OEL7。所幸,假如你正在用WebDriverIO,你可以很容易的把它转成Puppeteer,由于Codeceptjs API都是一样的。
9-puppeteer.png
References:
[1] https://codecept.io/basics
[2] https://www.songma.com/p/715ad2333241
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 浅析 codeceptjs