Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-15914] Android: Default, Alloy Apps - SOASTA not recording tests

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2013-12-21T03:55:05.000+0000
Affected Version/sRelease 3.2.0
Fix Version/s2013 Sprint 25, Release 3.2.0, Release 3.3.0
ComponentsAndroid
Labelsmodule_soasta, qe-3.2.0, qe-testadded, regression
ReporterSmitha Guduru
AssigneeTony Lukasavage
Created2013-12-06T20:37:56.000+0000
Updated2014-07-29T17:41:42.000+0000

Description

The recording activity performed on a default Titanium two tabbed app and Alloy app (default) does not get picked up by Soasta. This is specific to android and SDK:3.2.0. Note:This works on 3.1.3.GA Steps to reproduce: 1. Create a default Titanium two tabbed app or an Alloy app in 3.2.0 Appcelerator Studio using SDK: 3.2.0 2. Make sure to enable appcelerator services 3. Now right click on the app in the studio and choose "Test as" on a device and follow the directions 4. Download the touchtest agent on the device 5. Authorize the device in the dashboard by going to https://360-preprod.appcelerator.com, selecting the org the app has been created in and selecting the app and go to "Device Clouds" to authorize the device 6. Go to "Clip" tab, select new clip, choose "Record Mobile App" 7. In the popup, select the device and the app that you need to record 8. After the app gets launched on the device, tap on the tabs Actual result: The recording activity does not get picked up at all. Please see the attached logs and screenshots to see the change in the UI of default titanium two tabbed app compared to SDK: 3.1.3.GA. Expected result: The recoding activity should get recorded.

Attachments

FileDateSize
Android313GA.png2013-12-06T20:37:56.000+000030728
Android320.png2013-12-06T20:37:56.000+000030104
AndroidSoastaRecording.txt2013-12-06T20:37:56.000+000013776
InstructionsForTest.png2013-12-11T18:02:59.000+0000290461
LoggedInTouchtest.png2013-12-11T18:12:26.000+0000229408
NotGettingRecorded.png2013-12-06T20:39:22.000+0000140211
plugin.py2013-12-09T21:52:18.000+000016688
SoastaLog.txt2013-12-17T23:23:44.000+000035876
TestAsInStudio.png2013-12-11T18:03:32.000+0000355040
touchtest.log2013-12-17T21:19:20.000+000066295
touchtest2.log2013-12-17T23:08:57.000+000058530

