测试工具之 前端自动化测试工具——SlimerJS
凌雪 2018-07-31 来源 :网络 阅读 1446 评论 0

摘要:本文将带你了解测试工具之 前端自动化测试工具——SlimerJS,希望本文对大家学测试工具有所帮助

本文将带你了解测试工具之 前端自动化测试工具——SlimerJS,希望本文对大家学测试工具有所帮助


前端自动化测试工具——SlimerJS
   
   
    1.基本了解
   
    对于富客户端的Web应用页面,自动登录、页面修改、抓取页面内容、屏幕截图、页面功能测试…面对这些需求,使用后端语言需要花费不少的精力才能实现。此时SlimerJS或许是更好的一种选择。
SlimerJS是服务器端的JavaScriptAPI工具,可以理解为无界面的可编程操作的浏览器。SlimerJS基于火狐的Gecko内核,支持Flash播放,执行过程会有页面展示。
    借助SlimerJS所提供的API,几乎可以使用javascript模拟在浏览器上的任何操作:打开页面、前进/后退、页面点击、鼠标滚动、DOM处理、CSS选择器、Canvas画布、SVG画图,如此等等。
2.下载安装
1.下载FireFox
注意:最新版的FireFox是47.0.1.0618,但是slimerjs中支持的是38-46版本的FireFox,所以需要到官网中下载适合的版本。
    下载地址:   //www.firefox.com.cn/download/#more , 本人下载的是:
     
    如果你是选择默认安装的话,就不需要在意。但如果你是选择其他盘或者自定义路径安装的话,请记住你的安装目录,这步很重要!!
    2.下载SlimerJS
下载地址:   //www.slimerjs.org/download.html 下载其中的SlimerJS0.10
下载完成后 你可以看到如下的结构:
     
    如果你的FireFox选择的是自定义安装的话,这里就需要注意了,用文本编辑器打开slimerjs.bat文件,并打开到最后,修改下图中的路径为自己的路径。当然修改一个就可以。
 
    3.简单用例
    这时咱们前期的环境和工具就已经搭建成功了。我们可以参考
    //docs.slimerjs.org/current/quick-start.html 页面中介绍的内容快速写出相关的使用用例了。
    让我们先写第一个,新建一个test-slimer.js文件,内容如下:
     //在控制台中输入 hello   worldconsole.log("hello world");这个代码的意思就是在控制台中显示出
    hello world。具体运行的方式如下:
找到相应slimerjs的目录,然后运行
slimerjs test-slimer.js。效果如下图
 
执行的过程中 自动打开了Firefox浏览器,并在控制台输出了hello world.
    4.用例扩展
    小Case: 如果每次都通过控制台来执行相应的动作的话,太过于麻烦。本人自己写了一个start.bat文件,内容很简单就是执行相应的动作。内容如下:
     G:\GuiFaZhi\HeavySkill\JSUnitTest\slimerjs\slimerjs-0.10.0\slimerjs   test-slimer.js可以按照你自己的路径和文件修改相关的内容然后完成执行的过程。
    扩展用例如下:
具体代码含义可以参考代码备注:
 //在控制台中输入 hello worldconsole.log("hello world");var webpage =   require('webpage').create();webpage    .open('//cn.bing.com') // 加载一个页面 这里是打开了bing  .then(function(status){      // 设置打开的页面大小为1500*980      webpage.viewportSize =        {   width:1500, height:980 };    var dt =   new Date(); //获取当前时间    if(status == "success"){      console.log("You Open The Web Of :   " + webpage.title);        webpage.render('image/bing'+dt.getHours()+dt.getMinutes()+dt.getSeconds()+'.png',                   {onlyViewport:true}); //截图创建新的文件    }      else{      console.log("The   Web is not loaded");    }      // 打开第二个链接 这里是打开了百度      return   webpage.open('//www.baidu.com/');    })     .then(function(status){          var dt = new Date();       if(status == "success"){        console.log("You Open The Web Of : " + webpage.title);      webpage.render('image/baidu'+dt.getHours()+dt.getMinutes()+dt.getSeconds()+'.png',                   {onlyViewport:true});       webpage.sendEvent("click",   5, 5,                        'left',   0);  //发送一个单击时间 位置在左边的(5,5)处      }    else{      console.log("The Web is not   loaded");    }    webpage.close(); //把当前页面关闭    slimer.exit(); //退出当前的控制台应用程序  });只是我们点击start.bat
让slimer完成自动的操作。效果如下:
     
    这里我们可以看到第一个打开的网页是Bing,第二个打开的是”百度一下,你就知道”,但因为中文乱码问题,这里显示的是乱码。
 
同时我们截图的操作,在image中产生了对应的两个文件,这里需要解释的是,自动截图的时间是22:00:03
和 22:00:02
中间分钟和秒钟都少了一个零。所以对应到了是2203和2202。
5.小结
    通过对SlimerJS的了解,我们可以发现SlimerJS是一个自动化的前台工具,功能相对强大,可以模拟完成很多前端的操作,在不需要人为干预的情况下就可以完成。所以学习好SlimerJS对于前端的自动化测试还是很有必要的。
     

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved