【问题标题】:Core differences between various automation and testing libraries各种自动化和测试库的核心区别
【发布时间】:2018-09-30 07:36:30
【问题描述】:

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

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

我不知道每种技术要使用的确切技术术语,以及它们中的每一个到底是什么以及它们适用于何处?

【问题讨论】:

    标签: jasmine phantomjs electron nightmare codeceptjs


    【解决方案1】:

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

    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

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

    【讨论】:

    • 感谢您花时间回答这个问题。我同意这是一个有点开放式的结局。
    • 如果这是正确答案,那么也许您可以选择它作为已回答,因此它不会显示在未回答的标签中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多