一 先配置好 Eclipse 及其相关的 maven 插件和 git 插件等和 android 开发环境

当然还有 ubuntu 环境下的 macaca-cli 和各种驱动 等 macaca 执行环境,请参考ubuntu16.04 环境折腾 macaca 总结记
此处省略,自行度娘 谷哥.许久之前就配置好了,这次是直接拿来用的.

二 Eclipse 导入 wd.java Maven 项目

使用 git clone 来 down 项目在后续才是最方便的.

(如果你熟悉 maven 的 pom 和 setting 设置 也完全可以创建维护个人的 macaca java 项目 这块还在研究中) 已补充 ubuntu16.04 Eclipse 使用 Maven pom 和 settings 创建本地 macaca java 项目记

cmd@TR:~/workspace/git$ git clone https://github.com/macacajs/wd.java.git
正克隆到 'wd.java'...
remote: Counting objects: 977, done.
remote: Compressing objects: 100% (221/221), done.
remote: Total 977 (delta 174), reused 0 (delta 0), pack-reused 750
接收对象中: 100% (977/977), 294.54 KiB | 343.00 KiB/s, 完成.
处理 delta 中: 100% (691/691), 完成.
检查连接... 完成。
cmd@TR:~/workspace/git$ cd wd.java/
cmd@TR:~/workspace/git/wd.java$ ls -al
总用量 44
drwxrwxr-x 5 cmd cmd 4096 8月  23 13:55 .
drwxrwxrwx 3 cmd cmd 4096 8月  23 13:55 ..
drwxrwxr-x 4 cmd cmd 4096 8月  23 13:55 doc
drwxrwxr-x 8 cmd cmd 4096 8月  23 13:55 .git
-rw-rw-r-- 1 cmd cmd  100 8月  23 13:55 .gitignore
-rw-rw-r-- 1 cmd cmd 1100 8月  23 13:55 LICENSE
-rw-rw-r-- 1 cmd cmd 1312 8月  23 13:55 pom.xml
-rw-rw-r-- 1 cmd cmd  591 8月  23 13:55 README.md
-rw-rw-r-- 1 cmd cmd 1074 8月  23 13:55 settings.xml
drwxrwxr-x 4 cmd cmd 4096 8月  23 13:55 src
-rw-rw-r-- 1 cmd cmd  114 8月  23 13:55 .travis.yml
cmd@TR:~/workspace/git/wd.java$ git pull
Already up-to-date.
cmd@TR:~/workspace/git/wd.java$ mvn -s settings.xml clean install

日志略

会看到 [INFO] BUILD SUCCESS 说明 wd.java 项目部署成功.

然后再打开 Eclipse 导入 /home/cmd/workspace/git/wd.java/ 已存在的 Maven 项目.

三 Eclipse 中编辑修改 SampleTest.java

参考官方示例 https://macacajs.github.io/macaca/java.html
https://github.com/macacajs/macaca-test-sample-java

package macaca.client;

import static org.hamcrest.Matchers.containsString;

//import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import com.alibaba.fastjson.JSONObject;
import macaca.client.MacacaClient;

public class SampleTest {

    MacacaClient driver = new MacacaClient();

    @Before
      public void setUp() throws Exception {
        //Logger logger = Logger.getLogger(getClass()); 
        JSONObject porps = new JSONObject();
        porps.put("autoAcceptAlerts", true);
        porps.put("javascriptEnabled", true);

      //porps.put("deviceName", "iPhone 6s"); //ios 需要指定设备名
        porps.put("platformName", "Android"); // Android or ios
        porps.put("version", ""); //系统版本 ios需要指定系统版本

      //porps.put("udid", "your udid"); //ios udid唯一设备识别符
      //porps.put("bundleId", "zx.ios-app-bootstrap"); //ios bundleId App应用标识符

        porps.put("app", "/home/cmd/App/***.apk");
        //porps.put("package", "com.***.***");//appPackage 启动包名  
       // porps.put("activity", ".***");//appActivity 启动类名

        JSONObject desiredCapabilities = new JSONObject();
        desiredCapabilities.put("desiredCapabilities", porps);
        driver.initDriver(desiredCapabilities);

    }

    @Test
    public void test_case_1() throws Exception {
        System.out.println("test case #1 Login");

        driver
            .elementById("com.acp.aicaitencent:id/tvBottomTab4")
            .click()
            .sleep(5000)

            .elementById("com.acp.aicaitencent:id/layoutLogin")
            .click()
            .sleep(5000)

            .elementById("com.acp.aicaitencent:id/etUserName")
            .sendKeys("******")
            .sleep(5000)

            .elementById("com.acp.aicaitencent:id/etPwd")
            .sendKeys("********")
            .sleep(5000)

            .elementById("com.acp.aicaitencent:id/tvLogin")
            .click()
            .sleep(5000);

                   driver.takeScreenshot()
                .saveScreenshot("/home/cmd/macaca/AndroidAcp.png");
    }


    @After
    public void tearDown() throws Exception {
        driver.quit();
    }
}

四 执行脚本

当然还是要先开一终端跑 macaca server --verbose 再启动安卓模拟器。

1 可以直接 Eclipse 中选中 SampleTest.java 右键 Run As->Junit Test

2 也可以到 git clone 下来的 wd.java 项目下执行 mvn test

五 mvn test 指定运行项目下的单元测试类

1 Eclipse 下的 macacaclient 项目如图

2 指定运行 H5Mobile

先 cd 到~/workspace/git/wd.java 工程项目下
再 cmd@TR:~/workspace/git/wd.java$ mvn test -Dtest=macaca.client.H5Mobile
如图

其他 mvn test 命令行使用可以参考帮助 mvn test --help

更多信息请参考 wiki 汇总

小马的 macaca 入门指引合集

更多的关于 wd.java 样例学习可参考 wd.java 的作者的样例:

https://github.com/Yinxl/bootstrap
这个例子很好 common 里 提取了一些公共 可复用部分


↙↙↙阅读原文可查看相关链接,并与作者交流