问题
就e2e测试而言,Karma
对JQuery
和Protractor
无法做什么?
解释
我目前正在为我的JavaScript应用程序构建测试框架。
我正在使用Karma
进行单元测试和Protractor
进行 E2E测试,这是很多人建议的。
我知道单元测试和e2e测试之间的概念差异,但是在JavaScript的上下文中,我并不清楚我们为什么需要像Protractor
那样的框架。
据我所知,e2e测试的目的是将该应用程序用作简单最终用户。为此,像Protractor这样的工具使用webdriver
与浏览器进行交互,让我们模拟一些用户事件(点击元素,填写表单......)。
问题是,为什么我们不能简单地使用Karma
和JQuery
执行此操作?
实际上,JQuery
附带了许多与DOM元素交互的方法(触发事件,get / set元素的属性,设置值到输入......)。此外,它提供了选择器,这使得DOM元素的选择非常容易。
从我的角度来看,Karma
和JQuery
拥有(几乎)e2e测试所需的一切(如果我们不关注Protractor
中可用的浏览器窗口的操作例如,可以设置窗口大小或位置。
我显然遗漏了一些东西,任何澄清都会有所帮助。
答案 0 :(得分:1)
以您的方式使用Jquery和Karma,是一种行为驱动测试,但不是端到端测试。
使用Jquery和Karma,您无法像量角器那样检测跨浏览器问题。另一方面,量角器运行您的测试,就好像它是最终用户一样。它会打开您想要的浏览器并在该浏览器中测试您的应用程序。