• Nightmare安装and一个小例子


    前端的功能测试

    官方说法A high-level browser automation library,翻译过来就是高级浏览器自动化库

    常用于UI测试和爬网

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

    • 使用本机安装的浏览器
    • 使用 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

  • 相关阅读:
    jmeter接口测试二
    jmeter 插件入口
    Python正则匹配中的最小匹配和贪婪匹配
    python中的url编码和解码(encode与decode)乱码
    python2.7+pyqt+eric基本控件操作(制作界面化程序)
    python2.7+PyQt4+eric6 界面开发环境配置
    centos配置静态ip地址
    分片,步长,索引
    我看过的几本书籍
    软件测试工程师的成长之路(个人看法)
  • 原文地址:https://www.cnblogs.com/tanyongli/p/7594168.html
Copyright © 2020-2023  润新知