【问题标题】:Setting up Detox with Expo on Android在 Android 上使用 Expo 设置排毒
【发布时间】:2020-04-22 00:44:38
【问题描述】:

我正在尝试在 Android 模拟器 (Genymotion) 上使用 Expo 设置 Detox,但我遇到了一个无法通过的错误......

我已经安装了必要的软件包:

  • 排毒
  • detox-expo-helpers
  • expo-detox-hook

在官方展会网站上下载 Exponent.apk

设置我的 package.json:

"detox": {
    "test-runner": "jest",
    "configurations": {
      "android": {
        "binaryPath": "bin/Exponent.apk",
        "build": "npm run android",
        "type": "android.attached",
        "device": {
          "adbName": "192.168.58.101:5555"
        }
      }
    }
  }

在 e2e 文件夹中设置 config.json :

{
    "setupFilesAfterEnv": ["./init.ts"],
    "testEnvironment": "node",
    "reporters": ["detox/runners/jest/streamlineReporter"],
    "verbose": true
}

设置我的 init.ts 文件:

import {cleanup, init} from "detox";
import * as adapter from "detox/runners/jest/adapter";

const config = require("../package.json").detox;

jest.setTimeout(120000);
jasmine.getEnv().addReporter(adapter);

beforeAll(async () => {
    await init(config);
});

beforeEach(async () => {
    await adapter.beforeEach();
});

afterAll(async () => {
    await adapter.afterAll();
    await cleanup();
});

当我使用 detox test 运行测试时,出现以下错误:

错误:'.../androidTest/Exponent/Exponent-androidTest.apk' 不能 找到了,你有没有运行 './gradlew assembleAndroidTest' ?

这个 androidTest 文件是如何用 Expo 生成的? 我是不是做错了什么?

编辑:

我也尝试使用 .sh 脚本来获取 Exponent.apk 文件:

#!/bin/bash -e

# query expo.io to find most recent ipaUrl
IPA_URL=`curl https://expo.io/--/api/v2/versions |  python -c 'import sys, json; print json.load(sys.stdin)["androidUrl"]'`

# download tar.gz
TMP_PATH=bin/Exponent.apk
wget -O $TMP_PATH $IPA_URL

【问题讨论】:

标签: android react-native expo detox


【解决方案1】:

尝试通过

清理grale

cd 安卓

./gradlew clean

然后通过命令重新运行应用程序

cd ..

npm 开始

【讨论】:

  • 我没有退出世博会,所以我没有那个android文件夹。
猜你喜欢
  • 2020-09-11
  • 2018-10-26
  • 2018-11-11
  • 2021-01-26
  • 1970-01-01
  • 2023-02-18
  • 1970-01-01
  • 1970-01-01
  • 2020-07-17
相关资源
最近更新 更多