大家好,我是 Dennis,今年三月底变成了前端打工仔,公司的大大们为了让我对专案的理解程度更高,於是有了 E2E 的任务。半年过去全站的覆盖率已经超过 80% 了,也遇到了一些困难。因此希望这篇系列文可以给未来也想碰 E2E 并使用 Nightwatch.js 这个框架的人,减少在 github/Stack Overflow 爬文跟测试的时间 ;)
测试无所不在,并且任何人都可能接触过测试。
可能是人工手动的测试,也可能是针对单一元件的 unit test。或是,本系列的主题 E2E testing
Unit test 着重在呼叫一个单一的工作单元,并验证单一结果,可能小到一个方法,或大到一个类别
此外,unit test 必须具备
例如:
常见的工具们:
关於更多有关 unit test 可以参考「单元测试的艺术」
E2E 或 End-End,与 unit test 不同的地方是,重点为达到「整合测试」
E2E 是一个速度不快、结果不稳定且测试东西过多,难以找出来源的测试
但因为具有
假设我们今天要测试 Nightwatch 的 Develop guide 连结正不正确,我们会需要:
确认流程之後就可以把上面的文字转为程序码:
以上就是使用 Nigthwatch.js 执行後产生的截图,并根据我们所写的「动作」完成截图,分别为「进入」、「点击」、「点击」。
蛮幸运能到目前的地方实习,却也是从 0 开始接触 E2E 测试,很多东西随着前端技术的演进、效能优化等,其实也会影响 E2E 的友善程度。这半年中遇到了很多很奇妙的问题,不论是跨浏览器的部分、前端框架或是一些不单纯只是点来点去的操作。而这些奇妙的问题解法散落在各种地方,有的可用有的不行,因此也累积了一些心得,看看能不能写完 30 天,把奇妙的问题研究一下,顺便附上解决方法,让未来的人比较好找XD
然而,这个系列文并不是着重在如何建立 E2E 环境,也不是手把手教学,对於如何建立的同学们可以参考 Nightwatch 官网。这里的环境是用 Nightwatch 搭配 BrowserStack 完成的。
<<: Day04 - 端到端(end-to-end)语音辨识-attention 机制
>>: [Day13] Vite 出小蜜蜂~Memory Leak & Optimization!
tags: ItIron2021 Javascript 前言 我们前两天都把心力分给可爱的闭包,又是...
想请问大家现在是否因为Mac OS安全性的关系?还是Forticlient的程序有改? Mac OS...
Map与Object Map是像object一样带有key、value的集合,只是最大的差别是Map...
今天开始进入到 Behavioral design patterns,这一类的模式着重於物件之间的沟...
day-15 我们说明了 , 如何将 Vue 的 Component 转换成 Web Compone...