小编Sub*_*ako的帖子

在app中运行仪器测试并等待结果

我正在开发一种QA自动化解决方案,可以在Android上记录/回放QA测试.关键业务要求是在回放录制的测试时不依赖于连接的PC.为此,我试图在没有连接PC的情况下运行仪器测试.(具体来说,是Appium UiAutomator2测试).

我目前的方法是尝试从我的应用程序以编程方式运行测试.如果我通常从连接的PC运行测试,我会使用该命令adb shell am instrument -w.我尝试从我的应用程序访问ADB Shell并运行am instrument -w,但这会产生错误,我错过了INTERACT_ACROSS_USERS_FULL权限.

为了解决这个问题,我尝试使用startInstrumentation运行测试.这成功地开始了测试.但是,测试立即崩溃.经过进一步调查,我将崩溃追踪到NPE:测试试图检索InstrumentationRegistry.getInstrumentation.getUiAutomation(0),但是返回null.

如何以编程方式运行测试并授予其访问所需的UiAutomation实例的权限?

这就是我开始测试的方式:

public void runTest() {
    final String pm = getPackageName().replaceFirst(".test$", "");
    final InstrumentationInfo info = getInstrumentationInfo(pm);
    if (info != null) {

        final ComponentName cn = new ComponentName(info.packageName,
                info.name);

        Bundle arguments = new Bundle();
        arguments.putString("class", "io.testim.appiumwrapper.test.AppiumUiAutomator2Server");
        //cn = {io.extension.test/android.support.test.runner.AndroidJUnitRunner}
        startInstrumentation(cn, null, arguments);

    } 
}
Run Code Online (Sandbox Code Playgroud)

android android-testing appium android-instrumentation appium-android

20
推荐指数
1
解决办法
788
查看次数

如何在appium中的textview中单击文本链接

如何在appium中的textview中单击文本链接

对于前 我有一个字符串,没有帐户?寄存器

只有Register有一个链接,其他文本被禁用,当我点击注册它导航到注册屏幕.

但我无法点击注册.

参考图像 在此输入图像描述

java automated-tests appium android-uiautomator appium-android

6
推荐指数
1
解决办法
676
查看次数

无法将命令代理到远程服务器。原始错误:错误:读取 ECONNRESET

我无法运行之前运行的自动化脚本。当我尝试在新设备中运行相同的代码时,它工作正常。

Appium 服务器日志

[UiAutomator2] 运行命令:'adb -s K3V4C18B16002502 shell am instrument -w io.appium.uiautomator2.server.test/android.support.test.runner.AndroidJUnitRunner' [UiAutomator2] 等待 UiAutomator2 在线时间长达 20000 毫秒。 . [debug] [JSONWP Proxy] 将 '/status' 与命令名称 'getStatus' 匹配 [debug] [JSONWP Proxy] 将 [GET /status] 代理到 [GET http://localhost:8200/wd/hub/status]与没有正文 [JSONWP 代理] 得到了一个意外的响应:{"errno":"ECONNRESET","code":"ECONNRESET","syscall":"read"} [debug] [JSONWP 代理] 匹配 '/status' 到命令name 'getStatus' [debug] [JSONWP Proxy] 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status]没有正文 [JSONWP 代理] 得到意外响应:{"errno":"ECONNRESET","code":"ECONNRESET","syscall":"read"} [debug] [UiAutomator2] [UIAutomator2] android.util。 AndroidException: INSTRUMENTATION_FAILED: io.appium.uiautomator2.server.test/android.support.test.runner.AndroidJUnitRunner [debug] [UiAutomator2] [UIAutomator2] INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{io.appium.uiautomator2 .server.test/android.support.test.runner.AndroidJUnitRunner} [debug] …

java automation appium

4
推荐指数
1
解决办法
1万
查看次数

如何使用Appium启用/禁用应用程序权限?

我的应用需要多应用许可。我需要通过允许或拒绝其他权限来检查我的应用程序的行为。如何从appium启用/禁用app权限以创建多个方案?

例如,假设我的应用需要权限:permission1permission2

scenario 1 = allow permission1 allow permission2

scenario 2 = allow permission1 deny permission2

scenario 3 = deny permission1 allow permission2

scenario 4 = deny permission1 deny permission2
Run Code Online (Sandbox Code Playgroud)

appium appium-ios appium-android

2
推荐指数
2
解决办法
3328
查看次数

echo $ANDROID_HOME 在 Mac 中返回空白

我在 .bash_profile 中设置 ANDROID_HOME 并运行 source ~/.bash profile 但在关闭并打开终端后然后运行 ​​echo $ANDROID_HOME return blank

.bash_profile

source ~/.bash_profile
export PATH="/usr/local/opt/openssl/bin:$PATH"
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
export ANDROID_HOME=/Users/Najibah/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platfrom-tools
Run Code Online (Sandbox Code Playgroud)

这发生在我运行 echo $ANDROID_HOME 时

macos bash android

2
推荐指数
1
解决办法
1926
查看次数