Macaca实践(基于web端)

Macaca

Macaca是阿里开源的一套完整的自动化测试解决方案。同时支持PC和移动端测试,支持的语言有JS,Java,Python。本文介绍PC端。

安装

1.安装node.js
2.安装管理工具CNPM
3.安装macaca

安装命令
cnpm i macaca-client -g
装完后查看版本
$ macaca -V
查看环境
$ macaca doctor

确保环境搭建成功。
4.安装macaca-cli

cnpm i macaca-cli -g 

5.安装webdriver-client

cnpm install webdriver-client

6.安装maraca-electron

cnpm install macaca-electron -g

7.安装 macaca-chrome

cnpm install macaca-chrome -g

8.安装 macaca python client

python3 install wd

使用官方实例

先去我是链接下载官方实例代码。官方的代码使用的是基于electron开发的Macaca驱动,之后我们使用chrome。
下载好之后,执行脚本。

maraca run -o ./log.html -d ./macaca-test/macaca-desktop-sample.js

如果要使用chrome,修改脚本。



再执行脚本即可。

使用Python来编写脚本

Macaca只支持Python3.4以上版本,官方api
启动Macaca服务

macaca server --verbose

看到以下输出后,即为成功。



下面编写python脚本,脚本基于python的单元测试框架unites,不熟悉的自行Google。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__author__ = 'LiBin'
__mtime__ = '16/9/18'
              ┏┓   ┏┓
             ┏┛┻━━━┛┻┓
             ┃   ☃    ┃
             ┃ ┳┛  ┗┳  ┃
             ┃    ┻    ┃
             ┗━┓      ┏━┛
              ┃       ┗━━━┓
              ┃  神兽保佑  ┣┓
              ┃ 永无BUG! ┏┛
              ┗┓┓┏━┳┓┏┛
               ┃┫┫ ┃┫┫
               ┗┻┛ ┗┻┛
"""
import unittest
from macaca import WebDriver
from time import sleep

desired_caps = {
    'platformName': 'Desktop',
    'browserName': 'Chrome',
}

server_url = {
    'hostname': '10.1.1.1',
    'port': 3456
}

class MacacaTest(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.driver = WebDriver(desired_caps, server_url)
        cls.driver.init()

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()

    def test_get_url(self):
        self.driver.get('https://www.baidu.com')
        self.assertEqual(self.driver.title, '百度一下,你就知道')

    def test_search_macaca(self):
        self.driver.element_by_id('kw').send_keys('macaca')
        self.driver.element_by_id('su').click()
        sleep(2)
        title = self.driver.title
        self.assertTrue('macaca', title)

if __name__ == '__main__':
    unittest.main()

可以从脚本看出,macaca和selenium的api非常的相似,熟悉selenium的可以很快上手。

吐槽一下测试报告


macaca自带的这个报告真的是有些low。

推荐阅读更多精彩内容

  • Macaca是一套完整的自动化测试解决方案,优点是跨平台,同时支持移动端和PC端。举个栗子~移动端我们常用Appi...
    JOooo_阅读 1,302评论 7 4
  • Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selen...
    立师兄Linty阅读 10,815评论 3 68
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 158,288评论 24 688
  • 青年旅社这个名词我最早是从华仔的朋友圈信息得知的,或许很早就听过,可能从来没有在意过。对于一个没有多少旅行资费的我...
    残剑阅读 1,321评论 12 22
  • Easy, Msc Question 返回一个m x n的矩阵的螺旋序列 For example,矩阵:[[ 1,...
    穿越那片海阅读 177评论 0 1