NightWatch端到端测试
NightWatch
http://nightwatchjs.org/
Nightwatch.js
Browser automated testing done easy.
Write End-to-End tests in Node.js quickly and effortlessly that run against a Selenium/WebDriver server.
Browser Automation
Nightwatch.js is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites. It uses the powerful W3C WebDriver API to perform commands and assertions on DOM elements.
安装
https://github.com/nightwatchjs/nightwatch
1. Install Nightwatch
Install Node.js (together with the NPM tool) by following instructions available on nodejs.org.
From NPM:
$ npm install nightwatchFrom GitHub:
$ git clone https://github.com/nightwatchjs/nightwatch.git
$ cd nightwatch
$ npm install2. Download WebDriver
Nightwatch uses a WebDriver compatible server to control the browser. WebDriver is a W3C specification and industry standard which provides a platform and HTTP protocol to interact with a browser.
Nightwatch includes support for automatically managing the following services:
ChromeDriver
- for running tests against the Chrome browser;
- download url: https://sites.google.com/a/chromium.org/chromedriver/downloads.
Selenium Standalone Server
- allows managing multiple browser configurations in one place and also to make use of the Selenium Grid service;
- the selenium server jar file
selenium-server-standalone-3.x.x.jarcan be downloaded from the Selenium releases page: https://selenium-release.storage.googleapis.com/index.htmlIt's important to note that, while the Selenium Server was required with older Nightwatch versions (
v0.9and prior), starting with version1.0Selenium is no longer necessary.
安装报错解决方法:
https://github.com/nightwatchjs/nightwatch/issues/913
Nightwatch: Error retrieving a new session from the selenium server #913
https://github.com/nightwatchjs/nightwatch/issues/1390
"chromeOptions" : {
"args" : ["disable-web-security", "ignore-certificate-errors", "headless"],
}
他山之石
https://blog.risingstack.com/end-to-end-testing-with-nightwatch-js-node-js-at-scale/
th these three tools, we are going to implement the flow this diagram shows below.
自己动手
https://github.com/fanqingsong/code-snippet/tree/master/web/night_watch
package.json
{
"name": "night_watch",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "./node_modules/.bin/nightwatch"
},
"author": "",
"license": "ISC",
"devDependencies": {
"chromedriver": "^2.41.0",
"nightwatch": "^0.9.21",
"selenium-server": "^3.14.0"
}
}
nigthwatch.json
{
"src_folders" : ["./examples/tests"],
"output_folder" : "./examples/reports",
"selenium" : {
"start_process" : true,
"server_path" : "./node_modules/selenium-server/lib/runner/selenium-server-standalone-3.14.0.jar",
"log_path" : "",
"host": "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "./node_modules/chromedriver/lib/chromedriver/chromedriver.exe"
}
},
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"selenium_port" : 4444,
"selenium_host" : "localhost",
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true,
"chromeOptions" : {
"args" : ["disable-web-security", "ignore-certificate-errors"]
}
}
}
}
}
nightwatch.js
module.exports = {
'Find the answer.': function(client) {
// 启动浏览器并打开 bing.com.
client.url('http://www.txrjy.com');
// 确保 "body" 和输入框可以使用.
client.expect.element('body').to.be.present;
client.end();
},
};

