当前位置: 首页 > 软件库 > 开发工具 > 测试工具 >

CasperJS

Web应用功能测试工具
授权协议 MIT
开发语言 JavaScript
所属分类 开发工具、 测试工具
软件类型 开源软件
地区 不详
投 递 者 仲高超
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

CasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG

可轻松的定义导航场景,提供一些很有用的高级函数、方法和语法糖用于定义常用的任务,如:

  • 定义浏览和导航的顺序和步骤
  • 填充并提交表单
  • 点击链接
  • 捕获网页的截图
  • 对 DOM 进行断言测试
  • 记录事件
  • 下载资源,包括二进制内容
  • 编写功能测试套件,并将结果存为 JUnit XML
  • 抓取网页内容
  • 一、casperjs简介 casperjs是一个基于PhantomJs的导航脚本和测试工具,它可以完成西面的常见任务。 定义 & 排序浏览器导航步骤 填充 & 提交表单 点击 & 跟踪链接 捕获网页截图 (还可以截取某一区域) 在远程DOM上进行断言测试 记录事件 下载资源,包括二进制文件 编写功能测试套件,结果保存为JUnit XML文件 抓取网页内容 二、依赖环境安装 安装phantomjs

  • 概述         项目组有个网络爬虫的需求,Java有个爬页面的Jsoup,虽然可以一定程度上借助cookie,sessionId,TCP/IP通信等相关实现一定程度上的模拟浏览器行为,但作为服务器开发语言,在前端交互上,显然不能挥洒自如.老大推荐了CasperJs,同事在搞,顺便也偷喵的学习下.       CasperJs 是一个开源的导航脚本处理和测试工具,基于PhantomJS(前端自

  • 我们发现casperjs其实就是一段脚本,那么这段脚本是怎么运行起来的,是怎么调用phantomjs的。当我们运行一个casperjs实例的同时,按下ctrl+z让casperjs 在后台挂起,这个时候查询phantom就会发现有如下进程在运行: phantomjs /samba/work/casperjs/bin/bootstrap.js --casper-path=/samba/work/c

  • casperjs是一个js分支,用在采集比较多 var casper = require('casper').create(); casper.start(); casper.then(function step1() { this.echo('this is step one'); }); casper.then(function step2() { this.echo('

  • 要使用casperjs先要安装phantomjs linux 下安装 phantomjs git源码后编译出版本 在phantomjs的bin子目录下生成二进制执行文件 在/usr/local/bin 子目录下创建软链接 $ ln -sf `pwd`/bin/phantomjs /usr/local/bin/phantomjs linux 下安装 casperjs $ git clone git

  • 自己买了vps就是爽,想装什么就装什么。就比如说casperjs 1.首先需要安装它的运行环境phantomjs *将这个git项目clone到自己的vps上【https://github.com/ariya/phantomjs】 *通过查看官方文档,进行安装。【http://phantomjs.org/build.html】 *其实就是只执行  (1) sudo yum -y install g

  • 如果直接用request,而不用casperjs,速度会有明显的提升(我不确定具体的量) 但是问题在于,casperjs基于phantom可以得到一个渲染过的页面,而且我们可以在其options里inject一些js的库,比如喜闻乐见的jquery,让操作dom信息变得非常的容易 PS:如果你觉得速度要提升下,可以设置casperjs的loadImages属性为false 以下是基于casperj

  • wget https://phantomjs.googlecode.com/files/phantomjs-1.9.1-linux-x86_64.tar.bz2 bunzip2 phantomjs-1.9.1-linux-x86_64.tar.bz2 tar xf phantomjs-1.9.1-linux-x86_64.tar mv phantomjs-1.9.1-linux-x86_64/

  • The Casper class The easiest way to get a casper instance is to use the module’s create() method: 最简单获取casper实例的方法是casper模块的create()方法: var casper = require('casper').create(); But you can also retrie

  • 因为需要 就学习了一下casperjs,CasperJS是一个开源的导航脚本处理和测试工具,基于PhantomJS(前端自动化测试工具)编写。由于casperjs对PhantomJS的依赖性,所以需要安装PhantomJS。 PhantomJS最好下载最新的版本,由于网上版本较多,所以我就找到了较新的版本提供下载,是2.0.0版本的。可以在csdn上找到相应的下载资源。 PhantomJS安装完成

  • Signature: start(String url[, Function then]) Configures and starts Casper, then opens the provided url and optionally adds the step provided by the then argument: casper.start('http://google.fr/', fu

  • Signature: fill(String selector, Object values[, Boolean submit]) Fills the fields of a form with given values and optionally submits it. Fields are referenced by their name attribute. Changed in vers

  • 安装 brew install casperjs  安装完成后使用  1. phantomjs –version  2. casperjs –version  查看安装的版本  因为 phantomjs 2.00对支持 casperjs 有问题  需要修改  /usr/local/homebrew/Cellar/casperjs/1.0.4/libexec/bin/bootstrap.js 增加一

  • step中的level step的level设置主要出现在then函数中。每个casperjs实例中有两个相关变量,一个是step,一个是steps。step一般情况下为函数类型。其中的默认设置为 step.level = 0;那么是不是每个函数都有这个属性?这其实是是动态面向对象语言的一个特点,就是可以动态添加任何属性进去。上面的step.level 就是动态添加属性并设置值为0; javasc

  • var casper = require('casper').create(); var fn1 = function() { var rst = 456; return rst; }; var nn = 123; var fn2 = function() { rst = nn; return rst; }; casper.start(); casper.thenOpen("http

  • (1)第一句就是require(‘casper’)。casper是casperjs这个项目的核心模块,在casperjs 的modules目录下。当然也是casperjs的核心功能在里面。 (2)require(’system’),这个system是什么模块,搜索下我们就发现,这个system是phantomjs的一个模块。我们能在phantomjs的官网上看到这个模块。同样还能看到WebPage

  •    都是基于js语法规则的无头浏览器,casperJs是对phantomjs的一次封装。即phantomjs是原生的,而casperjs是封装在以phantomjs基础上的玩意。   这玩意的作用,就是完成模拟浏览器行为,模拟真实用户点击浏览器浏览网页的行为。然后可以通过编写代码,来控制casperjs来定向实现自己所需要的功能,比如常见的抓取某个网站的内容,就是常见需求--就是所谓的网络爬虫!

  • Casperjs介绍 1.概述 CasperJS是一个开源的,用JavaScript编写的,基于PhantomJS的导航脚本和测试工具 ,它简化了定义一个完成的导航操作所需的步骤,还提供了很有用的函数封装,方法,和语法糖。 2.应用场景 Casperjs可以应用到以下场景: Ø  定义、排列页面间导航的步骤 Ø  表单的填充、提交 Ø  点击、跟踪超链接 Ø  区域、页面截图 Ø  测试远程DOM

  • 遇到了什么问题 一直在使用 casperjs 来做网页截图,http://tool.lu/site 简单的使用是没有问题的,当要给墙外网址截图的时候,那么问题来了。 触发点: 1. phantomjs 使用 proxy 2. 要截图的网址是 https 的 现象: 被截取的网页会跳转到about:blank,导致截图空白 Eh, what the fuck?! 怎么解决的 最主要的是 --ssl-

  • Phantomjs & Casperjs安装 本文所述均在ubuntu环境下。 预装:npm(sudo apt-get install nodejs) npm预装:java(?) --------------------------------------------------------------------------- 下载或者安装路径放到/usr/local/lib/下,否则可能会有权

  • 今天用我的写的casper脚本: 来截网页的时候,截出来是个空的图片,半天没发现原因。加强了几个地方的代码之后还是出现同样的问题,最后定睛一看,发现打出来的debug信息里有这么一条蛋黄蛋黄的warning信息: [warning] [phantom] Loading resource failed with status=fail: https://...,原因是因为该网页是https的。 解决

  • 本文翻译自这篇文章。 页面浏览 用CasperJS浏览页面比用PhantomJS更加方便和直观。 例如,先后打开webpage A,然后webpage B 用CasperJS的话,你可以这样写: casper.start('URL of website A', function(){ console.log('Started'); }); casper.thenOpen('URL of w

 相关资料
  • 1.概述 Selenium是非常非常有用的,对JavaScript支持良好的Web层功能测试,集成测试工具。 Selenium分为Core与RC(Remote Controll)两个部分,其中Core是基础的,直接在HTML Table里编写测试代码的模块,而Remote Controll则支持用Java等语言编写测试用例,并自动调用FireFox1.5来运行。 具体的语法见http://www.

  • 主要内容:功能测试的目标功能测试是软件测试的一个分支,旨在验证软件应用程序的功能,而不管功能是否根据需求规范运行。通过给出适当的输入值,确定输出并使用预期输出验证实际输出来测试每个功能。 功能测试包括通过GUI(图形用户界面),API(应用程序接口),安全性,数据库,客户端应用程序,服务器应用程序和应用程序功能进行测试。黑盒测试方法用于功能测试,其中测试内部逻辑的工作而不窥视内部代码。 功能测试的目标 功能测试的目标是检

  • 功能测试从用户的角度验证场景。它类似于验收测试。 但是它不是通过 HTTP 进行通信,而是填充环境,如(填充)POST 和 GET 参数, 然后直接在代码里执行 Application 实例。 功能测试通常比验收测试快,并且在失败时提供详细的堆栈跟踪。 根据老司机的经验,功能测试应该是首选的,除非有专门的 Web 服务器设置 或者由 JavaScript 构建的复杂 UI。 功能测试是借助于具有良

  •  什么是 Selenium?   Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。据 Selenium 主页所说,与其他测试工具相比,使用 Selenium 的最大好处是:   “Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在Windows、Linux 和 MacintoshAnd 上的 Interne

  • 本文向大家介绍GUI功能测试工具HP UFT vs Selenium,包括了GUI功能测试工具HP UFT vs Selenium的使用技巧和注意事项,需要的朋友参考一下 当我们谈论测试自动化时,我们会自动考虑可简化测试任务的工具。这些工具可以分为两大类-免费软件和许可工具。免费软件工具是可通过Internet免费获得的开源工具。这种工具的可靠性要差得多。但是,当我们谈论许可工具时,这些工具是具有

  • 主要内容:为什么进行非功能性测试,在非功能测试下测试的参数,非功能测试的优点,非功能测试的缺点非功能测试是一种软件测试,用于测试非功能性参数,例如:软件的可靠性,负载测试,性能和责任。非功能测试的主要目的是根据非功能参数测试软件系统的读取速度。在功能测试之前,从未测试过非功能测试的参数。 非功能性测试作为功能测试也非常重要,因为它在客户满意度中起着至关重要的作用。 例如,非功能性测试将测试有多少人可以同时在任何软件上工作。 为什么进行非功能性测试 功能和非功能测试对于新开发的软件都是强制性

  • 自动化测试平台 SWATHub 是 DaoCloud 的合作伙伴,他们为各类互联网应用提供了自动化测试的服务。我们推荐 DaoCloud 用户在完成持续集成单元测试等环节后,把应用部署在测试集群之上,运行自动化测试,进一步检验软件质量。以下内容由 SWATHub 提供。 SWATHub 是云端的自动化测试 SaaS 平台。通过创新的非编码的流程搭建和执行方式,SWATHub 能够帮助团队简单、高效

  • 对于刚开始正式接触契约测试的团队,对于契约测试和功能测试之间的区别经常会存在争论。难就难在其实并不存在什么非黑即白的答案,更为重要的应该是逐渐加深对契约测试的理解和使用。 使用契约测试常见的场景,是验证规则或者处理错误请求。例如,我们有一个用户服务,允许消费者使用POST请求注册新用户,并在HTTP Body中包含所创建用户的详细信息。 一个简单的消费者与提供者交互的常规场景如下所示: Given