Вопросы с тегами [detox]

2

голосов
0

ответ
9

Просмотры

Реагировать Native Detox: Не могу принять разрешение местоположения от системы оповещения всплывающего

Запуск приложения из командной строки с помощью теста Detox --configuration ios.sim.debug Запуска приложения в коде через ждет device.launchApp ({разрешения: {места: «всегда», уведомления: «ДА»}}) Идите через проточный вход, пока приложение запрашивает местоположение с помощью реагирующего-носителей разрешений Permissions.request ( «место», {типа: «всегда»}) (с предварительной проверкой, чтобы увидеть, если проверка разрешения местоположения уже установлена ​​to'always' (в этом случае приложение не спрашивает )) см системы оповещения всплывающее с просьбой подтвердить разрешение местоположение Detox не может видеть систему оповещения всплывал и, таким образом, не может нажать на кнопку, чтобы выбрать разрешение всегда на место должны быть в состоянии нажать на «всегда разрешать» кнопку в кнопке расположения системы разрешения. Но не могу. Смотрите мой код по адресу: github.com/wix/Detox/issues/1330.
1

голосов
0

ответ
81

Просмотры

не setURLBlacklist работает, как ожидалось

"Способ": "SetValue: forConfigKey:", "арг": [[ "* локальный:.. Тысяча двести тридцать четыре * "]," GREYConfigKeyURLBlacklistRegex "]}," MessageId ": 1} детокс глагол WS OnMessage: {" тип": «invokeResult», «MESSAGEID»: 1, «Титулы»: { «результат»: «(нуль)»}} Но я все еще получаю то же ожидающее для сетевых запросов, чтобы закончить войти в том же URL. похоже, что это игнорировать мой черный список. Помощь будет оценена. м по-прежнему получать то же Ожидание сетевых запросов, чтобы закончить войти в том же URL. похоже, что это игнорировать мой черный список. Помощь будет оценена. м по-прежнему получать то же Ожидание сетевых запросов, чтобы закончить войти в том же URL. похоже, что это игнорировать мой черный список. Помощь будет оценена.
Shai Katz
1

голосов
1

ответ
308

Просмотры

Detox - Нажмите кнопку, когда она становится доступной

У меня есть проблема выполняющей кран () на кнопке при тестировании с Detox. Войти Наш тест выглядит следующим образом: Const emailInput = элемент (by.id ( 'emailInput')); ждут emailInput.replaceText ('[email protected] '); Const passwordInput = элемент (by.id ( 'passwordInput')); ждут passwordInput.replaceText ( 'пароль'); ждут элемент (by.id ( 'logInButton')) нажмите (). Кнопка видна все время, но становится доступным ( «tappable») только после ввода текста в полях формы. Таким образом, приведенные выше код кранов кнопки, прежде чем он включен, что приводит к отсутствию реальных действий. То, что я хотел бы сделать, это ждать, пока кнопка не будет включена, а затем выполнить кран. Что Рекомендованный способ обработки этого типа сценария? Я не мог найти хорошие примеры в документации.
Magdalena
1

голосов
0

ответ
147

Просмотры

Detox: TypeText пространство в строке

Я пытаюсь ввести текст в поле TextInput с помощью детокс. Мой тестовый пример выглядит следующим образом: он ( 'должен создать компанию', асинхр () => {ждут элемент (by.id ( 'addCompany')) нажмите (); ждать ожидать (элемент (by.id ( 'companyForm'. ))) toBeVisible ();. = Const COMPANYNAME элемент (by.id ( 'formCompanyName')) companyName.typeText ( 'Test'); companyName.typeText (»«); companyName.typeText ( 'Компания');}) ; Согласно документации Earlgrey: https://github.com/google/EarlGrey/blob/master/EarlGrey/Core/GREYKeyboard.m#L81 идентификатор пространства «», но это не похоже на работу? Другие вещи, такие как забой companyName.typeText ( «\ б»); - отлично работает. Есть хитрость, о том, как показать ввод текста с пространством в нем? Или я должен использовать функцию ReplaceText () вместо этого?
Daniel Dimitrov
1

голосов
2

ответ
138

Просмотры

Detox: Как обойти проверку подлинности при тестировании

У меня есть приложение, которое использует OAuth. Я не хочу, чтобы использовать внешний, unmocked сервер, чтобы иметь возможность войти. Есть ли способ обхода аутентификации на детокс-тестирование приложений? Что-то такое, как: Навигационной экран метод детоксикации GoTo, или только тестирование темно запущен кнопка, которая будет перемещаться на главном экране. Любая помощь очень ценится
Paul Brittain
1

голосов
1

ответ
475

Просмотры

Detox насмешливый с помощью расширений файлов e2e.js

Я использую Detox как конец в конец рамки тестирования для реакции собственного приложения. Я хотел бы, чтобы дразнить результаты запросов API для того, чтобы уменьшить шелушение и время для тестирования. Согласно документации, я должен быть в состоянии иметь Metro перезаписать модуль с помощью расширения файла e2e.js. Я не могу получить эту работу, и я не совсем уверен, почему. Большинство документов и существующие вопросы не связаны с использованием среагировать родной-Repackager, но РН 0.55.0, это больше не требуется. Любая помощь / идеи будут оценены! EDIT: RN_SRC_EXT = e2e.js реагируют родной старт работает отлично RN_SRC_EXT = e2e.js xcodebuild -project как тест детокс сценарий сборки и детокс -c ios.sim.release не работает
Taylor Johnson
1

голосов
0

ответ
120

Просмотры

DETOX Сложение Error (ошибка: пакет android.support.annotation не существует импорт android.support.annotation.NonNull)

