• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 用protractor测试canvas绘制(一)

用protractor测试canvas绘制(一)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含protractor,canvas等相关知识,匿名希望在学习及工作中可以帮助到您
protractor是angular那帮人搞得一个e2e的测试框架,本质上是用的webdriver。

测试canvas,主要就是图像的比较,搜了搜,没有找到太好的nodejs库,所有还是用之前用过的resemblejs。

resemblejs用了Image和Canvas,所以是不能直接在nodejs里用的。

github上有个人搞了个node-resemble,但是用到了一个c写的node-canvas,要编这个又要用安装python和vc的运行库,听上去就很麻烦,也难怪只有2星。

让resemble直接在browser中运行不就ok了吗?

这就要用到browser的executeAsyncScript方法。

先来讲讲executeAsyncScript

这个方法就是把js代码放到browser环境中运行,也就是在浏览器的环境中运行,dom的东西也就都可以用了,Image,Canvas神马的统统不在话下。

而且是异步的,其实有个同步的executeScript,用法差不多。

api就不贴了,直接说用法。

executeAsyncScript方法,是个可变参数的方法

第一个参数必须是一个方法,也就是在浏览器中要执行的代码。

比如:

function(){
    console.log("我是一个方法");
};


然后后面可以写任意个参数,而在第一个参数的方法中可以使用arguments数组来依次取得这些参数

比如:

function(){
console.log("我是一个方法,我有三个参数")
    var p1=arguments[0];
    var p2=arguments[1];
    var p3=arguments[2];
};

因为是异步的,所以执行的结果需要用一个回调函数返回来,这个回调函数webdriver已经准备好了,就是arguments的最后一个参数。

所以,第一个参数的完整样子应该是

function(){
    console.log("我是一个方法,我有三个参数")
    var p1=arguments[0];
    var p2=arguments[1];
    var p3=arguments[2];
    var callback=arguments[arguments.lenght-1];
    callback("返回");
};

executeAsyncScript方法的返回值是个promise

所以整个函数调用起来应该是这个样子的

browser.executeAsyncScript("function(){console.log("前面写过了我就不写了")}",p1,p2,p3)
.then(function(result){
        console.log("结果是"+result);
    });

then的方法中结果callback的结果。

如果不用protractor只用webdriver应该也是一样的。

好了,写了半天没有进正题,就先这样,在下一篇再写。

以上就是用protractor测试canvas绘制(一) 的内容,更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • 用protractor测试canvas绘制(二)
  • 用protractor测试canvas绘制(一)

相关文章

  • 2018-12-03Html5新增了哪些标签
  • 2018-12-03关于老版本的浏览器不兼容H5和C3的处理方法
  • 2018-12-03li标签实现日期,标题右对齐的方法
  • 2018-12-03html5中在用户开始拖动元素或选择的文本时触发的事件ondragstart
  • 2018-12-03HTML5每日一练之Canvas标签的应用-坐标变换与路径结合使用
  • 2018-12-03详细介绍HTML5使用Audio标签实现歌词同步的效果
  • 2017-08-06关于HTML5的22个初级技巧(图文教程)
  • 2018-12-03利用HTML5 Canvas实现打飞机游戏
  • 2018-12-03分享最好的HTML5编码教程和参考手册
  • 2018-12-03HTML5实战与剖析之焦点管理(activeElement和hasFocus)

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 关于H5新标签的浏览器兼容问题的详解
    • html5 video.js 使用及兼容所有浏览器
    • 入行5年多的as3程序员,不知道未来怎么样!该转型吗? ?对未来有些迷茫!?
    • GitHub用户发起HTML5网页移植版《星际争霸》项目的图文详解
    • HTML5 中的 b/strong,i/em 有什么区别?
    • H5拖放API基础篇
    • html5指南-2.如何操作document metadata_html5教程技巧
    • 最新的h5标签datalis的使用方法介绍
    • html5 学习简单的拾色器 _html5教程技巧
    • HTML5每日一练之视频标签的应用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有