Я работаю над автоматизацией моего React Native
потока приложений.Я использую React Native
, Detox
, Travis CI
и Fastlane
.Я успешно выпускаю свои приложения через fastlane
до crashlytics
, однако я изо всех сил пытаюсь пройти Detox
тесты с Travis CI
.Вот мой .travis.yml
:
language: objective-c
osx_image: xcode10.2
xcode_sdk: iphonesimulator12.2
xcode_destination: platform=iOS Simulator,OS=12.2,name=iPhone X
cache:
- bundler
- yarn
- cocoapods
branches:
only:
- master
env:
global:
- NODE_VERSION=stable
install:
- curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
- export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
- nvm install $NODE_VERSION
- nvm use $NODE_VERSION
- nvm alias default $NODE_VERSION
- brew install watchman
- brew install yarn
- brew tap wix/brew
- brew install wix/brew/applesimutils
- yarn global add react-native-cli
- yarn global add detox-cli
- yarn
- cd ios && pod install --repo-update && cd ..
script:
- detox build --configuration ios.sim.debug
- detox clean-framework-cache && detox build-framework-cache
- detox test --configuration ios.sim.debug --cleanup --maxWorkers=4
Он застревает в последней команде теста детоксикации и выдает эту ошибку -
Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.Error: Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.
У меня ограниченный опыт работы сTravis
, так что если кто-нибудь может предоставить мне рабочий файл .travis.yml
для этого потока, это было бы здорово.
* ОБНОВЛЕНИЕ * Проблема здесь:
TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"reactNativeReload","params":{},"messageId":-1000}
Должно быть:
TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"invoke","params":{"target":{"type":"Invocation","value":{"target":{"type":"EarlGrey","value":"instance"},"method":"detox_selectElementWithMatcher:","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"GREYMatchers"},"method":"matcherForAccessibilityID:","args":[{"type":"NSString","value":"welcome"}]}}]}},"method":"assertWithMatcher:","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"GREYMatchers"},"method":"matcherForSufficientlyVisible","args":[]}}]},"messageId":2}