работает команда детокс построить --configuration android.emu.debug выдает следующую ошибку, когда я пытаюсь Детокс построить на Linux это дает эту ошибку, связанную с androidx, но он отлично работает на макинтош. Похоже, что проблема относится к тому, как Gradle использует jetifier как кажется, не должны быть заменены на Linux не удалось разрешить все файлы конфигурации андроида пакетов поддержки ": Детокс: minReactNative44DebugCompileClasspath. > Не удалось разрешить com.squareup.okhttp3: okhttp: 3.4.1. Требуется: проект: Детокс> Не может найти версию «com.squareup.okhttp3: okhttp», который удовлетворяет ограничения версии: Зависимость от пути «testrepo2: Детокс: неопределенные» -> «com.squareup.okhttp3: okhttp: 3.4. 1' Constraint путь 'testrepo2: Детокс: не определено' -> 'com.squareup.okhttp3: okhttp' Не удалось разрешить com.squareup.okio: Окио: 1.9.0. Требуется: проект: Детокс> Не может найти версию «com.squareup.okio: Окио», который удовлетворяет версию ограничения: зависимый путь «testrepo2: Детокс: не определен» -> «com.facebook.react: реагировать родной: 0.57.8' -> 'com.squareup.okio: Окио: 1.14.0' зависимый путь 'testrepo2: Детокс: не определено' -> 'com.squareup.okhttp3: okhttp: 3.11.0' -> «ком .squareup.okio: Окио: 1.14.0' зависимый путь 'testrepo2: Детокс: не определено' -> 'com.facebook.react: реагируют родной: 0.57.8' -> «com.squareup.okhttp3: okhttp: 3.11.0' -> 'com.squareup.okio: Окио: 1.14.0' Constraint путь 'testrepo2: Детокс: не определено' -> 'com.squareup.okio: Окио' строго '1.9.0' по следующей причине: minReactNative44DebugRuntimeClasspath использует версию 1.9.0 Constraint путь «testrepo2: Детокс: не определено» -> «com.squareup.okio: Окио» строго «1.9.0» из-за следующей причине: minReactNative44DebugRuntimeClasspath использует версию 1.9. 0> не удалось разрешить com.squareup.okhttp3: okhttp: 3.4.1. Требуется: проект: детокс проект: Детокс> com.squareup.okhttp3: okhttp-WS: 3.4.1> Не удается найти версию «com.squareup.okhttp3: okhttp», который удовлетворяет ограничениям версии: Зависимость от пути «testrepo2: детокс : не определено»-> 'com.squareup.okhttp3: okhttp: 3.4.1' Constraint путь 'testrepo2: Детокс: не определено' -> 'com.squareup.okhttp3: okhttp' строго '3.4.1' из следующих причина: 3.11.0. Требуется: проект: Детокс> com.facebook.react: реагировать родной: 0.57.8 проект: Детокс> com.facebook.react: реагировать родной: 0.57.8> com.squareup.okhttp3: okhttp-URLConnection: 3.11. 0> не удается найти версию 'com.squareup.okhttp3: okhttp', который удовлетворяет ограничения версии: Зависимость от пути 'testrepo2: Детокс: энный' -> 'com.squareup.okhttp3: okhttp: 3.4.1' Constraint пути ' testrepo2: Детокс: не определено '-> 'com.squareup.okhttp3: okhttp' строго '3.4.1' из-за следующей причине: minReactNative44DebugRuntimeClasspath использует версию 3.4.1 зависимый путь 'testrepo2: Детокс: не определено' ->' ком .squareup.okhttp3: okhttp: 3.4.1' Constraint путь 'testrepo2: Детокс: не определено' -> «com.squareup. 4,1' -> 'com.squareup.okhttp3: okhttp: 3.4.1' зависимый путь 'testrepo2: Детокс: не определено' -> 'com.facebook.react: реагируют родной: 0.57.8' -> «ком .facebook.fresco: imagepipeline-okhttp3: 1.10.0' -> 'com.squareup.okhttp3: okhttp: 3.10.0' зависимый путь 'testrepo2: Детокс: не определено' -> «com.facebook.react: реагирующего родной: 0.57.8' -> 'com.squareup.okhttp3: okhttp-URLConnection: 3.11.0' -> 'com.squareup.okhttp3: okhttp: 3.11.0'> не удалось разрешить com.squareup.okio: Окио: 1.14.0. Требуется: проект: Детокс> com.facebook.react: реагировать родной: 0.57.8 проект: Детокс> com.squareup.okhttp3: okhttp: 3.11.0> Не может найти версию 'com.squareup.okio: Окио' что удовлетворяет версии ограничений: Окио»строго„1.9.0“из-за следующей причине: minReactNative44DebugRuntimeClasspath использует версию 1.9.0> Не удалось разрешить com.squareup.okhttp3: okhttp: 3.10.0. Требуется: проект: Детокс> com.facebook.react: реагировать родной: 0.57.8> com.facebook.fresco: imagepipeline-okhttp3: 1.10.0> Не могу найти версию 'com.squareup.okhttp3: okhttp' что удовлетворяет версии ограничения: зависимый путь 'testrepo2: Детокс: не определено' -> 'com.squareup.okhttp3: okhttp: 3.4.1' Constraint путь 'testrepo2: Детокс: не определено' -> «com.squareup.okhttp3: okhttp «строго„3.4.1“, так как по следующей причине: minReactNative44DebugRuntimeClasspath использует версию 3.4.1 зависимый путь„testrepo2: Детокс: не определено“->» com.squareup.okhttp3:
lokendra rawat
1

голосов
1

ответ
86

Просмотры

Детокс: Детокс Android построить не удается для среагировать родной-видео

когда я пытаюсь построить с детоксом для андроидов это дает мне следующее Execution ошибки Сбою задачу »: реагировать-родное-видео: transformClassesWithDexBuilderForDebugAndroidTest. com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Не удалось обработать /Users/vagrant/.gradle/caches/transforms-1/files -1,1 / exoplayer-тире-2.9.1.aar / 8042bfda08c1c39f6e6858fcbfc8c656 / банки / classes.jar Мы решили эту проблему путем добавления опции компиляции в среагировать нативным-видео / Android / build.gradle как compileOptions {targetCompatibility 1,8 sourceCompatibility 1,8} Теперь проблема в том, что каждый раз, когда я пытаюсь установить узел модулей он должен быть добавлен еще раз, а также его отказ от CI можем ли мы сделать что-то для этого, или кто-то может помочь решить эту проблему
Yogesh Thanvi
1

голосов
0

ответ
23

Просмотры

Реагировать Native Detox насмешливые файлы

Пожалуйста, может кто-нибудь сказать мне, как файлы макет для реагировать родные тесты детокс? Я после этой статьи я использую реагировать родную версию 0.57.7 и детокс 9.1.2 я создал р-н-cli.config.js в корневом каталоге константных defaultSourceExts = требуюсь ( «Метро-Config / SRC / по умолчанию / по умолчанию»). SourceExts module.exports = {распознаватель: {sourceExts: process.env.RN_SRC_EXT? process.env.RN_SRC_EXT.split ( '') Concat (defaultSourceExts): defaultSourceExts}};. Я создал фиктивные файлы прямо рядом производственные файлы с расширением э2э затем я запустить Metro с помощью команды (я использую окно powershel 6) $ ENV: RN_SRC_EXT = «e2e.ts», реагируют родной старт реагирует родной пробег-андроид и НИЧЕГО, буквально ничего не изменилось / высмеивал Я также попытался построить и запустить детокс кд андроида, $ ENV: ENVFILE = «../ конфигурации / по умолчанию / окр»; Gradle assembleDebug assembleAndroidTest -DtestBuildType = отладки; кд .. тест детокс -c android.emu.debug.win, но и ничего не случилось, я удалил все node_modules, Android папки сборки, но никакого эффекта. Я что-то пропустил ?
Peter Zosiak
1

голосов
0

ответ
27

Просмотры

ReactNative андроида Ошибка: Тайм-аут 120000ms превышен

