首先,说到Nightwatch,我们需要知道,什么是Nightwatch?
Nightwatch.js是一个针对Web应用程序和网站的自动化测试框架,使用Node.js并使用
W3C WebDriver API(以前称为 “Selenium WebDriver”)。它是一个完整的端到端测试解决
方案,旨在简化编写自动化测试和设置持续集成的过程。Nightwatch也可以用于编写Node.js
单元和集成测试。
下面,我们再来了解一下WebDriver:
WebDriver是用于自动化Web浏览器的通用库。它是作为Selenium项目的一部分启动的,
Selenium项目是用于浏览器自动化的一种流行且全面的工具集,最初是为Java编写的,但现
在已支持大多数编程语言。
Nightwatch使用WebDriver API执行与浏览器自动化项管部的任务,例如打开窗口和单机
链接。
WebDriver现在是W3C规范,旨在标准化浏览器自动化。WebDriver是一个远程控制界面,
可以对用户代理进行自省和控制。它提供了一个平台和一个宁静的HTTP api,可以对Web浏览
器进行远程控制。
操作理论:
Nightwatch通过与WebDriver服务器(例如ChromeDriver或Selenium Server)通过宁静的
HTTP API进行通信来工作。该协议由W3C WebDriver规范定义,该规范派生自JSON Wire协议。
有关浏览器初始化的示例工作流程,请参见下文。
在大多数情况下,Nightwatch至少需要向WebDriver服务器发送2个请求才能执行命令或声明,第一个
请求是给定CSS选择器(或Xpath表达式)的情况下定位元素的请求,第二个要执行给定元素上的实际
命令/声明。