zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Nightmare基于phantomjs的自动化测试套件

测试自动化 基于 套件 PhantomJS
2023-09-14 09:00:58 时间

今天将介绍一款自动化测试套件名叫nightmare,他是一个基于phantomjs的测试框架,一个基于phantomjs之上为测试应用封装的一套high level API。其API以goto, refresh, click, type…等简单的常用e2e测试动作封装,使得其语义清晰,简洁。其官方在http://www.nightmarejs.org/.

如果你的项目测试不需要想需求和测试人员理解,那么基于nightmare测试或许是一个好的选择,你的降低测试代码的成本,以及测试套件的部署。我们可以选择基于jasmine-node等作为测试套件集成。

安装nightmare:

npm install nightmare

下面我们对比与远程phantomjs的对比:

原phantomjs的代码:

phantom.create(function (ph) {

 ph.createPage(function (page) {

 page.open(http://yahoo.com, function (status) {

 page.evaluate(function () {

 var el =

 document.querySelector(input[title="Search"]);

 el.value = github nightmare;

 }, function (result) {

 page.evaluate(function () {

 var el = document.querySelector(.searchsubmit);

 var event = document.createEvent(MouseEvent);

 event.initEvent(click, true, false);

 el.dispatchEvent(event);

 }, function (result) {

 ph.exit();

nightmare代码:

new Nightmare()

 .goto(http://yahoo.com)

 .type(input[title="Search"], github nightmare)

 .click(.searchsubmit)

 .run();

一切显而易见,不用多说。

nightmare同时也支持插件方式抽取公用逻辑,以供复用和提高测试代码语意,如下例子:

/**

 * Login to a Swiftly account.

 * @param {String} email

 * @param {String} password

exports.login = function(email, password){

 return function(nightmare) {

 nightmare

 .viewport(800, 1600)

 .goto(https://swiftly.com/login)

 .type(#username, email)

 .type(#password, password)

 .click(.button--primary)

 .wait();

使用代码很简单:

var Swiftly = require(nightmare-swiftly);

new Nightmare()

 .use(Swiftly.login(email, password))

 .use(Swiftly.task(instructions, uploads, path))

 .run();


这款 Chrome 插件,让你的项目联调 so easy 插件介绍 poseidon-chrome-proxy 是一款浏览器请求代理插件;它能把向服务器发起的请求代理到本地,并且可以修改其请求头。 通过这个插件我们可以降低前后端联调的成本,以及帮助我们快速定位线上 bug。 插件作者:joyful 与 muggle,这个插件我们会长期维护下去,小伙伴们如果有想加进去的功能可以联系我们哟。 插件使用说明 插件下载地址: https://github.com/Poseidon-Service-Framework/poseidon-chrome-proxy/releases
web自动化测试-playwright工具5分钟上手 我喜欢Playwright! 这是微软开源的一款非常强大的自动化工具,再过几年,他很有可能取代Selenium在浏览器自动化的通知地位。使用过一段时间,我没有找到很好的中文资料可以参考,导致很多问题无法得到及时解决,因此我决定自己记录一下使用的笔记,算是给社区回馈
干货 | 一文搞定 uiautomator2 自动化测试工具使用 ![](https://ceshiren.com/uploads/default/original/3X/f/a/facb6e29bf503b39571011963faf36c586c673c0.jpeg) Google 官方提供了一个 Android 自动化测试工具(Java 库),基于 Accessibility 服务,功能很强,可以对第三方 App 进行测试,获取屏幕上任意一个 App 的
Selenium + Python + Chrome 自动化测试 环境搭建 一、下载Python 相关的教程很多,此处不详细记录了,下面是官网下载地址: https://www.python.org/downloads/ 我使用的python版本为 Python 3.6.1 注意:下载完成后配置python和pip的环境变量 二、下载Selenium 如果环境变量配...