Я получаю сообщение об ошибке в ReactNative андроида при тестировании с Детоксом. Ошибка,: сделаны () «называется, если возвращающая обещание, убедитесь, что он решает.„“Ошибка Тайм-аут 120000ms превышен асинхронные испытания и крючки, обеспечивает.» Реагировать-Native: 0.57.7 Испытание Detox отлично работает с прошивкой без каких-либо проблем, но получить тайм-аут во время работы с Android. Не знаю, где я должен проверить об этом. node_modules / .bin / мокко e2e --opts e2e / mocha.opts --configuration android.emu.debug --loglevel многословным --grep: ИОС: --invert --artifacts-место «артефакты / android.emu.debug. 2019-04-10 10-27-45Z»Детокс [30977] INFO: [DetoxServer.js] слушающий сервер на локальной: 51629 ... детокс [30977] DEBUG: [AsyncWebSocket.js / WEBSOCKET_OPEN] открыл веб-сокет: WS : // локальный: 51629 детокс [30977] DEBUG: [DetoxServer.js / LOGIN] роль = тестер, * = \ "" Детокс [30977] DEBUG: [exec.js / EXEC_CMD, # 5] /Users/iphone/Library/Android/sdk/build-tools/28.0.3/aapt свалка метящий «/ Users / iphone / Desktop /extra/reactnativegettingstarted/android/app/build/outputs/apk/debug/app-debug.apk»| Grep -e "пакет: имя =" Детокс [30977] DEBUG: [exec.js / EXEC_CMD, # 6] / Users / iphone / Library / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 оболочка «список вечера пакеты com.plugindemoapp»детокс [30977] DEBUG: [exec.js / EXEC_CMD, # 7] / Users / iphone / Library / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 деинсталлировать com.plugindemoapp детокс [30977] DEBUG: [exec.js / EXEC_CMD, # 8] / Users / iphone / Library / Android / SDK / платформенные инструменты / АDB -s эмулятора-5554 оболочка "список вечера пакеты com.plugindemoapp.test" детокс [30977] DEBUG: [exec.js / EXEC_CMD, # 13] [PID = 30994] / Users / iphone / Library / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 оболочки утра инструмент -w -r «-e detoxServer WS: // локальный: 51629 -e detoxSessionId c4ef8798-0ec8-3517-0a6f-56bb03181111" -e отлаживать ложь com.plugindemoapp.test / android.support.test.runner.AndroidJUnitRunner детокс [30977] DEBUG: [exec.js / EXEC_CMD, # 14] / Users / iphone / Библиотека / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 оболочка "п.с. | Grep \" ком \ .plugindemoapp $ \ "" Детокс [30977] DEBUG: [exec.js / EXEC_FAIL, # 14] «/ Пользователи / iphone / Library / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 оболочка «пс | Grep \ "ком \ .plugindemoapp $ \" "" не удалось с кодом = 1, стандартный вывод и стандартный поток ошибок: детокс [30977] DEBUG: [exec.js / EXEC_FAIL, # 14] детокс [30977] DEBUG: [exec.js / EXEC_FAIL , # 14] [детокс 30977] DEBUG: [exec.js / EXEC_CMD, # 15] / Users / iphone / Library / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 оболочка "п.с. | Grep \" ком \ .plugindemoapp $ \ "" Детокс [30977] DEBUG: [exec.js / EXEC_FAIL, # 15] "/ Users / iphone / Library / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 оболочка" пс | Grep \ "ком \ .plugindemoapp $ \" "" не удалось с кодом = 1, стандартный вывод и стандартный поток ошибок: детокс [30977] DEBUG: [exec.js / EXEC_FAIL, # 15] детокс [30977] DEBUG: [exec.js / EXEC_FAIL , # 15] детокс [30977] DEBUG: [exec.js / EXEC_CMD, # 16] / Users / iphone / Library / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 оболочка "п.с. | Grep \" ком \ .plugindemoapp $ \ "" детокс [30977] DEBUG: [DetoxServer.js / CANNOT_FORWARD] роль = испытуемый не подключен, не может ФВ действие (SESSIONID = c4ef8798-0ec8-3517-0a6f-56bb03181111) детокс [30977] DEBUG: [Отв. JS / УБИТЬ] отправки SIGINT на [PID = 30994]: / Users / iphone / Library / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 оболочки утра инструмент -w -r -e detoxServer WS: // локальный: 51629 -e detoxSessionId c4ef8798-0ec8-3517-0a6f-56bb03181111 -e отладки ложной com.plugindemoapp.test / android.support.test.runner.AndroidJUnitRunner 1) "прежде чем все" крюк 0 прохождения (2m) 1 неудача 1) "прежде чем все" крюк: Ошибка: Тайм-аут 120000ms превышен. Для асинхронных испытаний и крючков, обеспечивают «Done ()» называется; если возвращающая обещание, убедитесь, что он решает. 0 прохождения (2m) 1 неудовлетворительные 1) "прежде чем все" крюк: Ошибка: Тайм-аут 120000ms превышен. Для асинхронных испытаний и крючков, обеспечивают «Done ()» называется; если возвращающая обещание, убедитесь, что он решает. детокс [30977] ОТЛАДКА: [DetoxServer.js / ОТКЛЮЧИТЬ] Роль = тестер, SESSIONID = c4ef8798-0ec8-3517-0a6f-56bb03181111 child_process.js: 656 бросок эээ; ^ Ошибка: Не удалось выполнить команду: node_modules / .bin / мокко e2e --opts e2e / mocha.opts --configuration android.emu.debug --loglevel многословным --grep: ИОС: --invert --artifacts-место «артефакты / android.emu.debug.2019-04-10 10-27-45Z»в checkExecSyncError (child_process.js: 616: 11) в Object.execSync (child_process.js: 653: 13) в runMocha (/ Users / iphone / Desktop /extra/reactnativegettingstarted/node_modules/detox/local-cli/detox-test.js:143:6) при беге (/Users/iphone/Desktop/extra/reactnativegettingstarted/node_modules/detox/local-cli/detox-test.js : 85: 7) на объекте. (/Users/iphone/Desktop/extra/reactnativegettingstarted/node_modules/detox/local-cli/detox-test.js:233:1) при Module._compile (внутренних / модулей / CJS / loader.js: 689:
Aqib Mirza
0

голосов
0

ответ
4

Просмотры

Как издеваются метод модуля во время тестирования детокс?

Я пытаюсь макет модуля во время тестирования э2э детокс: beforeEach (асинхронный () => {функция mockFunctions () {сопзЬ оригинального = require.requireActual ( 'реагирует-родное-устройство-инфо'), возвращение {... оригинал, getDeviceCountry: jest.fn (() => {возвращение 'DE'})}} ждут jest.mock ( 'реагируют-родное-устройство-инфо', () => mockFunctions)}) Это не работает, поэтому я интересно, если это вообще возможно?
Kenny Meyer
1

голосов
2

ответ
541

Просмотры

Кнопка крана, только если существует: детокс

В моем тесте, я хотел бы, чтобы имитировать кран в кнопке «cancelUpgrade» только тогда, когда отображаются его: он ( «должен быть в главном меню», асинхра () => {ждет Waitfor (элемент (by.id ( 'cancelUpgrade '))) .toBeVisible () .withTimeout (2000); ожидают элемент (by.id (' cancelUpgrade ')) нажмите ();.}); Она возвращает ожидаемую ошибку об ошибке: Не удается найти элемент пользовательского интерфейса. https://github.com/wix/detox
Paul
1

голосов
2

ответ
224

Просмотры

iOS: Earlgrey/Detox error after running the same test twice

Running the same test twice fails the second time. Steps to Reproduce: This test passes: describe('Login', () => { beforeEach(async () => { await device.reloadReactNative(); }); it('should not login', async () => { await waitFor(element(by.id('welcome'))) .toBeVisible() .withTimeout(5000); await element(by.id('EmailField')).clearText(); await element(by.id('EmailField')).typeText('wronggmail.com'); await element(by.id('PasswordField')).clearText(); await element(by.id('PasswordField')).typeText('wrongpass'); await element(by.id('LoginButton')).tap(); await waitFor(element(by.id('Home'))) .toBeNotVisible() .withTimeout(10000); }); }); This fails: describe('Login', () => { beforeEach(async () => { await device.reloadReactNative(); }); it('should not login', async () => { await waitFor(element(by.id('welcome'))) .toBeVisible() .withTimeout(5000); await element(by.id('EmailField')).typeText('wronggmail.com'); await element(by.id('PasswordField')).typeText('wrongpass'); await element(by.id('LoginButton')).tap(); await waitFor(element(by.id('Home'))) .toBeNotVisible() .withTimeout(10000); }); it('should not login', async () => { await waitFor(element(by.id('welcome'))) .toBeVisible() .withTimeout(5000); await element(by.id('EmailField')).typeText('wronggmail.com'); await element(by.id('PasswordField')).typeText('wrongpass'); await element(by.id('LoginButton')).tap(); await waitFor(element(by.id('Home'))) .toBeNotVisible() .withTimeout(10000); }); }); Detox, Node, Device, Xcode and macOS Versions $ yarn list --depth=0 | grep '[email protected]\| [email protected]' ├─ [email protected] ├─ [email protected] $ node --version v8.9.0 $ xcodebuild -version Xcode 9.1 Build version 9B55 $ sw_vers ProductName: Mac OS X ProductVersion: 10.12.6 Device: iPhone 6 iOS 11.1 (simulator) Device and verbose Detox logs $ npm run test-e2e > [email protected] test-e2e /Users/gianfranco/temp/myRN > jest e2e --setupTestFrameworkScriptFile=./e2e/init.js --bail server listening on localhost:51830... : Launching ... 6: The stdout and stderr logs were recreated, you can watch them with: tail -F $HOME/Library/Developer/CoreSimulator/Devices/C8A0B6F9-5751-4C97-8069-0288C7F928B8/data/tmp/detox.last_launch_app_log.{out,err} FAIL e2e/Login.spec.js (15.641s) Login ✓ should not login (7616ms) ✕ should not login (1639ms) ● Login › should not login Error: An action failed. Please refer to the error trace below. Exception with Action: { "Action Name" : "Clear text", "Element Matcher" : "(((respondsToSelector(accessibilityIdentifier) && accessibilityID('EmailField')) && !(kindOfClass('RCTScrollView'))) || (kindOfClass('UIScrollView') && ((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && ancestorThatMatches(((respondsToSelector(accessibilityIdentifier) && accessibilityID('EmailField')) && kindOfClass('RCTScrollView'))))))" } Error Trace: [ { "Description" : "First responder [F] of element [E] does not conform to UITextInput protocol.", "Description Glossary" : { "F" : "", "E" : "" }, "Error Domain" : "com.google.earlgrey.ElementInteractionErrorDomain", "Error Code" : "2", "File Name" : "GREYActions.m", "Function Name" : "+[GREYActions grey_actionForTypeText:atUITextPosition:]_block_invoke", "Line" : "547" } ] at Client._callee8$ (node_modules/detox/lib/client/Client.js:58:19) at tryCatch (node_modules/regenerator-runtime/runtime.js:63:40) at Generator.invoke [as _invoke] (node_modules/regenerator-runtime/runtime.js:337:22) at Generator.prototype.(anonymous function) [as throw] (node_modules/regenerator-runtime/runtime.js:96:21) at step (node_modules/detox/lib/client/Client.js:1:836) at node_modules/detox/lib/client/Client.js:1:1035 at tryCallOne (node_modules/promise/lib/core.js:37:12) at node_modules/promise/lib/core.js:123:15 at flush (node_modules/asap/raw.js:50:29) at _combinedTickCallback (internal/process/next_tick.js:131:7) at process._tickCallback (internal/process/next_tick.js:180:9) Test Suites: 1 failed, 1 total Tests: 1 failed, 1 passed, 2 total Snapshots: 0 total Time: 15.713s Ran all test suites matching /e2e/i. Any ideas on what could be the issue?
Gianfranco P.
1

