这是一个很正常的非建设性问题。我已经对其进行了编辑并将问题分开以便更好地理解。
1.你有 codeceptjs,它只是一个包装器,它需要一个像 nightmarejs/selenium 这样的框架。
这不是一个问题,而是一个声明,表明他对此进行了研究。没什么大不了的。
2。现在噩梦是一个框架吗?
Nightmare 不是框架。 repo 上的副标题说它是一个高级浏览器自动化库。目标是通过 API 公开一些模仿用户操作(如 goto、type 和 click)的简单方法。它最初设计用于跨没有 API 的站点自动执行任务,但最常用于 UI 测试和抓取。
Library 和 Framework 之间的真正区别在于,库是您可以控制的地方,您可以选择和使用您想要的东西,而框架是框架可以控制的地方,一切都已经被它们,您只需在它们之上添加一些数据。更多关于this answer的差异。
3.什么是 electronjs?
Electron 是一个在其底层使用节点和铬的框架。它允许您使用 JavaScript、HTML 和 CSS 编写跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。
4. electronjs 与 phantomjs 有何不同?哪个是无头浏览器?
PhantomJS 是一个可使用 JavaScript API 编写脚本的无头浏览器。它比电子更能与铬相媲美。 Electron 是一个框架,它使用另一个名为 chromium 的无头浏览器,而 phantomjs 本身是一个无头浏览器。
5.茉莉花/摩卡适合哪里? jasmine/mocha 可以和 codeceptjs 媲美吗?
Jasemin/Mocha/Ava/Jest 等都是单元测试框架。与 Nightmare/PhantomJS 一起,您可以创建脚本来为您测试各种 ui/ux 交互。
Codeceptjs 是一个使用 webdriver(或其他)进行端到端测试的测试框架。
要了解单元测试和集成/端到端测试之间的区别,请查看this answer。
我希望这能消除许多疑虑。