Javascript E2E测试:业力+;jqueryvs量角器

Javascript E2E测试:业力+;jqueryvs量角器,javascript,unit-testing,protractor,karma-runner,e2e-testing,Javascript,Unit Testing,Protractor,Karma Runner,E2e Testing,问题 就e2e测试而言,我们不能用Karma和JQuery做什么,而量角器可以做到这一点 解释 我目前正在为我的JavaScript应用程序构建一个测试框架。 正如许多人建议的那样,我使用Karma进行单元测试,使用量角器进行E2E测试 我知道单元测试和e2e测试在概念上的区别,但是,在JavaScript的上下文中,我不清楚为什么我们需要像量角器那样的框架 据我所知,e2e测试的重点是将应用程序作为简单的最终用户使用。为此,像“量角器”这样的工具使用webdriver与浏览器交互,让我们模拟一

问题

就e2e测试而言,我们不能用
Karma
JQuery
做什么,而
量角器可以做到这一点

解释

我目前正在为我的JavaScript应用程序构建一个测试框架。 正如许多人建议的那样,我使用
Karma
进行单元测试,使用
量角器进行E2E测试

我知道单元测试和e2e测试在概念上的区别,但是,在JavaScript的上下文中,我不清楚为什么我们需要像
量角器那样的框架

据我所知,e2e测试的重点是将应用程序作为简单的最终用户使用。为此,像“量角器”这样的工具使用
webdriver
与浏览器交互,让我们模拟一些用户事件(单击元素,填写表单…)

问题是,为什么我们不能简单地使用
Karma
JQuery

实际上,
JQuery
提供了许多与DOM元素交互的方法(触发器事件、get/set元素的属性、将值设置为输入…)。此外,它还提供了选择器,使DOM元素的选择非常容易

在我看来,
Karma
JQuery
已经(几乎)具备了e2e测试所需的一切(如果我们不注意
量角器中的浏览器窗口操作,例如可以设置窗口大小或位置)


我显然遗漏了一些东西,任何澄清都会有帮助。

使用Jquery和Karma的方式是一种行为驱动测试,而不是端到端测试

使用Jquery和Karma,您无法像在量角器中那样检测跨浏览器问题。另一方面,量角器则像最终用户一样运行测试。它会打开您想要的浏览器,并在该浏览器中测试您的应用程序