什么是Nightwatch?

Nightwatch.js是一个用于web应用程序和网站的自动化测试框架,用Node.js编写,使用W3C Webdriver API(原来是Selenium Webdirver)。

它是一个完成的浏览器(E2E)测试解决方案,目的是简化创建持续集成和编写自动化测试的过程。Nightwatch同样也被用来写Node.js单元测试。

Nightwatch的名字取自荷兰艺术家Rembrandt van Rijn的著名绘画The Night Watch,这幅画在荷兰阿姆斯特丹国立博物馆展出。

Webdriver的概述

WebDriver是一个用于Web浏览器自动化通用的库,它是从Selenium项目开始的,这是一个非常流行的工具用于浏览器自动化,起初是Java编写的,现在支持大多数编程语言。

Nightwatch使用WebDriver API来执行浏览器相关任务,比如打开窗口,点击链接。

WebDriver现在是W3C规范,它的目的是标准化浏览器的自动化。WebDriver是一个远程控制接口,可以对用户代理进行自省和控制。它提供了一个平台和一个rest式的HTTP api作为web浏览器的一种方式。

工作原理

Nightwatch的工作原理是通过一个网络驱动服务器(通常是Selenium服务器)来与一个rest式的HTTP api进行通信。restful API协议是由W3C WebDriver API定义的。下面是一个用于浏览器初始化的示例工作流。

大多数时候,Nightwatch需要向WebDriver服务器发送至少两个请求以执行命令或断言,第一个请求是指定一个给定的CSS选择器(或Xpath表达式)的元素,然后在给定的元素上执行实际的命令、断言。

results matching ""

    No results matching ""