NightWatch端到端测试的更多相关文章
- 脚手架vue-cli系列五:基于Nightwatch的端到端测试环境
不同公司和组织之间的测试效率迥异.在这个富交互和响应式处理随处可见的时代,很多组织都使用敏捷的方式来开发应用,因此测试自动化也成为软件项目的必备部分.测试自动化意味着使用软件工具来反复运行项目中的测试 ...
- 最受欢迎的5款Node.js端到端测试框架
测试,尤其是自动化测试在现代 WEB 工程中有着非常重要的角色,与交付过程集成良好的自动化测试流程可以在新版发布时帮你快速回归产品功能,也可以充当产品文档.测试因粒度不同又可以分为单元测试.接口测试. ...
- Nightwatch——自动化测试(端对端e2e)
背景: 前端页面模拟仿真操作,目的是避免每次更新相关内容重复之前的测试操作,减少不必要的时间投入,以及校验功能的可用性.但是目前元素定位是个问题(每次页面有修改都要重设某些元素定位) 测试分类: 一. ...
- nightwatch 基于Webdriver的端到端自动化测试框架
nightwatch 是使用nodejs编写的,基于Webdriver api 的端到端自动化测试框架 包含以下特性 清晰的语法,基于js 以及css 还有xpath 的选择器 内置测试runner, ...
- pc端和android端应用程序测试有什么区别?(ps面试题)
pc端和android端应用程序测试有什么区别?(ps面试题) [VIP7]大连-凭海临风(215687736) 2014/4/10 8:56:171.测试环境不同PC平台一般都是windows an ...
- 移动web开发之移动端真机测试
× 目录 [1]特性 [2]安装 [3]设置[4]移动端 前面的话 chrome的开发者工具可以很好地做好模拟工作,但毕竟模拟和实际还是有差别的.所以,真机测试是一定要做的,如何高效地进行真机测试呢. ...
- 端到端测试工具--testcafe
写在前面 随着业务的增加,复杂性的增加,我们更需要保证页面不能出错,之前需要每次上线之前需要每次人工测试,如果有好多改动,为保证业务不出错,需要耗费更多的时间来测试,所以我们需要写一些测试来保证业务的 ...
- cypress 端到端测试框架试用
cypress 包含的特性 端到端测试 集成测试 单元测试 安装 yarn add cypress --dev 运行测试项目 初始化项目 yarn init -y 安装cypress yarn add ...
- 前端端对端测试:基于PhantomJS的CasperJS
简介 Casperjs是一个基于PhantomJS和SlimerJS的前端端对端测试框架,当然你也可以使用它完成网络爬虫功能,它的特点的通过简单的脚本模拟浏览器行为, 主要有casper.tester ...
- socket服务端开发之测试使用threading和gevent框架
socket服务端开发之测试使用threading和gevent框架 话题是测试下多线程和gevent在socket服务端的小包表现能力,测试的方法不太严谨,也没有用event loop + pool ...
随机推荐
- web框架。Django--
一,DIY一个web框架 1.1什么是web框架 1.2用socket模拟B-S的服务端 1.3,浏览器端的network查看 1.4,request格式 1.5,response格式 1.6,初识w ...
- Kubernetes - kubectl proxy
最近在玩flink部署在k8s上,但是k8s以前没玩过,参照前几天写的文章可部署一个简单的k8shttps://www.cnblogs.com/felixzh/p/9726244.html 在参照fl ...
- fliplr函数
fliplr 左右翻转矩阵 语法: B = fliplr(A) 将矩阵A的列绕垂直轴进行左右翻转 matabc 如果A是一个行向量,fliplr(A)将A中元素的顺序进行翻转. 如果A是一个列向量, ...
- 【Codeforces 1000F】One Occurrence
题意:给一个序列,每次查询某个区间内一个只出现一次的数. 思路:线段树. 首先我们看只出现一次的本质是什么. 如果一个数\(x\)在\((l,r)\)中只出现了一次,那么它在其中第一次出现位置为\ ...
- C语言中可变参数的函数(三个点,“...”)
C语言中可变参数的函数(三个点,“...”) 本文主要介绍va_start和va_end的使用及原理. 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end ...
- .Net Core应用框架Util介绍(五)
上篇简要介绍了Util在Angular Ts方面的封装情况,本文介绍Angular封装的另一个部分,即Html的封装. 标准组件与业务组件 对于管理后台这样的表单系统,你通常会使用Angular Ma ...
- Grunt自动化构建环境搭建
1.环境准备 需要安装Git.Node.Bower.Grunt.Ruby NodeJS https://nodejs.org/en/ Ruby http://rubyinstaller.org/ ...
- cookie跨域共享
domain和path属性,domain就是当前域,默认为请求的地址,如网址为www.jb51.net/test/test.aspx,那么domain默认为www.jb51.net,path默认就是当 ...
- 用JS解决url地址中参数乱码的问题
var url = window.location.herf;//获取url地址 var obj = {}; //最后输出的对象 var reg = /\?/; //要匹配的正则表达式 if(url. ...
- python部署lvs
lvs-dr-rr import paramiko vip = '192.168.254.250' ds = '192.168.254.17' rs1 = '192.168.254.37' rs2 = ...
