摩卡和Selenium有什么不同?

我开始使用Node.js并正在寻找一个testing框架。

我发现 :

  • 摩卡
  • selenium

我明白,与摩卡一个人可以用JS编写testing,而使用Selenium时,必须使用C#等低级语言编写testing。

除此之外,Seochaium可以做到摩卡不能做的事情吗?

摩卡有什么用途?

摩卡和selenium都处理testing软件,但他们解决不同的问题。

摩卡是testing运行框架。 你告诉摩卡你有什么样的testing,你想运行什么testing,摩卡将运行你的testing,并报告那些通过和那些失败。 摩卡本身提供了一个testing运行框架。 你通常会想要使用一个断言库,比如Chai 。 我有testing套件,其中提供testing支持的唯一库是Mocha和Chai。 这是一个完全可行的用例。

Selenium是一个控制浏览器的库。 其范围的主要部分是testing基于浏览器的软件。 但是,它也可以用于抓取网站。 这是Selenium可以做的,摩卡自己做不到的事情。 相反,selenium不是一个testing运行框架。 Selenium没有专门的testing分区工具,只能运行特定的testing。 你必须依赖像Mocha这样的testing运行框架来划分另一个testing。

如果你想编写一个testing基于浏览器的应用程序的testing套件,你可以使用Mocha和Selenium。 或者Jasmine(另一个testing运行框架)与Selenium。 或者你可以使用Behave(一个基于Python的testing运行器)和Selenium一起使用。 或者你可以使用Mocha和其他一些控制浏览器的库。

这个具体问题需要特殊处理:

我明白,与摩卡一个人可以用JS编写testing,而使用Selenium时,必须使用C#等低级语言编写testing。

我不会把C#称为低级语言。 无论如何,使用摩卡,你必须使用JavaScript。 (有一个Ruby的testing库也被命名为“Mocha”,但它不是JavaScript的Ruby版本,我假设你正在谈论JavaScript,这使得我的回答是同义反复,但在这里)。使用与JavaScript,Python,C#,Java和一堆其他语言的Selenium。