Proof of concept draft
Posted by matthew.green on 2012-04-29 00:30
Good Evening,
We regret to inform that we were unable to complete phase 4 in a the timeline you, the customer specified. Although we have ran out of time, we will continue to work on this phase until the semester is up in hopes we will complete it. For the time being, I would like to provide you with a proof of concept that demonstrates what we were trying to accomplish and how we going about to do so. The goal of this tool was to utilize both MonkeyRecorder and the ripper together by taking the coordinates of button presses and correlate them to actual views, which would eventually get ripped and GUI file would be created.
First we began extend the MonkeyRecorder class and combine that with some of the tools of the ripper, mainly the AUTInstrument interface. From there we added getViewAtPoint to AUTInstrument, which get the view at a certain set of coordinates. The workflow is as follows: As each component is clicked, a JSON object representing that view is sent across the socket which in turn is then used to get the GWindow and GComponent corresponding to that component and the component and the window that contains it. The Capture tool then rips this, and generates a GUIStructure object corresponding to that particular component. As multiple components are clicked, a deep recursive union is performed to allow the GUIStructure object, which is really just the .GUI file for this capture, to continue to building.
The capture mode is activated by clicking the start button on the jframe of the capture tool, and is clicking the stop button in the same frame. Upon termination of the capture mode, the GUIStructure object is then written to a .GUI file in the apps director and although not yet implemented, will also write the TST file corresponding to list of other TST files the were previously created by our tool.
We regret to inform that we were unable to complete phase 4 in a the timeline you, the customer specified. Although we have ran out of time, we will continue to work on this phase until the semester is up in hopes we will complete it. For the time being, I would like to provide you with a proof of concept that demonstrates what we were trying to accomplish and how we going about to do so. The goal of this tool was to utilize both MonkeyRecorder and the ripper together by taking the coordinates of button presses and correlate them to actual views, which would eventually get ripped and GUI file would be created.
First we began extend the MonkeyRecorder class and combine that with some of the tools of the ripper, mainly the AUTInstrument interface. From there we added getViewAtPoint to AUTInstrument, which get the view at a certain set of coordinates. The workflow is as follows: As each component is clicked, a JSON object representing that view is sent across the socket which in turn is then used to get the GWindow and GComponent corresponding to that component and the component and the window that contains it. The Capture tool then rips this, and generates a GUIStructure object corresponding to that particular component. As multiple components are clicked, a deep recursive union is performed to allow the GUIStructure object, which is really just the .GUI file for this capture, to continue to building.
The capture mode is activated by clicking the start button on the jframe of the capture tool, and is clicking the stop button in the same frame. Upon termination of the capture mode, the GUIStructure object is then written to a .GUI file in the apps director and although not yet implemented, will also write the TST file corresponding to list of other TST files the were previously created by our tool.
Home / Developer API / Tour / Get a Project - Solutions for Bug & Issue Tracking, Collaboration Tools, Subversion Hosting, Git Hosting
Androidguitar is powered by Assembla.
3 Comments
By matthew.green on 2012-04-29 00:30
By highvoltage81 on 2012-04-29 00:38
By matthew.green on 2012-04-29 00:43