14cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# Script to automate the following sequence: 24cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# - Open Feedly 34cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# - Open an article 44cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# - Scroll to bottome 54cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# - Open the same article in Chrome 64cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# - Scroll the article 74cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# - Back to Feely (should still be in memory) 84cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# - Home screen 94cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# ---- repeat ---- 104cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# 114cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# Currently works on volantis only (verticle orientation) 124cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# 134cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 144cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd KjosCMDDIR=$(dirname $0 2>/dev/null) 154cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd KjosCMDDIR=${CMDDIR:=.} 164cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos. $CMDDIR/defs.sh 174cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 184cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjoscase "$DEVICE" in 194cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos(volantis) 204cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos echo volantis... 214cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyArticle="500 700" 224cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyOptions="1480 100" 234cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyBrowserSelect="1350 650" 244cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyArticleSwipeUp="700 700 700 50 50" 254cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyArticleSwipeDown="700 200 700 700 50" 264cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos chromeSwipe="700 700 700 50 50" 274cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos ;; 284cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos(shamu|*) 294cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos echo shamu... 304cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyArticle="676 500" 314cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyOptions="1327 207" 324cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyBrowserSelect="1278 1191" 334cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyArticleSwipeUp="700 1847 700 400 50" 344cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos feedlyArticleSwipeDown="700 400 700 1847 50" 354cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos chromeSwipe="700 1847 700 400 50" 364cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos ;; 374cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos(hammerhead|*) 384cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos echo "Error: No feedly screen geometry information available for $DEVICE" 394cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos exit 1;; 404cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjosesac 414cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 424cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd KjosfeedlySwitchToTime=600 434cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 444cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# start feedly, if not installed, error out 454cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjost=$(forceStartActivity feedly) 464cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd KjoscheckIsRunning feedly "initial start of feedly" 474cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjosecho Feedly start time = ${t}ms 484cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 494cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos# start chrome, if not installed, error out 504cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjost=$(forceStartActivity chrome) 514cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd KjoscheckIsRunning chrome "initial start of chrome" 524cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjosecho Chrome start time = ${t}ms 534cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjossleep 1 544cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 554cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd KjosfeedlyStartTimes=0 564cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 574cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjoscur=1 584cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjoswhile [ $cur -le $iterations ] 594cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjosdo 604cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos echo ======================================= 614cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos echo Iteration $cur of $iterations 624cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos echo ======================================= 634cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos startInstramentation 644cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos t=$(startActivity feedly) 654cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos if [ $(checkStartTime "$t" $feedlySwitchToTime) != true ]; then 664cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos handleError Feedly took too long to start: $t v $feedlySwitchToTime: $? 674cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos # for now, not fatal 684cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos # exit 1 694cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos fi 704cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos sleep 2 714cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos ((feedlyStartTimes=feedlyStartTimes+t)) 724cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos echo feedly started in ${t}ms 734cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos checkIsRunning chrome "switch back to feedly" 744cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos checkIsRunning googlequicksearchbox "switch back to feedly" 754cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 764cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos # click on first article 774cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos doTap $feedlyArticle 784cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos sleep 2 794cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 804cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos # scroll through article 814cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos doSwipe $feedlyArticleSwipeUp 824cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos sleep 5 834cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos checkIsRunning chrome "feedly swipe" 844cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos checkIsRunning googlequicksearchbox "feedly swipe" 854cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 864cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos # scroll back to top 874cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos doSwipe $feedlyArticleSwipeDown 884cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos sleep 2 894cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 904cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos # switch to chrome 914cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos # 1. click on menu bar 924cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos doTap $feedlyOptions 934cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos sleep 1 944cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos # 2. click on browser 954cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos doTap $feedlyBrowserSelect 964cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos sleep 10 974cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 984cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos checkIsRunning feedly "switch to chrome" 994cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos checkIsRunning googlequicksearchbox "switch to chrome" 1004cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 1014cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos # Now we're back in chrome, swipe to bottom of article 1024cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos doSwipe $chromeSwipe 1034cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos sleep 2 1044cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos checkIsRunning feedly "swiped chrome" 1054cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos stopInstramentation 1064cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos ((cur=cur+1)) 1074cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjosdone 1084cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos((feedlyAve=feedlyStartTimes/iterations)) 1094cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjosecho Avg start times: feedly: ${feedlyAve}ms 1104cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd Kjos 1114cd90ba333d9c235ba5b4c2acffbfe0b2f00cb29Todd KjosdoKeyevent HOME 112