首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chimpchat自动旅程

Chimpchat自动旅程
EN

Stack Overflow用户
提问于 2014-01-31 13:18:40
回答 2查看 966关注 0票数 1

我的目标是让猴子访问给定android应用程序的所有页面/活动。我目前正在使用Chimpchat,我的第一步如下:

1 -与设备的连接:

代码语言:javascript
复制
TreeMap<String, String> options = new TreeMap<String, String>();
options.put("backend", "adb");
options.put("adbLocation", ADB);
mChimpchat = ChimpChat.getInstance(options);
mDevice = mChimpchat.waitForConnection(TIMEOUT, ".*");
mDevice.wake();

2 -获取视图ID列表:

代码语言:javascript
复制
mDevice.getViewIdList();

3 -对于getViewIdList()返回的列表中包含的每个字符串(使用迭代器),我想访问类、文本(如果有的话)、边界等.

代码语言:javascript
复制
 while (it.hasNext()) {
        String s = it.next();
        System.out.println(s + " : ");
        try {
            IChimpView v = mDevice.getView(By.id(s));
            System.out.println(v);
            System.out.println(v.getViewClass() + "  : " );
            if (v.getViewClass().toString() == "TextView") {
                System.out.print(v.getText());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }


    }

我得到了一个例外

代码语言:javascript
复制
v.getViewClass()


com.android.chimpchat.core.ChimpException: Node with given ID does not exist
at com.android.chimpchat.ChimpManager.queryView(ChimpManager.java:415)
at com.android.chimpchat.core.ChimpView.queryView(ChimpView.java:53)
at com.android.chimpchat.core.ChimpView.getViewClass(ChimpView.java:96)
at JavaMonkey.listViewsID(JavaMonkey.java:80)
at JavaMonkey.main(JavaMonkey.java:114)

如果有人可以指出我的错误或指出我的另一种方法,这将是非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-26 18:22:53

我认为问题是没有任何活动在运行。正如我在上面评论的那样,您可能可以使用startActivity启动一个。然而,这将需要一些挖掘,以确定所有需要传递的东西。

另一种解决办法如下:

代码语言:javascript
复制
StringBuilder builder = new StringBuilder();
builder.append("am start -a android.intent.action.MAIN -n ");
builder.append(mPackage).append("/").append(mActivity);
String output = mDevice.shell(builder.toString());

这将使用亚行外壳启动应用程序。mPackage =包路径(com.company.application)和mActivity =活动(.MyActivity)。从那里你应该可以到达mDevice.getHierarchyViewer()mDevice.getViewIdList()

票数 0
EN

Stack Overflow用户

发布于 2014-02-04 22:35:54

我认为罗布托更适合这种类型的测试。在我的经验中,使用亚行/MonkeyRunner访问远程设备上的视图不是非常可靠的。此外,Robotium有许多很酷的特性,可以很容易地集成到现有的测试套件中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21481057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档