gpt4 book ai didi

android - 如果我只有 apk 文件,如何在 robotium 中使用 R.id

转载 作者:太空狗 更新时间:2023-10-29 13:29:11 26 4
gpt4 key购买 nike

我想测试来自游戏市场的应用程序。我在尝试使用

时遇到问题
solo.clickOnView(solo.getView(cn.wps.moffice_eng.R.id.writer_edittoolbar_saveBtn));

cn - cn 无法解析为变量

我该如何解决这个问题?据我了解,robotium 不能使用 R.id,因为我的测试应用程序中没有 R.id 文件?

我的代码

    package com.example.android.apis.test;

import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ListView;

import com.jayway.android.robotium.solo.Solo;



@SuppressWarnings("unchecked")
public class Test extends ActivityInstrumentationTestCase2 {

private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "cn.wps.moffice.documentmanager.PreStartActivity";

private static Class<?> launcherActivityClass;
static{
try {
launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}

@SuppressWarnings("unchecked")
public Test() throws ClassNotFoundException {
super(launcherActivityClass);
}

private Solo solo;

@Override
protected void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}

public void testSimple() {

solo.sleep(2000);
solo.clickOnButton(1);
solo.sleep(2000);
solo.clickOnImage(6);
solo.sleep(2000);
solo.clickInList(0);
solo.sleep(5000);

solo.sendKey(KeyEvent.KEYCODE_P);
solo.sendKey(KeyEvent.KEYCODE_R);
solo.sendKey(KeyEvent.KEYCODE_O);

solo.sendKey(Solo.ENTER);
solo.sleep(2000);


solo.clickOnView(solo.getView(cn.wps.moffice_eng.R.id.writer_edittoolbar_saveBtn));

}


@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();

}
}

和 list

<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.example.android.apis.test">

<uses-sdk android:minSdkVersion="13"/>

<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="cn.wps.moffice_eng"/>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
<uses-library android:name="android.test.runner"/>
</application>

</manifest>

我的解决方案:我找到了解决方案 - 我反编译了 apk 文件并将 R.id 文件拉到 robotium 项目 - 这是我提出问题的关键时刻

最佳答案

正如@Renas 所建议的,getView(String id) 是您所需要的。

robotium 5.0.1 中,您应该只使用 id string,而不是整个名称。它应该看起来像这样:

solo.clickOnView(solo.getView("resourceId"));

关于android - 如果我只有 apk 文件,如何在 robotium 中使用 R.id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17879103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com