androidScreenshotTest 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. if [ $# -lt 2 ]; then
  3. echo "1: record: true/false
  4. 2: class name
  5. 3: method name
  6. 4: darkMode / \"all\" to run all screenshot combinations
  7. 5: color"
  8. exit
  9. fi
  10. sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g src/main/res/values/setup.xml
  11. emulator -writable-system -avd uiComparison -no-snapshot -gpu swiftshader_indirect -no-audio -skin 500x833 &
  12. cd src/androidTest/java
  13. class=$(find | grep $2 | grep -E "java$|kt$" | head -n1|sed s'/\//\./'g | sed s'#^\.\.##' | sed s'#\.java##'| sed s'#\.kt##')
  14. if [[ -z $class ]]; then
  15. echo "Class not found!"
  16. exit 1
  17. fi
  18. cd ../../../
  19. if [ $1 == "true" ] ; then
  20. record="-Precord"
  21. else
  22. record=""
  23. fi
  24. if [ -e $3 ] ; then
  25. method=""
  26. else
  27. method="#$3"
  28. # check if method exists
  29. if [[ $(grep -c $3 $(find | grep $2 | grep -E "java$|kt$" | head -n1)) -eq 0 ]]; then
  30. echo "Method not found!"
  31. exit 1
  32. fi
  33. fi
  34. if [ -e $4 ] ; then
  35. darkMode=""
  36. else
  37. darkMode="-Pandroid.testInstrumentationRunnerArguments.DARKMODE=$4"
  38. fi
  39. if [ -e $5 ] ; then
  40. color=""
  41. else
  42. color="-Pandroid.testInstrumentationRunnerArguments.COLOR=$5"
  43. fi
  44. if [[ $4 = "all" ]]; then
  45. scripts/runAllScreenshotCombinations "noCI" "$1" "-Pandroid.testInstrumentationRunnerArguments.class=$class$method"
  46. else
  47. ./gradlew gplayDebugExecuteScreenshotTests $record \
  48. -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest \
  49. -Pandroid.testInstrumentationRunnerArguments.class=$class$method \
  50. $darkMode \
  51. $color
  52. fi
  53. sed -i s'#<bool name="is_beta">true</bool>#<bool name="is_beta">false</bool>#'g src/main/res/values/setup.xml