码迷,mamicode.com
首页 > Web开发 > 详细

Nightmare安装and一个小例子

时间:2017-09-25 22:55:31      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:自己   driver   name   click   技术分享   src   main   nod   sea   

前端的功能测试

功能测试必须在真正浏览器做,现在有四种方法。

  • 使用本机安装的浏览器
  • 使用 Selenium Driver
  • 使用 Headless Chrome
  • 使用 Electron

Nightmare

  • 使用 Electron 模拟真实浏览器环境
  • 提供大量人性化、易用的 API
  • 官网:nightmarejs.org

 

1.nightmare依赖于electron。安装electron(http://www.cnblogs.com/tanyongli/p/7504603.html)

2.安装完后electron后安装Nightmare

新建一个文件夹nightmare,在命令行里打开这个目录,执行 $ npm install nightmare

技术分享

 

 出现warn:在其他文章中看到说可以先不用管技术分享

 

 在nightmare文件夹里面出现node_modules文件夹

技术分享

 在nightmare文件夹里新建example.js文件

技术分享

 

example.js

 1 var Nightmare = require(nightmare);
 2 var nightmare = Nightmare({ show: true })
 3 
 4 nightmare
 5   .goto(http://yahoo.com)
 6   .type(form[action*="/search"] [name=p], github nightmare)
 7   .click(form[action*="/search"] [type=submit])
 8   .wait(#main)
 9   .evaluate(function () {
10     return document.querySelector(#main .searchCenterMiddle li a).href
11   })
12   .end()
13   .then(function (result) {
14     console.log(result)
15   })
16   .catch(function (error) {
17     console.error(Search failed:, error);
18 });

 然后在命令行里执行 $ node example.js  

来执行example.js 这个文件,会出现效果图

技术分享

技术分享

  • goto(url[,headers]) url为你要跳转的网站url
  • wait(selector) 等待某个dom元素出现
  • type(selector[,text]) 在selector元素中输入text文本
  • click(selector) 点击某个dom元素
  • evaluate(fn[,agr1,agr2,...]) 在客户端注入JS脚本并执行 也就是你自己要封装数据的代码
  • end() 执行完成,等待对数据的处理


参考网址:https://github.com/ruanyf/jstraining/blob/master/docs/engineering.md

 

Nightmare安装and一个小例子

标签:自己   driver   name   click   技术分享   src   main   nod   sea   

原文地址:http://www.cnblogs.com/tanyongli/p/7594168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!