macaca从入门到放弃爱之初体验

macaca是阿里巴巴用nodejs写的一个自动化测试框架

兼顾移动端和web端测试

它有三个版本,nodejs,python,java 三种

下面说说nodejs版本&web端的场景的用法

实际上启动相当简单

既然说了基于nodejs环境,那么肯定要先给你的电脑配上Node的环境啦。

1.使用自带的npm包管理工具去下载macaca源码

npm install macaca

2.下载webdriver模块

npm install webdriver-client(测试必备的插件)

3.如果要查看脚本执行效果,那么还需要下载chromeWebdriver下载方法就不说了,一样的

4.下载macaca-electron驱动(还不知道要来干嘛的,听说是必备模块)

5.在测试目录建一个“macaca-test”的目录

6.在目录下写上一下test demo(测试用例语法跟mocha是一样的)

'use strict';

var wd = require('webdriver-client')({        platformName: 'desktop',

browserName: 'electron'

});

describe('macaca desktop sample', function() {

this.timeout(5 * 60 * 1000);

const driver = wd.initPromiseChain();

const initialURL = 'https://www.baidu.com'; before(() => { return driver

.initDriver()

.maximize()

.setWindowSize(1280, 800);

});

it('#0 should go into macaca', function() {

return driver .get(initialURL) .sleep(3000);

});

it('#1 should works with macaca', function() {

return driver .elementById('kw') .sendKeys('macaca')

.sleep(3000)

.elementById('su')

.click() .sleep(5000)

.source()

.then(function(html) { html.should.containEql('macaca'); }) .hasElementByCss('#head > div.head_wrapper') .then(function(hasHeadWrapper) { hasHeadWrapper.should.be.true(); }) .elementByXPathOrNull('//*[@id="kw"]') .sendKeys(' elementByXPath') .sleep(3000)

.elementById('su')

.click() .sleep(5000)

.takeScreenshot();

});

it('#2 should go into web', function() {

return driver .get(initialURL)

.sleep(3000);

});

it('#3 should works with web', function() {

return driver

.elementById('kw') .sendKeys('TesterHome') .sleep(3000) .elementById('su') .click() .sleep(5000) .source()

.then(function(html) { html.should.containEql('TesterHome');

}) .takeScreenshot();

});

after((done) => {

return driver .quit(done);

    });

});

7.启动脚本,执行命令:

macaca run(默认运行macaca-test目录下的所有脚本)

macaca run -o(运行目录下的脚本之余会将执行结果以html文件形式保存到根目录)


讲完

你可能感兴趣的:(macaca从入门到放弃爱之初体验)