[英]E2E testing: Karma+JQuery vs Protractor
题
在 e2e 测试方面,我们不能使用Protractor
可以使用Karma
和JQuery
做什么?
解释
我目前正在为我的 JavaScript 应用程序构建一个测试框架。 正如许多人所建议的那样,我使用Karma
进行单元测试,使用Protractor
进行E2E 测试。
我知道单元测试和 e2e 测试之间的概念差异,但是,在 JavaScript 的上下文中,我不清楚为什么我们需要像Protractor
这样的框架。
据我所知,e2e 测试的重点是将应用程序用作简单的最终用户。 为此,像 Protractor 这样的工具使用webdriver
与浏览器交互,让我们模拟一些用户事件(点击元素、填写表单......)。
问题是,为什么我们不能简单地使用Karma
和JQuery
来做到这一点?
事实上, JQuery
提供了许多与 DOM 元素交互的方法(触发事件、获取/设置元素的属性、将值设置为输入...)。 此外,它还提供了选择器,使选择 DOM 元素变得非常容易。
在我看来, Karma
和JQuery
拥有(几乎)e2e 测试所需的一切(如果我们不处理Protractor
中可用的浏览器窗口操作,例如设置窗口大小或位置)。
我显然遗漏了一些东西,任何澄清都会有所帮助。
按照您的方式使用 Jquery 和 Karma 是一种行为驱动的测试,而不是端到端的测试。
使用 Jquery 和 Karma,您无法像在量角器中那样检测跨浏览器问题。 另一方面,Protractor 像最终用户一样运行您的测试。 它确实会打开您想要的浏览器并在该浏览器中测试您的应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.