-1

我试图了解可用于测试 JavaScript Web 应用程序的多种工具之间的技术差异。

  • 你有 CodeceptJS,它只是一个包装器,它需要一个像 NightmareJS/Selenium 这样的框架。
  • 现在噩梦是一个框架吗?如果是,什么是 ElectronJS?它与 PhantomJS 有何不同?
  • 哪一个只是无头浏览器?Electron 和 PhantomJS?
  • 茉莉花/摩卡适合哪里?Jasmine/Mocha 可以与 CodeceptJS 相媲美吗?

我不知道要为每一个使用的确切技术术语以及它们中的每一个到底是什么以及它们适合哪里?

4

1 回答 1

0

这是一个很正常的非建设性问题。我已经对其进行了编辑并将问题分开以便更好地理解。

1.你有codeceptjs,它只是一个包装器,它需要一个像nightmarejs/selenium这样的框架。

这不是一个问题,而是一个声明,表明他对此进行了研究。没什么大不了的。

2. 现在噩梦是一个框架吗?

Nightmare 不是一个框架。repo 上的副标题说它是一个高级浏览器自动化库。目标是通过 API 公开一些模仿用户操作(如 goto、type 和 click)的简单方法。它最初是为跨没有 API 的站点自动执行任务而设计的,但最常用于 UI 测试和爬网。

库和框架之间差异的真正简短版本是,库是你可以控制的地方,你可以选择和使用你想要的东西,而框架是框架可以控制的地方,一切都已经被他们和你选择了只会在它们之上添加一些数据。更多关于这个答案的差异。

3.什么是electronjs?

Electron 是一个在其底层使用节点和铬的框架。它允许您使用 JavaScript、HTML 和 CSS 编写跨平台的桌面应用程序。它基于 Node.js 和 Chromium,由 Atom 编辑器和许多其他应用程序使用。

4.electronjs和phantomjs有什么区别?哪一个是无头浏览器?

PhantomJS 是一个可使用 JavaScript API 编写脚本的无头浏览器。它比电子更能与铬相媲美。Electron 是一个使用另一个名为 chromium 的无头浏览器的框架,而 phantomjs 本身是一个无头浏览器。

5. 茉莉花/摩卡适合哪里?茉莉花/摩卡咖啡可以与 codeceptjs 相媲美吗?

Jasemin/Mocha/Ava/Jest 等都是单元测试框架。与 Nightmare/PhantomJS 一起,您可以创建脚本来为您测试各种 ui/ux 交互。

Codeceptjs 是一个使用 webdriver(或其他)进行端到端测试的测试框架。

要了解单元测试和集成/端到端测试之间的区别,请查看此答案

我希望这能消除许多疑虑。

于 2018-04-26T13:30:19.553 回答