@ -1,96 +0,0 @@ | |||||
version: 2 | |||||
jobs: | |||||
node: | |||||
working_directory: ~/rn-dp | |||||
docker: | |||||
- image: circleci/node:8 | |||||
steps: | |||||
- checkout | |||||
- restore_cache: | |||||
key: yarn-v1-{{ checksum "example/yarn.lock" }}-{{ arch }} | |||||
- restore_cache: | |||||
key: node-v1-{{ checksum "example/package.json" }}-{{ arch }} | |||||
- run: cd example && yarn install | |||||
- save_cache: | |||||
key: yarn-v1-{{ checksum "example/yarn.lock" }}-{{ arch }} | |||||
paths: | |||||
- ~/.cache/yarn | |||||
- save_cache: | |||||
key: node-v1-{{ checksum "example/package.json" }}-{{ arch }} | |||||
paths: | |||||
- example/node_modules | |||||
- persist_to_workspace: | |||||
root: ~/rn-dp | |||||
paths: | |||||
- example/node_modules | |||||
android: | |||||
working_directory: ~/rn-dp/example/android | |||||
docker: | |||||
- image: circleci/android:api-27-node8-alpha | |||||
environment: | |||||
JVM_OPTS: -Xmx3200m | |||||
steps: | |||||
- checkout: | |||||
path: ~/rn-dp | |||||
- attach_workspace: | |||||
at: ~/rn-dp | |||||
- restore_cache: | |||||
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }} | |||||
- run: | |||||
name: Cd | |||||
command: cd .. && ls -la | |||||
- run: | |||||
name: Download Dependencies | |||||
command: ./gradlew androidDependencies | |||||
- save_cache: | |||||
paths: | |||||
- ~/.gradle | |||||
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }} | |||||
- run: | |||||
name: Setup emulator | |||||
command: sdkmanager "system-images;android-16;default;armeabi-v7a" && echo "no" | avdmanager create avd -n test -k "system-images;android-16;default;armeabi-v7a" | |||||
- run: | |||||
name: Launch emulator | |||||
command: export LD_LIBRARY_PATH=${ANDROID_HOME}/emulator/lib64:${ANDROID_HOME}/emulator/lib64/qt/lib && emulator64-arm -avd test -noaudio -no-boot-anim -no-window -accel auto -verbose | |||||
background: true | |||||
- run: | |||||
name: Wait emulator | |||||
command: | | |||||
# start the emulator | |||||
- emulator -avd circleci-android22 -no-audio -no-window: | |||||
background: true | |||||
parallel: true | |||||
# wait for it to have booted | |||||
circle-android wait-for-boot | |||||
# unlock the emulator screen | |||||
sleep 30 | |||||
adb shell input keyevent 82 | |||||
./gradlew connectedAndroidTest -PdisablePreDex | |||||
- store_artifacts: | |||||
path: app/build/reports | |||||
destination: reports | |||||
- store_test_results: | |||||
path: app/build/test-results | |||||
workflows: | |||||
version: 2 | |||||
node-android: | |||||
jobs: | |||||
- node | |||||
- android: | |||||
requires: | |||||
- node |
@ -0,0 +1,56 @@ | |||||
package com.datepickerexample; | |||||
import android.support.test.espresso.ViewInteraction; | |||||
import android.support.test.rule.ActivityTestRule; | |||||
import android.support.test.runner.AndroidJUnit4; | |||||
import android.test.suitebuilder.annotation.LargeTest; | |||||
import android.view.KeyEvent; | |||||
import org.junit.Rule; | |||||
import org.junit.Test; | |||||
import org.junit.runner.RunWith; | |||||
import static android.support.test.espresso.Espresso.onView; | |||||
import static android.support.test.espresso.action.ViewActions.click; | |||||
import static android.support.test.espresso.action.ViewActions.pressKey; | |||||
import static android.support.test.espresso.action.ViewActions.replaceText; | |||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; | |||||
import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription; | |||||
import static android.support.test.espresso.matcher.ViewMatchers.withText; | |||||
import static org.hamcrest.Matchers.allOf; | |||||
@LargeTest | |||||
@RunWith(AndroidJUnit4.class) | |||||
public class HelloWorldEspressoTest { | |||||
@Rule | |||||
public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class); | |||||
@Test | |||||
public void mainActivityTest() { | |||||
try { | |||||
Thread.sleep(15000); | |||||
} catch (InterruptedException e) { | |||||
e.printStackTrace(); | |||||
} | |||||
ViewInteraction minimal = onView(allOf(withText("Minimal"), isDisplayed())); | |||||
minimal.perform(click()); | |||||
onView(allOf(withText("Today"), isDisplayed())); | |||||
onView(allOf(withText("Back"), isDisplayed())).perform(click()); | |||||
minimal = onView(allOf(withText("Minimal"), isDisplayed())); | |||||
minimal.perform(click()); | |||||
try { | |||||
Thread.sleep(30000); | |||||
} catch (InterruptedException e) { | |||||
e.printStackTrace(); | |||||
} | |||||
} | |||||
} |