Macaca [新手入门] Win7+ Macaca + Python+PyCharm+Genimotion:运行 Android App 登录实例

又又 · October 20, 2016 · Last by 何剑豪 replied at December 28, 2016 · 2294 hits

环境配置:

1、配置 Java环境【必须】

2、配置 Android SDK【必须】(系统环境变量path中,加入platforms、platform-tools、tools路径)(SDK\platform-tools中必须创建模拟器)(我使用的SDK是项目组Android开发人员给的,达到24G,里面有很多东西)

3、Macaca由Node.js开发,所以需要安装Node.js【必须】

4、安装 macaca-client【必须】:首先切换切换淘宝源,因为国外资源访问很慢,而且有些资源还无法下载。
cmd 命令行先输入 npm install -g cnpm --registry=https://registry.npm.taobao.org
再输入 cnpm i macaca-cli -g

5、至此,命令行输入 macaca doctor,查看环境配置情况,再按需求,继续配置环境

6、安装 webdriver-client【必须】:cmd命令行输入 cnpm install webdriver-client

7、安装 并配置Ant【必须】(到官网下载包,然后解压,添加环境变量)(可以参考:http://www.cnblogs.com/yuzhongwusan/archive/2013/03/26/2982411.html

8、命令行输入 macaca doctor,发现 Installed driver list 为空,安装 Android driver【必须】,命令行输入 npm i macaca-android --save
此处,我尝试了多次,在win7上安装失败,安装log提示“android unicode”有问题,然后仔细看了下安装 log 看到说,platforms下面的android-N有问题,因此我就把 Android SDK中platforms下的android-N文件夹删除,然后再输入命令,终于安装成功了,当时,我激动的流下了高兴的眼泪。。。安装成功时,如下图

9、再安装 macaca-electron,我不知道这是什么,反正必须要安装就是了,命令行输入 cnpm install macaca-electron -g

10、命令行再次输入 macaca doctor,终于看到希望了,如下图

==============================================================================================

革命尚未成功,同志仍需努力!!!

说明:python,我使用的是2.7.9

1、安装wd.py包,命令行输入 pip install wd

2、pycharm中,新建1个test.py文件,代码如下:

import unittest
import os
import time
from macaca import WebDriver

desired_caps = {
'platformName': 'android',
#'app': 'F:\\02_PhoneTesting\\Macaca\\macaca-test-sample-master\\app\\android-app-bootstrap.zip',
'app': 'C:\\Killer-Android-release-test.apk', # apk 在自己PC电脑上的存放路径
'reuse': 3
}

server_url = {
'hostname': 'localhost',
'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_01_login(self):

# 输入登录账号
self.driver.element('id','com.mpr.mprepubreader:id/login_account').send_keys('13168731111')

# 输入登录密码
self.driver \
.element_by_id('com.mpr.mprepubreader:id/login_password_edit')\
.send_keys('123456')

# 点击登录按钮
self.driver \
.element_by_id('com.mpr.mprepubreader:id/login_btn_bg_btn') \
.click()


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

3、启动Genimotion中,配置好的1个模拟器,我的是Samsung Galaxy S4,此处连接真机,应该也是可以的(我还没来得及尝试):

4、命令行输入 macaca server,启动服务,如下图所示:

5、pycharm中,运行test.py(注意光标放在main里面,再运行),运行成功,部分截图如下:

==============================================================================================

总结:

1、看官网文档,认真看,仔细看

https://github.com/macacajs/macaca-test-sample-python

https://macacajs.com/macaca/python.html

2、win配置环境,坑超级超级多,所以必须要,耐心,耐心,耐心。

3、Good Luck

共收到 8 条回复 时间 点赞

请问下相比appium的优势或者优点是什么?

能不能把你的 Android driver 文件夹 和 启动cmd 打包传网盘共享啊 我发现不需要在线安装,直接找个安装好的 copy一下就行,但是好多人在线安装失败。

#1楼 @kanchi240 你好,可以看一下这个,http://www.imooc.com/video/12541

折腾了1天多还是不能完整运行,心累

请问我这个环境多了这个东西有影响吗

运行就报错了

#5楼 @304764691 遇到了同样的问题:unhandledpromiserejectionwarning
请问解决的了么?

请问我所有环境都装了,代码提示macaca报错是怎么回事

我的也是,环境都搭好, 可是from macaca import webdriver这句报错,提示"ImportError: cannot import name webdriver",请问下什么原因

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up