Comments

  1. Ingo Muschenetz 2013-12-09

    For reference, the SOASTA plugin.py is attached. It's about 500 lines.
  2. Smitha Guduru 2013-12-10

    Hi Tony, it works with 3.1.3.GA. I have verified it and was able to see the expected result with 3.1.3.GA.
  3. Smitha Guduru 2013-12-11

    Step 3 screenshot: "InstructionsForTest.png" Step 4: a.On the mobile browser, go to the following url depending on the environment you are in b. For https://360-preprod.appcelerator.com the url is http://360-preprod-test-1.appcelerator.com/concerto/touchtest c. For https://dashboard.appcelerator.com the url is http://appctest-2.appcelerator.com/concerto/touchtest d. After you download the touchtest agent on android(android specific to download the touchtest agent) or on iOS you just go to the register the device(do not need to download the touchtest agent for iOS) e. Register the device by giving it a name and approve it step 5 After step 6, go to the mobile browser on iOS or on android go to the touchtest agent and you should be able to see that you are logged in to touchtest. Please see "LoggedInTouchtest.png"
  4. Smitha Guduru 2013-12-11

    Also the docs link for Test: http://docs.appcelerator.com/platform/latest/#!/guide/Test Please feel free to ping me if you need any more info.
  5. Tony Lukasavage 2013-12-11

    To be clear, I'm supposed to be using the 360-preprod environment to test this issue?
  6. Smitha Guduru 2013-12-11

    To test this ticket https://dashboard.appcelerator.com or https://360-preprod.appcelerator.com should be good. But if you are using https://360-preprod.appcelerator.com, you will need to point the appcelerator studio to preproduction by adding the following flag in the AppceleratorStudio.ini file -Dappcelerator.dashboardUrl=http://360-preprod.appcelerator.com ccing [~nle] and [~mgadiya]
  7. Tony Lukasavage 2013-12-11

    For reference, I'll be targeting dashboard.appcelerator.com, which apparently has the same issue and doesn't require any special configuration.
  8. Ingo Muschenetz 2013-12-17

    Adding as a note to here, since I think it's easiest to keep it on the same ticket: If the new hook is available in a 3.1.3 environment, the 3.1.3 CLI will run the hook. So we just need to prevent it from running in this circumstance. One way to test this:

    Create the project in a 3.2.0 stack (CLI/SDK/Studio)

    Check the project into github

    Reopen the project in the 3.1.3 stack (CLI/SDK/Studio)

    Only one build hook should run
  9. Alan Leard 2013-12-17

    I am trying to test with dashboard.appcelerator.com and Ti Stack 3.2 with a project that was already created. I added the plugin and modified Tiapp.xml. The device connects and the app launches but then the device just times out. http://screencast.com/t/ZzWuvHnwH9Wr Any suggestions?
  10. Tony Lukasavage 2013-12-17

    [~aleard] can you provide the log output?
  11. Smitha Guduru 2013-12-17

    Used the plugin from the repo and tried to run the soasta test by following the below steps 1. Created a default app in Appcelerator Studio: 3.2.0.201312042306 using sdk: 3.2.0.v20131216191854 2. After git cloning the plugin from the repo, copied it to the plugins folder 3. Changed the plugin version in the tiapp.xml 4. ran it on to the device and tried to run the test 5. Please see the attached log "SoastaLog.txt"
  12. Tony Lukasavage 2013-12-17

    [~sguduru] and [~aleard] are you guys running the touchtest agent targeted at the right dashboard before you're trying this? It was not mentioned in your reproduction steps.
  13. Alan Leard 2013-12-17

    Ok ensuring I deleted the previous plugin and then add the new one fixed the issue for me. Recording is now working.
  14. Smitha Guduru 2013-12-18

    Verified that I am able to record using a default app and alloy app. I still need to do further testing using default and alloy app. But I was able to record, playback the soasta test on android. Here are the steps that I needed to take in order to run the tests 1. Created a default app in Appcelerator Studio 2. Deleted the com.soasta.touchtest.android folder from the "plugins" folder' 3. Copied the com.soasta.touchtest.android folder from the repo 4. Changed the plugin version in the tiapp.xml 5. Ran the app on the android device 6. Launched soasta touchtest on the device 7. Recorded the clip, saved it and played it back Verified in: Appcelerator Studio: 3.2.0.201312042306 SDK: 3.2.0.v20131216191854 com.soasta.touchtest.android version: 2.0 Device:Note2(4.1.2)
  15. Tony Lukasavage 2013-12-18

    [~cbarber] explained to me that is was necessary to delete the legacy plugin due to the way that the CLI processes new plugins defined with the version folder structure. I need to remove the version folder structure and flatten it without a version for the legacy plugin and new hook to be able to work together. I also need to have the new CLI hook check in the "build.pre.compile" step if the TiSDK < 3.2. If it is, abort the hook and allow the legacy plugin to take over, to prevent running both.
  16. Tony Lukasavage 2013-12-18

    New and legacy plugins are working together now. Still need results from Windows testing and further confirmation from [~sguduru] that an issue she encountered testing against ios has been resolved by my latest work. Still need to restore backup files in an additional build.finalize hook.
  17. Smitha Guduru 2013-12-18

    Verified the ticket after git pulling the new code from the repo. 1. I am not seeing the iOS run issue any more 2. I was able to record and playback the soasta tests on Alloy and Titanium default apps on android and iOS using SDK:3.2.0.v20131216191854 and SDK: 3.1.3.GA 3. Also I did not need to delete the com.soasta.touchtest.android folder any more, I just copied the com.soasta.touchtest.android folder from the repo in to the plugins folder and I was able to record with out any issue Verified in: Appcelerator Studio: 3.2.0.201312042306 Devices used: iPhone5s(7.0.2), Note2(4.1.2)
  18. Tony Lukasavage 2013-12-18

    Remaining validation needed to close this ticket: * Testing on Windows, ideally just as [~sguduru] listed in the previous comment, against ios and android on both 3.2.0 and 3.1.3. * Validation against more than a trivial Android app, just to make sure the soasta jar creation process is working as expected for all API usage. * We still need a final home for the hook/plugin and a means for Appc Studio to install it. Anything I'm missing here? Do we need anything else to be comfortable with the stability of the hook?
  19. Nam Le 2013-12-18

    [~tlukasavage] Regarding 'We still need a final home for the hook/plugin and a means for Appc Studio to install it' - that will be handled by SOASTA and packaged as part of their server
  20. Tony Lukasavage 2013-12-18

    [~nle] ok cool, so we can just give them access to the repo and the instructions and they should be good to go?
  21. Nam Le 2013-12-18

    [~tlukasavage] I'm going to provide them the specific 'hooks' source that they should use, and they'll incorporate that into their plugin. The instructions are straight forward: put 'hooks' into the plugins/com.soasta.touchtest.android folder. The only source we're providing is the contents of the hooks folder
  22. Smitha Guduru 2013-12-18

    Update: Verified in 3.1.3GA stack in preproduction (https://360-preprod.appcelerator.com ) with the following devices, emulator and simulator Alloy and titanium default apps Devices: Nexus4(4.4), iPhone5s(7.0) Emulator(4.1.2) iPhone Simulator(7.0) Verified with SDK:3.2.0.v20131216191854, Appcelerator Studio: 3.2.0.201312042306 in preproduction (https://360-preprod.appcelerator.com )iPhone simulator(7.0), Emulator(4.1.2), Nexus4(4.4) and iPhone(7.0.4). Was able to record and playback successfully in all the above combinations.
  23. Eric Wieber 2013-12-18

    I have finished testing the new code/hooks with several customer apps and was able to record and play back multiple clips. These apps were a mixture of Alloy and Titanium projects across different devices, emulators, and SDKs (from 3.1.3 to 3.2.0.v20131127194046). Tested on Galaxy S2 (2.3.6), Galaxy S3 (4.1), Galaxy S4 (4.2), Droid RAZR (4.0.4), Galaxy Tab 2 (4.2), and emulator. I did not see anything out of the ordinary with the recordings or their playback.
  24. Smitha Guduru 2013-12-20

    Verified the ticket with the new Soasta plugin: 6872.16 in https://360-preprod.appcelerator.com (1.0.7+) and I was able to record and playback in all the following combinations. So, closing this ticket. Appcelerator Studio: 3.1.3.201309132456, SDK: 3.1.3.GA Alloy and Titanium default apps on iPhone5c(7.0.4), Nexus4(4.4), iPhone sim(7.0), emulator(4.1.2) Appcelerator Studio:3.2.0.201312042306, SDK: 3.2.0.v20131217190633 Default App on iPhone5c(7.0.4), Nexus4(4.4), iPhone sim(7.0), emulator(4.1.2) I came across an issue with touchtest download in emulator(4.2.2), touchtest download would not finish downloading. Will file a separate ticket for it.

JSON Source