голосов
1

ответ
223

Просмотры

Реагировать родной на Android - не может скомпилировать приложение

Я выполнил все инструкции для установки Android, но когда я пытаюсь скомпилировать он жалуется, что не может найти модули, необходимые в DetoxTest.java /Work/mine/detoxJestRn/android/app/src/main/java/com/detoxjestrn/DetoxTest.java : 3: ошибка: пакет android.support.test.filters не существует импорт android.support.test.filters.LargeTest; ^ /Work/mine/detoxJestRn/android/app/src/main/java/com/detoxjestrn/DetoxTest.java:4: ошибка: пакет android.support.test.rule не существует импорт android.support.test.rule. ActivityTestRule; ^ `
Dan
1

голосов
2

ответ
1.1k

Просмотры

Поиск вкладок пункт TabNavigator с детокс в React Native

Я использую среагировать-навигацию в моем Реагировать Native проекта, который я устанавливаю до автоматизированного тестирования для использования Detox. К сожалению, я не вижу ничего в документации о том, как сказать, детокс, чтобы найти (а затем, конечно кран) вкладку лепестка Navigator. Я попробовал, глядя через компонент дерева с использованием реагирующих-DevTools, но не мог понять, какой элемент представлял саму кнопку табуляции. . Я также пытался найти элемент по его текст следующим образом: ждать элемент (by.text ( «My Tab Button»)) нажмите (); но через ошибку «Не удается найти элемент пользовательского интерфейса». Спасибо за любую помощь, кто может предложить.
evanmcd
1

голосов
2

ответ
75

Просмотры

Detox частично видна кнопка ведет себя по-разному, используя toBeVisible () ожидания и нажмите () действия

У меня есть экран с ScrollView и кнопка, которая находится в самом низу и является частично видимым, то есть верхняя часть кнопка на экране, но название не отображается, если я не прокручивать вниз: ожидать (элемент (по. идентификатор (BUTTON_IN_THE_BOTTOM))). toBeVisible () => сличитель терпит неудачу. элемент (by.id (BUTTON_IN_THE_BOTTOM)). нажмите () => все хорошо, кнопка прослушиваются. Это, как представляется, несогласованность, и я думаю, что было бы, что рамки должны быть последовательными в таких поведений. Это ожидаемое поведение? использует детокс 7.3.2
Eimantas Tučas
1

голосов
1

ответ
267

Просмотры

Detox(Android): device.reloadReactNative fails

Scenario I am trying to test an android app for a react-native project using detox. When running the app on a device or a simulator outside of detox, everything works. After generating the detox build, when I run the detox test command, the app is successfully installed and opened on the simulator. When device.reloadReactNative is called via beforeEach within the tests, the app crashes with the error described below. I put the test file and the corresponding verbose adb logcat output in a gist here. For whatever reason the AppRegistry.js is not being loaded, otherwise the module should be known (see Error). To wrap it up: build and app execution work outside detox (ios+android) detox build works (ios+android) detox tests work on ios when running the detox tests on android, the AppRegistry is missing after reloadReactNative is called. Why? Env react-native-cli: 1.3.0 react-native: 0.55.3 react-native-navigation: 1.1.457 detox-server: 7.0.0 detox: 7.3.7 OSX: 10.13.4 XCode: 9.2 Command detox test --configuration android.emu.release --cleanup -l verbose Error INSTRUMENTATION_RESULT: longMsg=com.facebook.react.common.JavascriptException: Module AppRegistry is not a registered callable module (calling runApplication) Thrown here because AppRegistry has not been registered to the MessageQueue's module list.
shrink0r
1

голосов
1

ответ
71

Просмотры

Использование firebase электронной почты ссылку для входа E2e тестов?

Я наткнулся на следующий вопрос сегодня, делая автоматизированные тесты E2e на CI. Мое приложение использует 3 firebase методы регистрации: ссылку по электронной почте, firebase и Google. Во время E2e тестов я изначально думал, что я буду использовать ссылку по электронной почте войти, но это невозможно, так как приложение должно выйти в клиент электронной почты и нажмите на такой ссылку, так что теперь я заблокирован. Я исследовал документацию, чтобы увидеть, есть ли e2e совет тестирования по этому вопросу, но не смог найти решение. Есть ли общее решение этой проблемы обеспечивается firebase? Или это единственный способ здесь, чтобы использовать адрес электронной + пароль авторизацию?
Ilja
1

голосов
1

ответ
0

Просмотры

Как добавить негативные утверждения как not.toHaveText в Detox?

Мне нужно установить отрицание для некоторых текстового контента и попытался код ниже, но, как это не указано в документации, я ожидал, что он не в состоянии, и он уверен, сделал, так что я хотел бы знать, как я мог достигнуть отрицание в этом случае. ждут ожидать (элемент (by.id ( 'myElemId'))). not.toHaveText ( 'некоторый текст')
Rainyer Santiago
1

голосов
1

ответ
38

Просмотры

Как закрыть SKStoreReview с Detox

Я пытаюсь найти решение, чтобы закрыть всплывающее окно SKStoreReview с Detox. Это только для прошивки для рейтинга приложения. Он получает открыт среагировать-носителем скорости, но я не могу найти способ, чтобы закрыть его. Я хотел сделать что-то вроде этого: ждать элемент (by.id ( 'экран')) tapAtPoint ({х: 200, Y: 100}). Но это не является частью какого-либо элемента. Есть ли у вас предложения?
alexmngn
1

голосов
1

ответ
343

Просмотры

Detox: IOS Simulator, как нажать Далее на клавиатуре

После ввода пользователя адреса электронной почты, я хочу Detox, чтобы перейти к полю пароля, нажав Далее. Я пытался найти поле пароля, идентификатор элемента и вызов .TAP () для фокусировки, но клавиатура частично загораживает поле пароля и не проходят 75% критерии видимости. Трассировка Ошибка: [{ "Описание": "Утверждение с согласовани [M] не удалось: пользовательский интерфейс элемента [E] не соответствовала следующей Matcher (ы): [S]", "Описание Глоссарий": { "М": «matcherForSufficientlyVisible (> = 0,750000) " "Е": "", "S": "matcherForSufficientlyVisible (> = 0,750000)"}, "Ошибка домена": "com.google.earlgrey.ElementInteractionErrorDomain", "Код ошибки":" 3 ", "Имя файла" : "
Antoni4
1

голосов
1

ответ
213

Просмотры

Is it actually possible to make Detox/Jest tests pass with a React Native app running with Expo?

I'm attempting to create an automated UI test suite for my React Native app with Expo. I have looked everywhere for good tutorials but when I get to the actual test writing portion, my tests never even run because of environment issues such as "Unexpected Identifier/Token" on import Icon from... or other stupid issues that I cannot find any tutorials on how to fix them. I literally have spent a week trying to resolve these issues. I am new to React Native and new to Jest/Detox/Expo Here's my package.json { "main": "node_modules/expo/AppEntry.js", "scripts": { "start": "expo start", "android": "expo start --android", "ios": "expo start --ios", "test": "node_modules/.bin/jest test/**/*.spec.js", "eject": "expo eject" }, "jest": { "verbose": true, "preset": "jest-expo" }, "dependencies": { "apsl-react-native-button": "^3.1.1", "react": "16.5.0", "react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz", "react-native-camera": "git+https://[email protected]/react-native-community/react-native-camera.git", "react-native-camera-roll-picker": "^1.2.3", "react-native-elements": "^1.0.0", "react-native-fontawesome": "^6.0.1", "react-native-is-iphonex": "^1.0.1", "react-native-vector-icons": "^6.2.0", "react-navigation": "^3.1.5" }, "devDependencies": { "babel-preset-expo": "^5.0.0", "bunyan-debug-stream": "^2.0.0", "detox": "^10.0.9", "detox-expo-helpers": "^0.6.0", "expo-detox-hook": "^1.0.10", "jest-expo": "^32.0.0", "react-native-testing-library": "^1.5.0", "react-test-renderer": "^16.8.2", "babel-jest": "^24.1.0", "enzyme": "^3.9.0", "@babel/core": "^7.3.3", "@expo/vector-icons": "^9.0.0", "expo": "^32.0.0", "jest": "^24.1.0" }, "private": true, "detox": { "test-runner": "jest", "configurations": { "ios.sim": { "binaryPath": "bin/Exponent.app", "type": "ios.simulator", "name": "iPhone X" } } } } Here are the errors I'm getting ip-10-101-32-118:KitchenProject bob.dole$ detox test --loglevel trace configuration="ios.sim" loglevel="trace" artifactsLocation="artifacts/ios.sim.2019-02-21 21-54-14Z" node_modules/.bin/jest "e2e" --config=e2e/config.json --maxWorkers=1 '--testNamePattern=^((?!:android:).)*$' ● Deprecation Warning: Option "setupTestFrameworkScriptFile" was replaced by configuration "setupFilesAfterEnv", which supports multiple paths. Please update your configuration. Configuration Documentation: https://jestjs.io/docs/configuration.html FAIL e2e/RoomLayout.spec.js ● Test suite failed to run /Users/bob.dole/KitchenDetail/KitchenProject/node_modules/@expo/vector-icons/FontAwesome.js:1 ({"Object.":function(module,exports,require,__dirname,__filename,global,jest){import glyphMap from './vendor/react-native-vector-icons/glyphmaps/FontAwesome.json'; ^^^^^^^^ SyntaxError: Unexpected identifier > 1 | import FontAwesomeI from 'react-native-vector-icons/FontAwesome' | ^ 2 | import React from 'react' 3 | 4 | export const FontAwesome = props => ( at ScriptTransformer._transformAndBuildScript (../node_modules/jest/node_modules/jest-runtime/build/ScriptTransformer.js:440:17) at Object. (../Components/icons.js:1:1) FAIL e2e/tests/components/RoomLayoutDetox.spec.js ● Test suite failed to run /Users/bob.dole/KitchenDetail/KitchenProject/node_modules/@expo/vector-icons/FontAwesome.js:1 ({"Object.":function(module,exports,require,__dirname,__filename,global,jest){import glyphMap from './vendor/react-native-vector-icons/glyphmaps/FontAwesome.json'; ^^^^^^^^ SyntaxError: Unexpected identifier > 1 | import FontAwesomeI from 'react-native-vector-icons/FontAwesome' | ^ 2 | import React from 'react' 3 | 4 | export const FontAwesome = props => ( at ScriptTransformer._transformAndBuildScript (../node_modules/jest/node_modules/jest-runtime/build/ScriptTransformer.js:440:17) at Object. (../Components/icons.js:1:1) Test Suites: 2 failed, 2 total Tests: 0 total Snapshots: 0 total Time: 0.827s Ran all test suites matching /e2e/i with tests matching "^((?!:android:).)*$". child_process.js:677 throw err; ^ Error: Command failed: node_modules/.bin/jest "e2e" --config=e2e/config.json --maxWorkers=1 '--testNamePattern=^((?!:android:).)*$' at checkExecSyncError (child_process.js:637:11) at Object.execSync (child_process.js:674:13) at runJest (/Users/bob.dole/KitchenDetail/KitchenProject/node_modules/detox/local-cli/detox-test.js:166:6) at run (/Users/bob.dole/KitchenDetail/KitchenProject/node_modules/detox/local-cli/detox-test.js:86:7) at Object. (/Users/bob.dole/KitchenDetail/KitchenProject/node_modules/detox/local-cli/detox-test.js:229:1) at Module._compile (internal/modules/cjs/loader.js:738:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:749:10) at Module.load (internal/modules/cjs/loader.js:630:32) at tryModuleLoad (internal/modules/cjs/loader.js:570:12) at Function.Module._load (internal/modules/cjs/loader.js:562:3) Here's my component file RoomLayout.js import React, { Component } from 'react'; import { StyleSheet, View, Text, Button } from 'react-native'; import { LayoutButtons } from './LayoutButtons'; import { CameraLauncher } from './CameraLauncher'; import { CommentsLauncher } from './CommentsLauncher'; export class RoomLayout extends Component { render() { return ( Room Layout{"\n"} Take photos from opposite corners of the room{"\n"} ); } } const styles = StyleSheet.create({ view: { marginTop: 80, textAlign: 'center', alignItems: 'center', justifyContent: 'center' }, infoText: { marginTop: -10, fontWeight: 'normal', textAlign: 'center', fontSize: 12, justifyContent: 'center', alignSelf: 'center', color: 'grey' }, room: { marginTop: 15, fontWeight: 'bold', textAlign: 'center', lineHeight: 14, fontSize: 15 } }); Here's my RoomLayout.spec.js file import React from 'react'; // import { RoomLayout } from '../Components/RoomLayout'; import { render } from 'react-native-testing-library'; describe('RoomLayout', () => { // *** EDIT - I have removed this code *** // beforeEach(async () => { // const tree = render(); // // }); test('should have header and info text', async () => { await element(by.text('Room Layout')); await element(by.id('infoText')); await element(by.id('infoText').and(by.text(' Take photos from opposite corners of the room'))); await expect(element(by.id('layoutButtonsReference'))).toBeVisible(); }); });
Chase Small
0

голосов
0

ответ
4

Просмотры

Detox поле CFBundleIdentifier не найден внутри Info.plist

После Expo руководство по использованию для детоксикации и получаю ошибку ниже при выполнении теста детокс. Использование: "Детокс": "^ 10.0.10", "Детокс-экспо-хелперы": "^ 0.6.0", "экспо-детокс-крючок": "^ 1.0.10" IPA сделано с: Xcode против 9.4. 1 экспо v 31.0.6 Ошибка: Ошибка: CFBundleIdentifier поле не найден в Info.plist АРР двоичном на /Users/admin/Desktop/expo-test/bin/gogonow.app в SimulatorDriver.getBundleIdFromBinary (/ Users / администратор / Desktop / экспо-тест / node_modules / детоксикация / SRC / устройство / драйвера / SimulatorDriver.js: 70: 13)
Anh Vo
0

голосов
0

ответ
2

Просмотры

Как тестировать компоненты третьей сторонней библиотеки с Detox в React-Native?

У меня есть пример кода компонента: импорт {Button} из 'реагирующих-носителями элементов' ... ... рендеринга () {возвращение ()} Пример тестового файла: ждать элемента (by.id ( 'testButton')). нажмите () Для нормальной кнопки тесты работает отлично. Для кнопки третьей стороны, я только с помощью реагирующих-родной-элементы, тест не удается, и показывает: Ошибка: Ошибка выполнения «одним нажатием кнопки» на представлении «(со значением тега: это„testButton“и вид имеет эффективную видимость = VISIBLE) ». Я попытался соответствие с текстом кнопки, и это также не удалось, и показал (Добавить продукт, являющуюся кнопки титр / текст): Ошибка: Ошибка выполнения «одним нажатием кнопки» на просмотр «(с текстом: это„Добавить продукт“и вид имеет эффективный видимость = VISIBLE). Так как родные кнопки проезжают Я понимаю, что-то должно быть сделано по-разному для компонентов сторонних производителей. У меня есть свои собственные компоненты и я регулировал те, посылая TestID глубоко вниз к реагировать-нативные компоненты и их работу. Я не могу понять, как решить этот случай с компонентами сторонних производителей. Я бегу это на Android
ShocKwav3_
1

голосов
1

ответ
401

Просмотры

Шутя испытания сломанных после внедрения детокса

Я хотел бы иметь возможность запускать мои детоксы тесты и мои модульные тесты шутя отдельно. Например, запустить детокс тесты с детокс сборки тест детокс &&, и мои тесты блок шутя с испытанием НПМ. После реализации детоксикации (с использованием мокко в качестве теста бегуна), бег результаты испытаний НПХ в немедленной ошибке, и выглядит как его пытается запустить мои детоксы тесты (не то, что я ожидал бы)! Вот первая ошибка я получаю. FAIL E2e / auth.spec.js Не уверен, почему его пытаются запустить детокс тесты, когда мой package.json указывает тестовый скрипт для шутя. «скрипты»: { «старт»: «узловые node_modules / реагировать родной / местного кли / cli.js старт», «тест»: «шутя»} Как я теперь запускать мои шутя тесты?
Mark Newton
0

голосов
0

ответ
3

Просмотры

Создание регрессия & Smoke Test Suite в React Native С Detox / Шутки

Я искал StackOverflow поток и не могу найти ответ. Я работаю над проектом автоматизации с использованием реагировать родной с Шутки и Detox. Я не новичок в автоматизации, но я новичок реагировать родной. То, что я пытаюсь сделать выяснить, могу ли я запускать группу спецификаций в детокс? Или запустить функции в качестве набора или создать профиль в детокс и назначить набор тестов для него? Является ли это вообще возможно? Если это так, что команда будет я использую
fypnlp
2

голосов
0

ответ
122

Просмотры

Нет приборы бегуна найти на устройство эмулятор-5556 для пакета my.project.android.debug

Я пытаюсь запустить тест Detox на эмуляторе. Когда я бег «тест детокса --configuration android.emu.debug -l многословный» это метание сообщений об ошибке, как «Нет приборного бегун найденного на устройство эмулятор-5556 для пакета my.project.android.debug в ADB.getInstrumentationRunner (../ node_modules / детокс / SRC / устройства / Android / ADB.js: 219: 54)»Примечание: APK получает установить в эмуляторе, но она не запускается приложение. Детали Версия: Detox: v8.0.0 узел: v8.11.3 НПМ: 5.6.0 реагируют родной-кли: 2.0.1 реагируют родной: 0.53.3 Просто обновить более, когда я бегу ADB оболочки список вечера приборов я не мог найти мое приложение приборов. Тем не менее, приложение уже установлено в эмуляторе.
Neerajkumar
1

голосов
2

ответ
213

Просмотры

Как я могу CONTROLE React-Native WebView в Detox?

Я не могу найти способ управления React-Native WebView в https://github.com/wix/detox. и Существует еще один вопрос, Вы знаете, как нажать кнопку Назад в React-Navigatoin? Если вы дадите правильный ответ, вы хороший парень.
muhanryeon
4

голосов
1

ответ
293

Просмотры

Реагировать Native заканчивается в тайм-аут на заставке во время теста детокс

Описание У меня есть проблемы с тайм-аутом, и я не знаю, почему. Он просит разрешения и затем установить разрешение (возможно). В этот момент приложение выглядит загружается, но после этого появится черный экран с блесной на мгновение, а затем всплеск экрана. В этот момент приложение застрял. Я нашел несколько вопросов о тайм-аут, но я попробовал много писал там, но ничего не получалось. Мой коллега попытался запустить Detox на одном проект с теми же версиями пакетов, и это было без problem.Hhe имели те же версии React Native, XCode, Node, мокко и Detox. То, что я пробовал: Несколько версий Node: 8.1.3, 8.9.1 и 9.1.0 Переустановка узла Удаление и установка node_modules снова (нить / НМП) Изменение Detox версии: 5.9.4 и 5.8.1 Изменение мокко версии: 4.0.1 и 3.5.2 Удаление и установка приложения в ИО XCode обновления тренажер (9.0.1 -> 9.1) Воссоздать детокс строит, $ HOME / Library / Developer / CoreSimulator / Devices / 2EE82BFA-2351-4627-937C-B93904827F29 / данные / TMP / detox.last_launch_app_log.err && SIMCTL_CHILD_DYLD_INSERT_LIBRARIES = "/ Users / janvaclavik / Библиотека / Detox / ИОС / dcbded2050005ff99b0bffc826182a2fb35fa7a4 / Detox.framework / Detox»/ USR / бен / xcrun simctl запуска --stdout = / TMP / detox.last_launch_app_log.out --stderr = / TMP / detox.last_launch_app_log.err 2EE82BFA-2351-4627-937C-B93904827F29 com.creativedock.hoppycar - -args -detoxServer WS: // локальный: 50396 -detoxSessionId c14ee5fe-de13-5f60-b61f-ff487043587b Информация о детокс 6: Запуск com.creativedock.hoppycar ... детокс глагол 6: стандартный вывод: com.creativedock.hoppycar: 28279 детокс глагол 6: стандартный вывод: детокс информация 6: com.creativedock.hoppycar запущен. Журналы STDOUT и STDERR были воссозданы, вы можете смотреть их с: $ HOME / Library / Developer / CoreSimulator / Devices / 2EE82BFA-2351-4627-937C-B93904827F29 / данные / TMP / detox.last_launch_app_log.err && SIMCTL_CHILD_DYLD_INSERT_LIBRARIES = "/ Users / janvaclavik / Библиотека / Detox / ИОС / dcbded2050005ff99b0bffc826182a2fb35fa7a4 / Detox.framework / Detox»/ USR / бен / xcrun simctl запуска --stdout = / TMP / detox.last_launch_app_log.out --stderr = / TMP / detox.last_launch_app_log.err 2EE82BFA-2351-4627-937C-B93904827F29 com.creativedock.hoppycar - -args -detoxServer WS: // локальный: 50396 -detoxSessionId c14ee5fe-de13-5f60-b61f-ff487043587b Информация о детокс 8: Запуск com.creativedock.hoppycar ... детокс глагол 8: стандартный вывод: com.creativedock.hoppycar: 28306 детокс глагол 8: стандартный вывод: детокс информация 8: com.creativedock.hoppycar запущен. Журналы STDOUT и STDERR были воссозданы, вы можете смотреть их с:
Jan Václavík
4

голосов
1

ответ
608

Просмотры

Как использовать шутя globalSetup с Detox

Я хочу использовать globalSetup и globalTeardown из Шутки с Detox так что установка детокс происходит только один раз, но Detox, кажется, не в состоянии, если инициализации не beforeAll. Какие-либо предложения? версия Jest: 22.0.4 Detox Версия: 6.0.4 конфигурации "globalSetup": "./setUpDetox.js", "globalTeardown": "./tearDownDetox.js",
Garima ren
3

голосов
1

ответ
100

Просмотры

Detox, multiple elements were matched for button in transition

Я использую детокс E2E для создания тестов для моей реакции нативного приложения. Короче говоря, у меня есть кнопка внутри функции моего компонента визуализации и что кнопка перехода слева направо. Я дал уникальный идентификатор теста на эту кнопку. Внутри моего теста я жду эту кнопку, чтобы появиться, используя его идентификатор теста. Но когда я запускаю «тест детокс», тест не пройден, и ошибка говорит о том, что несколько элементов были сопоставлены с этой тестовой ид. Код для моего тестового файла: описания ( «Вход поток», () => {// тестовый пример для генерации бумажника он ( «должен генерировать новый бумажник», асинхронном () => {Await ожидать (элемент (by.id ( 'WelcomeScreen'))). toBeVisible () ожидают ожидать (элемент (by.id ( 'WelcomeScreenCreateWalletButton'))). toBeVisible ()})}) и код моей кнопки внутри рендеринга функции является: Inisde моего теста я кнопка с TestID «WelcomeScreenCreateWalletButton» ожидая, чтобы быть видимыми. Если удалить тег перехода от функции визуализации моего компонента, то тест проходит успешно и проходит. Так, видимо, есть какая-то проблема с переходом кнопки. Я читал, что неактивное состояние синхронизации Detox обрабатывает проблемы анимации. Я не знаю, что мне не хватает: /. PS Пожалуйста, попросите больше деталей, если что-то не ясно, на мой вопрос, прежде чем downvoting его. Если удалить тег перехода от функции визуализации моего компонента, то тест проходит успешно и проходит. Так, видимо, есть какая-то проблема с переходом кнопки. Я читал, что неактивное состояние синхронизации Detox обрабатывает проблемы анимации. Я не знаю, что мне не хватает: /. PS Пожалуйста, попросите больше деталей, если что-то не ясно, на мой вопрос, прежде чем downvoting его. Если удалить тег перехода от функции визуализации моего компонента, то тест проходит успешно и проходит. Так, видимо, есть какая-то проблема с переходом кнопки. Я читал, что неактивное состояние синхронизации Detox обрабатывает проблемы анимации. Я не знаю, что мне не хватает: /. PS Пожалуйста, попросите больше деталей, если что-то не ясно, на мой вопрос, прежде чем downvoting его.
Meeran Tariq
2

голосов
2

ответ
779

Просмотры

Detox _ Не удалось напечатать строку, потому что клавиатура не отображается на экране

Я пытаюсь проверить мой среагировать родное приложение с помощью детокса, ожидая ввод текста, чтобы быть видимыми и вводом текста в нем. Мой файл спецификации JS выглядит следующим образом: описать ( 'FiestTest', () => {beforeEach (асинхронная () => {ждут device.reloadReactNative ()}) он ( 'Войти в тестовой учетной записи', асинхронная () => {// LoginPage: ввод номера телефона перехода на следующую страницу ожидают ожидать (элемент (by.id ( 'LoginPage-phoneInput'))) toBeVisible () ждут элемента (by.id ( 'LoginPage-phoneInput')) TypeText (.. «»)})}) и ошибка я получаю: FiestTest 1) Введите номер телефона и нажмите на кнопку 0, проходящие (15s) 1 неудачу 1) FiestTest Введите телефонный номер и нажмите на кнопку: ошибка: Не удалось выполнить действие. Пожалуйста, обратитесь к трассировке ошибки ниже. Исключение с действиями: { «Имя Действия»: «Тип„6219“ 0 реагирует-нативное всплывающее меню 0.7.3 0.7.5 0.8.0 реагируют родной-маршрутизатор поток 3.39.1 3.41.0 4.0.0-beta.16 реагирует родной-часовую 0.12.9 0.12.12 0,15. 1 реагируют родной смарт-заставка 2.3.3 2.3.4 2.3.4 реагирует тест-рендерер 15.4.2 15.4.2 15.6.1 перевождь 3.6.0 3.7.2 3.7.2 перевождь-4.6.0 4.8 сохраняется 0,3 4.8.3 А это мой podfile: # раскомментировать эту строку, чтобы определить глобальную платформу для вашего проекта # платформы: ИОС, «9,0» целевой «» сделать # раскомментировать эту строку, если вы используете Swift или хотели бы использовать динамические рамки # use_frameworks! # Бобы для стручка ' Firebase 'стручок '' стручок 'Firebase / Core Firebase / Аналитика' стручок 'Firebase / сообщениями' стручок 'Yoga': путь =>' «стручок '../node_modules/react-native/ReactCommon/yoga Реагируйте,: путь => '../node_modules/react-native': subspecs => [ 'RCTText', 'RCTImage', 'RCTNetwork', 'RCTWebSocket'] #target '-tvOSTests' делать # Наследовать! : Search_paths # Бобы для тестирования #End #target 'Испытания' делать # Наследовать! : Search_paths # Бобы для тестирования конечного #end #target «-tvOS» сделать # раскомментировать эту строку, если вы используете Swift или хотели бы использовать динамические фреймворки # use_frameworks! # Бобы для -tvOS # цели '-tvOSTests' делать # Наследовать! : search_paths # Бобы для тестирования # конца #End сейчас я просто с помощью команды сна, как сильфон, чтобы дать мне время, чтобы вручную вставить строку. Тем не менее, это не должно быть постоянным решением ... функция сон (мс) {возвращают новый Promise (разрешать => SetTimeout (решимость мс))} ждут сна (миллисекунды) // то, что должно произойти после того, как я вручную ввести код Я также заметил в вопросе Detox на GitHub, но было интересно, если кто имеет такой же опыт и нашел решение здесь. Спасибо за помощь заранее! мс))} ждут сна (миллисекунды) // то, что должно произойти после того, как я вручную ввести код я также прокомментировал в вопросе Detox на GitHub, но было интересно, если кто имеет такой же опыт и нашел решение здесь. Спасибо за помощь заранее! мс))} ждут сна (миллисекунды) // то, что должно произойти после того, как я вручную ввести код я также прокомментировал в вопросе Detox на GitHub, но было интересно, если кто имеет такой же опыт и нашел решение здесь. Спасибо за помощь заранее!
mhyousefi
2

голосов
1

ответ
107

Просмотры

Как контролировать предупреждение использования детоксикацию в прошивке?

Я попытался с помощью следующих нажать на кнопку OK, но она не работает. жду элемент (by.text ( 'Hello')). нажмите (); https://github.com/wix/detox/blob/master/docs/ Существует примечание, но это, кажется, не о том, как контролировать всплывающее окно системы. Если вы знаете, пожалуйста, дайте мне знать.
muhanryeon
3

голосов
1

ответ
1.1k

Просмотры

Detox: IOS Simulator как подтвердить предупредительное сообщение

Я использую оповещение от реакции родной. Как получить детокс нажать кнопку «Выйти» на уведомления о сообщении? Я попытался с помощью элемента дождаться (by.text ( «Выйти»)) нажмите (). Но я получаю «Несколько элементов были согласованы» ошибка. Предположительно он находит 3 элементов с одинаковыми метками. Оригинальный кнопка с надписью «Выйти» используется для запуска предупреждающего сообщения, заголовка сообщения оповещения и кнопки сообщения предупреждения я хочу детокс для печати. Трассировка ошибки: «были подобраны несколько элементов:: [{«Описание»(„“,„“,„“) Пожалуйста, используйте выбор matchers, чтобы сузить выбор до одного элемента», «Ошибка домена..»: «Com.google .earlgrey.ElementInteractionErrorDomain " "Код ошибки": "5", "Имя файла":"
Antoni4
5

голосов
3

ответ
635

Просмотры

Как сказать Detox работают тесты?

Я использую Detox для запуска встык тестов в моем React Native проекте. Я также использую pretender.js издеваться мои запросы API, и я изо всех сил, чтобы найти способ, чтобы знать, если приложение находится в режиме «тестирования». Я проходил переменную ENV вниз (и используя столпотворение-спектрально-рядную среду-переменные), чтобы сказать, если я должен издеваться запросами, но это ломает shim.js в нашей версии релиза. Есть ли способ, чтобы сказать Detox запустила приложение и работают тесты из в JS? В идеале я ищу какое-то набор переменного во время испытаний или что-то передается из командной строки (ИСПЫТАНИЯ = верно реагируют родное начало или __TESTING__)
robdel12
3

голосов
1

ответ
411

Просмотры

запустить реагирующие родной тесты детокс E2e на реальных устройствах

Есть ли способ запустить детокс тесты E2e на реальных устройствах в трубопроводе CI? Моя цель состоит в том, чтобы запустить тесты на AWS устройства фермы или что-то подобное. Я читал, что можно запускать тесты E2e на bitrise Х, но я предполагаю, что они будут выполнены в тренажере IOS, не так ли? Любой намек на высокую оценку.
appsthatmatter
0

голосов
0

ответ
4

Просмотры

Detox не обрабатывает универсальные ссылки

Я пытался получить IOS Универсальные ссылки для работы с Detox использованием device.openURL из https://github.com/wix/Detox/blob/master/docs/APIRef.MockingOpenFromURL.md, но он не работает. Пример того, что я пробовал: он ( 'должен работать', асинхронная () => {ждут device.sendToHome (); ждать device.openURL ({URL: «https://name.page.link/somewhere, sourceApp : 'com.apple.MobileSMS'});}); Он никогда не открывает мое приложение и после тестирования различных вещей, кажется, детокс поддерживает только глубокие ссылки и не универсальные ссылки. Я могу сказать, что при запуске приложения (как на устройстве и тренажере) универсальные ссылки работают нормально, которая заставляет меня верить, что проблема не связана с каким я настроил универсальные ссылки, но с поддержкой детокс для него. В IOS тестирования UI это выполнимо, чтобы проверить универсальные ссылки, перейдя через IMessage приложение (см https: //blog.branch.io/ui-testing-universal-links-in-xcode-9/). Кто-нибудь знает о подобном обходном пути для детоксикации?
jbohman
3

голосов
0

ответ
667

Просмотры

Как издеваются Facebook входа с использованием реакции родной Detox?

Общая проблема на репо Detox, как войти в Facebook в тестах (https://github.com/wix/detox/issues/287). Ответ: «дразнить FB API, чтобы вернуть действительную сессию без фактического процесса входа в систему.» Конечно! Похоже, отличная идея, но ... как? Может кто-то мне точку в правильном направлении? Доки Detox упоминает реагируют-нативную-Repackager (https://github.com/wix/detox/blob/master/docs/Guide.Mocking.md), чтобы можно было бы использовать SomeFile.e2e.js вместо SomeFile.js но я «м невежественны, как издеваются с LIB в node_modules / (реагируют-нативную-fbsdk в данном случае).
David Paulsson
3

голосов
1

ответ
496

Просмотры

Как получить текст из согласованного представления с помощью Detox?

Я хочу, чтобы проверить вид, что имеет список и фильтрации функции: я хочу, чтобы проверить текст первой строки и сохранить его фильтр, используя этот текст Проверьте еще раз, что тот же элемент оказывается Вещь, когда я сопрягать и элемент с использованием элемента ( by.id ( «некоторые-идентификатор»)), как я могу получить информацию из этого элемента (если это возможно), как текст он содержит?
Ferran Negre
3

голосов
1

ответ
1.4k

Просмотры

«ReferenceError: устройство не определено» при использовании детокс + Jest в React Родной андроид

App работает отлично, как в Android и IOS тренажерах. Я пытаюсь настройки Detox с Jest для конца в конец тестирования моего реагировать-родное приложение. В тренажере я не вижу какое-то движение, но приложение не запускается и я получаю следующие ошибки (кроме «устройства не определены» Я также получаю «приложение-отладки androidTest.apk: Нет такого файла или каталога» ошибка, поэтому не уверен, что является основной причиной здесь). Консоль> тест детокс --configuration android.emu.debug node_modules / .bin / шуткой e2e --config = e2e / config.json --runInBand сервер прослушивает локального хоста: 64281 ... (узел: 75639) [DEP0013] DeprecationWarning: Вызов асинхронной функции без обратного вызова не рекомендуется. console.log e2e / firstTest.spec.js: 3 ********** перед каждым называемых console.log e2e / firstTest.spec.js: 9 ************* ** Первый тест FAIL e2e / firstTest.spec.js (123. 358s) Пример ✕ должен быть экран приветствия (120009ms) ● Пример> должен иметь экран приветствия, ChildProcessError: Сбой команды: / Users / ххх / Библиотека / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 установить -r -g / Пользователи / ххх / Проекты / хххххх / Android / приложение / сборки / выходы / APK / приложение-отладки androidTest.apk ADB: не удалось стат / Users / ххх / Проекты / хххххх / Android / приложение / сборки / выходы / APK / приложение -debug-androidTest.apk: Нет такого файла или каталога `/ Users / ххх / Библиотека / Android / SDK / платформенные инструменты / ADB -s эмулятор-5554 установить -r -g / Users / ххх / Проекты / хххххх / Android / приложение / сборки / выходы / APK / приложение-отладки-androidTest.apk` (завершился с кодом ошибки 1) при обратном вызове (../node_modules/child-process-promise/lib/index.js:33:27) ● Пример> должны иметь экран приветствия, ReferenceError: устройство не определено 2 | beforeEach (асинхронный () => {3 | console.log ( '********** перед каждым называется'); > 4 | ждут device.reloadReactNative (); 5 | console.log ( '********** перед каждым концом'); 6 | }); 7 | на Object._callee $ (firstTest.spec.js: 4: 1) при tryCatch (../node_modules/regenerator-runtime/runtime.js:62:40) в Generator.invoke [как _invoke] (../node_modules/ регенератор-среда выполнения / runtime.js: 296: 22) при Generator.prototype (анонимные функции) [как следующий] (../node_modules/regenerator-runtime/runtime.js:114:21) в tryCatch (../node_modules. /regenerator-runtime/runtime.js:62:40) на Invoke (../node_modules/regenerator-runtime/runtime.js:152:20) в ../node_modules/regenerator-runtime/runtime.js:195:11 в callInvokeWithMethodAndArg (../node_modules/regenerator-runtime/runtime.js:194: 16) при AsyncIterator.enqueue (../node_modules/regenerator-runtime/runtime.js:217:13) при AsyncIterator.prototype. (Анонимная функция) [как следующий] (../node_modules/regenerator-runtime/runtime.js : 114: 21) при Object..runtime.async (../node_modules/regenerator-runtime/runtime.js:241:14) при Object._callee (firstTest.spec.js: 2: 57) ● Пример> должны иметь Тайм-аут экрана приветствия - асинхронный обратный вызов не был вызван в то 120000ms тайм-аут определяется jest.setTimeout. на ../node_modules/jest-jasmine2/build/queue_runner.js:72:21 в Timeout.callback [а] _onTimeout (../node_modules/jsdom/lib/jsdom/browser/Window.js:592:19) Тест Suites: 1 не удалось, 1 всего тесты: 1 не удалось, 1 всего снимков: 0 общее время: 123.919s, сметные 241S Бегут все наборы тестов соответствие / E2E / я. child_process.js: 644 броска заблуждается; ^ Ошибка: Не удалось выполнить команду: node_modules / .bin / шуткой э2э --config = э2э / config.json --runInBand на checkExecSyncError (child_process.js: 601: 13) на Object.execSync (child_process.js: 641: 13) в runJest (/Users/xxx/Projects/xxxxxx/node_modules/detox/local-cli/detox-test.js:69:6) на объекте. (/Users/xxx/Projects/xxxxxx/node_modules/detox/local-cli/detox-test.js:42:5) при Module._compile (module.js: 635: 30) при Object.Module._extensions..js (module.js: 646: 10) при Module.Load (module.js: 554: 32) при tryModuleLoad (module.js: 497: 12) при Function.Module._load (module.js: 489: 3) на функцию .Module.runMain (module.js: 676: 10) firstTest.spec.js: описывают ( 'пример', () => {beforeEach (асинхронной () => {console.log ( '******* *** перед каждым называется '), ждут device.reloadReactNative (); console.log (' ********** перед каждым концом '); }); он ( 'должен иметь экран приветствия', асинхр () => {console.log ( '*************** первый тест'); AWAIT ожидать (элемент (by.id (» Добро пожаловать '))) toBeVisible ();. console.log (' *************** первый тест конец ');}); }) package.json "зависимость": { "реагирующая": "16.0.0", "реагируют родной": "0.51.0", ....}, "devDependencies": { "Бабель-шутку": " 22.0.3" , "столпотворение-предустановленный реагирует родной": "4.0.0", "Детокс": "^ 6.0.4", "шутка": "22.0.3", "реагировать-тест-визуализатор": "16.0.0"}, "шутка": { "запрограммированная": "реагирует-родной", "setupTestFrameworkScriptFile":». // Установить тайм-аут по умолчанию jasmine.DEFAULT_TIMEOUT_INTERVAL = 120000; beforeAll (асинхронный () => {ждет detox.init (конфигурация);}); Afterall (асинхронный () => {Await detox.cleanup ();}); Ниже вид при выполнении команды теста // Установить тайм-аут по умолчанию jasmine.DEFAULT_TIMEOUT_INTERVAL = 120000; beforeAll (асинхронный () => {ждет detox.init (конфигурация);}); Afterall (асинхронный () => {Await detox.cleanup ();}); Ниже вид при выполнении команды теста
anu

Просмотр дополнительных вопросов

Связанные вопросы