Я новичок в Detox и сейчас пытаюсь успешно провести базовый тест.
После запуска теста на детоксикацию --configuration android.emu.debug приложение открывается успешно, но потом просто зависает и в итоге появляется следующие ошибки:
10:56:55.138 detox[51659] B jest --config e2e/jest.config.js
10:56:58.042 detox[51660] i Babel config: myApp sandbox debug
10:56:58.489 detox[51660] i login.test.js is assigned to emulator-5554 (Pixel_7_Pro_API_33)
11:00:07.190 detox[51660] i ToS Accept: should show ToS screen
11:00:07.202 detox[51660] i ToS Accept: should show ToS screen [FAIL]
11:00:07.301 detox[51660] i An error occurred while waiting for the app to become ready. Waiting for disconnection...
error: Failed to run application on the device
HINT: Most likely, your main activity has crashed prematurely.
Native stacktrace dump:
com.wix.detox.common.DetoxErrors$DetoxRuntimeException: Waited for the new RN-context for too long! (180 seconds)
If you think that's not long enough, consider applying a custom Detox runtime-config in DetoxTest.runTests().
at com.wix.detox.reactnative.ReactNativeLoadingMonitor.awaitNewRNContext(ReactNativeLoadingMonitor.kt:60)
at com.wix.detox.reactnative.ReactNativeLoadingMonitor.getNewContext(ReactNativeLoadingMonitor.kt:29)
at com.wix.detox.reactnative.ReactNativeExtension.awaitNewReactNativeContext(ReactNativeExtension.kt:129)
at com.wix.detox.reactnative.ReactNativeExtension.waitForRNBootstrap(ReactNativeExtension.kt:36)
at com.wix.detox.DetoxMain.launchActivity(DetoxMain.kt:127)
at com.wix.detox.DetoxMain.launchActivityOnCue(DetoxMain.kt:53)
at com.wix.detox.DetoxMain.run(DetoxMain.kt:33)
at com.wix.detox.Detox.runTests(Detox.java:126)
at com.wix.detox.Detox.runTests(Detox.java:93)
at de.mcoins.mycompany.DetoxTest.runDetoxTests(DetoxTest.java:27)
11:00:07.362 detox[51660] i The app disconnected.
11:00:07.364 detox[51660] i The pending request #-49642 ("cleanup") has been rejected due to the following error:
The app has unexpectedly disconnected from Detox server.
FAIL e2e/login.test.js (191.641 s)
ToS Accept
✕ should show ToS screen (7 ms)
● ToS Accept › should show ToS screen
thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
1 | describe('ToS Accept', () => {
> 2 | beforeAll(async () => {
| ^
3 | await device.launchApp();
4 | });
5 |
at beforeAll (e2e/login.test.js:2:3)
at Object.describe (e2e/login.test.js:1:1)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 191.828 s
Ran all test suites.
11:00:07.491 detox[51659] E Command failed with exit code = 1:
jest --config e2e/jest.config.js
Я просмотрел предыдущие подобные проблемы, но, похоже, у всех что-то не так с настройкой. В моем случае я следовал руководству по настройке Detox и не вижу, чего не хватает.
Мой detoxrc.js:
/** @type {Detox.DetoxConfig} */
module.exports = {
testRunner: {
args: {
'$0': 'jest',
config: 'e2e/jest.config.js'
},
jest: {
setupTimeout: 120000
}
},
apps: {
'myApp.android.debug': {
type: 'android.apk',
binaryPath: 'android/app/build/outputs/apk/myApp/debug/myApp-debug-v504.apk',
testBinaryPath: 'android/app/build/outputs/apk/androidTest/myApp/debug/app-myApp-debug-androidTest.apk',
build: 'cd android && ./gradlew assemblemyAppSandboxDebug assembleAndroidTest -DtestBuildType=debug',
reversePorts: [
8081
]
}
},
devices: {
attached: {
type: 'android.attached',
device: {
adbName: '.*'
}
},
emulator: {
type: 'android.emulator',
device: {
avdName: 'Pixel_7_Pro_API_33'
}
}
},
configurations: {
'ios.sim.debug': {
device: 'simulator',
app: 'ios.debug'
},
'ios.sim.release': {
device: 'simulator',
app: 'ios.release'
},
'android.att.debug': {
device: 'attached',
app: 'myApp.android.debug'
},
'android.att.release': {
device: 'attached',
app: 'android.release'
},
'android.emu.debug': {
device: 'emulator',
app: 'myApp.android.debug'
},
'android.emu.release': {
device: 'emulator',
app: 'android.release'
}
}
};
Мой DetoxTest.java:
package com.example.myApp;
import com.wix.detox.Detox;
import com.wix.detox.config.DetoxConfig;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.rule.ActivityTestRule;
@RunWith(AndroidJUnit4.class)
@LargeTest
public class DetoxTest {
@Rule // (2)
public ActivityTestRule mActivityRule = new ActivityTestRule(MainActivity.class, false, false);
@Test
public void runDetoxTests() {
DetoxConfig detoxConfig = new DetoxConfig();
detoxConfig.idlePolicyConfig.masterTimeoutSec = 90;
detoxConfig.idlePolicyConfig.idleResourceTimeoutSec = 60;
detoxConfig.rnContextLoadTimeoutSec = (BuildConfig.DEBUG ? 180 : 60);
Detox.runTests(mActivityRule, detoxConfig);
}
}
Мой набор тестов:
describe('ToS Accept', () => {
beforeAll(async () => {
await device.launchApp();
});
beforeAll(async () => {
await device.reloadReactNative();
});
it('should show ToS screen', async () => {
await expect(element(by.id('TosTitle'))).toBeVisible();
});
});
Подробнее здесь: https://stackoverflow.com/questions/783 ... the-device
Ошибка детоксикации после открытия приложения Android: не удалось запустить приложение на устройстве. ⇐ Android
Форум для тех, кто программирует под Android
1714137209
Anonymous
Я новичок в Detox и сейчас пытаюсь успешно провести базовый тест.
После запуска теста на детоксикацию --configuration android.emu.debug приложение открывается успешно, но потом просто зависает и в итоге появляется следующие ошибки:
10:56:55.138 detox[51659] B jest --config e2e/jest.config.js
10:56:58.042 detox[51660] i Babel config: myApp sandbox debug
10:56:58.489 detox[51660] i login.test.js is assigned to emulator-5554 (Pixel_7_Pro_API_33)
11:00:07.190 detox[51660] i ToS Accept: should show ToS screen
11:00:07.202 detox[51660] i ToS Accept: should show ToS screen [FAIL]
11:00:07.301 detox[51660] i An error occurred while waiting for the app to become ready. Waiting for disconnection...
error: Failed to run application on the device
HINT: Most likely, your main activity has crashed prematurely.
Native stacktrace dump:
com.wix.detox.common.DetoxErrors$DetoxRuntimeException: Waited for the new RN-context for too long! (180 seconds)
If you think that's not long enough, consider applying a custom Detox runtime-config in DetoxTest.runTests().
at com.wix.detox.reactnative.ReactNativeLoadingMonitor.awaitNewRNContext(ReactNativeLoadingMonitor.kt:60)
at com.wix.detox.reactnative.ReactNativeLoadingMonitor.getNewContext(ReactNativeLoadingMonitor.kt:29)
at com.wix.detox.reactnative.ReactNativeExtension.awaitNewReactNativeContext(ReactNativeExtension.kt:129)
at com.wix.detox.reactnative.ReactNativeExtension.waitForRNBootstrap(ReactNativeExtension.kt:36)
at com.wix.detox.DetoxMain.launchActivity(DetoxMain.kt:127)
at com.wix.detox.DetoxMain.launchActivityOnCue(DetoxMain.kt:53)
at com.wix.detox.DetoxMain.run(DetoxMain.kt:33)
at com.wix.detox.Detox.runTests(Detox.java:126)
at com.wix.detox.Detox.runTests(Detox.java:93)
at de.mcoins.mycompany.DetoxTest.runDetoxTests(DetoxTest.java:27)
11:00:07.362 detox[51660] i The app disconnected.
11:00:07.364 detox[51660] i The pending request #-49642 ("cleanup") has been rejected due to the following error:
The app has unexpectedly disconnected from Detox server.
FAIL e2e/login.test.js (191.641 s)
ToS Accept
✕ should show ToS screen (7 ms)
● ToS Accept › should show ToS screen
thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
1 | describe('ToS Accept', () => {
> 2 | beforeAll(async () => {
| ^
3 | await device.launchApp();
4 | });
5 |
at beforeAll (e2e/login.test.js:2:3)
at Object.describe (e2e/login.test.js:1:1)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 191.828 s
Ran all test suites.
11:00:07.491 detox[51659] E Command failed with exit code = 1:
jest --config e2e/jest.config.js
Я просмотрел предыдущие подобные проблемы, но, похоже, у всех что-то не так с настройкой. В моем случае я следовал руководству по настройке Detox и не вижу, чего не хватает.
Мой detoxrc.js:
/** @type {Detox.DetoxConfig} */
module.exports = {
testRunner: {
args: {
'$0': 'jest',
config: 'e2e/jest.config.js'
},
jest: {
setupTimeout: 120000
}
},
apps: {
'myApp.android.debug': {
type: 'android.apk',
binaryPath: 'android/app/build/outputs/apk/myApp/debug/myApp-debug-v504.apk',
testBinaryPath: 'android/app/build/outputs/apk/androidTest/myApp/debug/app-myApp-debug-androidTest.apk',
build: 'cd android && ./gradlew assemblemyAppSandboxDebug assembleAndroidTest -DtestBuildType=debug',
reversePorts: [
8081
]
}
},
devices: {
attached: {
type: 'android.attached',
device: {
adbName: '.*'
}
},
emulator: {
type: 'android.emulator',
device: {
avdName: 'Pixel_7_Pro_API_33'
}
}
},
configurations: {
'ios.sim.debug': {
device: 'simulator',
app: 'ios.debug'
},
'ios.sim.release': {
device: 'simulator',
app: 'ios.release'
},
'android.att.debug': {
device: 'attached',
app: 'myApp.android.debug'
},
'android.att.release': {
device: 'attached',
app: 'android.release'
},
'android.emu.debug': {
device: 'emulator',
app: 'myApp.android.debug'
},
'android.emu.release': {
device: 'emulator',
app: 'android.release'
}
}
};
Мой DetoxTest.java:
package com.example.myApp;
import com.wix.detox.Detox;
import com.wix.detox.config.DetoxConfig;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.rule.ActivityTestRule;
@RunWith(AndroidJUnit4.class)
@LargeTest
public class DetoxTest {
@Rule // (2)
public ActivityTestRule mActivityRule = new ActivityTestRule(MainActivity.class, false, false);
@Test
public void runDetoxTests() {
DetoxConfig detoxConfig = new DetoxConfig();
detoxConfig.idlePolicyConfig.masterTimeoutSec = 90;
detoxConfig.idlePolicyConfig.idleResourceTimeoutSec = 60;
detoxConfig.rnContextLoadTimeoutSec = (BuildConfig.DEBUG ? 180 : 60);
Detox.runTests(mActivityRule, detoxConfig);
}
}
Мой набор тестов:
describe('ToS Accept', () => {
beforeAll(async () => {
await device.launchApp();
});
beforeAll(async () => {
await device.reloadReactNative();
});
it('should show ToS screen', async () => {
await expect(element(by.id('TosTitle'))).toBeVisible();
});
});
Подробнее здесь: [url]https://stackoverflow.com/questions/78389401/detox-error-after-android-app-opens-failed-to-run-application-on-the-device[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия