You might have used eCatt in the past to test your ABAP applications, but did you know that you could use the same to tool against ABAP Web Dynpro! I recently sat down and had the opportunity to use eCatt to test some Web Dynpro ABAP applications. I was really impressed by the level of functionality that eCatt gave me even with my WDA application running through a browser.
After recording my script, I could view the data in the screen elements and in the context. There was even a screen simulation tool! But I am getting a little ahead of myself.
I wanted to write about these experiences with eCatt and WDA, but I just didn’t feel that words and screen shots really didn’t really paint the whole picture. Therefore I have recorded several screen cams of eCatt in action. They are available for viewing here:
This 7 minute demo is broken down into 5 different chapters. Later in this weblog I refer to these different chapters of this recorded session. As SAP’s development tools have become more visual in nature, I think it is important to expand beyond the basic screen shot. I am interested in people’s opinions about this format of video to accompany a weblog. You are welcome to post any comments or suggestions about this format within this weblog.
Setting of eCatt for Web Dynpro ABAP
Before you can get started recording your eCatt Scripts against Web Dynpro ABAP, there are some specialized setup instructions. You can find the complete instructions in this Help link:
Preparing Systems for Testing Web Dynpro
The process is relatively simple and first involves setting a new system user and then assigning this user to an activated Service Node.
However the situation is little trickier if you have created the user, but the Service Node, ECATT_RECORDER, hasn’t been properly setup yet. In this case, the recording process will begin without an error. The Web Dynpro application will then short dump upon initialization with the following error:
This should tell you that something is wrong with the Service Node setup and you can visit transaction SICF to check up on it.
Using eCatt for Web Dynpro ABAP
Now that everything is setup correctly, we are ready to look at the first chapter of the video, eCatt Recording. The first thing you might notice about this entire video is that we never really leave SE80 for any of our work. All of the eCatt recording and playback options are all integrated in SE80. We start the recording of the script via the Object Navigator context menu. Later you will see that the eCatt script itself simply becomes a sub-object in the Object Navigator under the Web Dynpro Application itself.
When we begin our recording we will see that a SAPGui notification will appear telling us that a Script has attached to the Gui. What you might not be able to see from the recording is that the SAPGui window with SE80 has actually disappeared as soon as the browser was launched. In its place is simply a SAPGui Dialog Window with the title “Web Dynpro Recording is Running…”. This is the window that controls the recording. You can stop the recording from this window. Once stopped, the dialog window will disappear and the full screen with SE80 will return.
We are now ready to look at the second chapter of the video, eCatt Playback. This is where the fun really begins. I was really impressed by how much information about the Web Dynpro Application had been captured and exposed by the recorded script. I was totally blown away by the simulation function. Not only is this some very nice functionality of eCatt, but it demonstrates another good reason for the client independence rendering of Web Dynpro. At first I thought the single screen simulation from within the script display was impressive, but this turns out to be nothing compared to the full simulation during script playback.
Personalization and customization of the Web Dynpro UI is one of really powerful features of the framework. I was curious what effect changing the UI might have on an eCatt Script that I had already recorded. In Chapter 3 of the video, WDA with Personalization, we find out. I created administrative customization of the application, yet the eCatt script was still able to complete. However I did learn that if you have the script performing input onto a field that is disabled via customization, your script will produce a failure condition at that point.
Building upon my experiences with the customization, I was curious what would happen if I actually changed the view of my application in the editor. I wanted to change the order of the fields to find out just how intelligent eCatt was. Was it placing data into the input fields based upon position/order? Have a look at Chapter 4, WDA with Screen Modifications, to find out.
At this point I was determined to try and break eCatt. I thought I finally had a situation it wouldn’t be able to handle. I have a Web Dynpro Application that has dynamic UI elements. This application is a Web Dynpro version for the classic Data Browser SE16. It creates all the UI elements at Runtime based upon what table you select to query against, so I thought the dynamic elements would mess up eCatt for sure. If you have a look at the final chapter, WDA with Dynamic Screen Elements, you will see that I was wrong. Even UI elements created at runtime couldn’t break eCatt. I even changed the context data so that a different table would be used to generate the UI elements!
I hope that you have enjoyed this little look at the functionality of eCatt against Web Dynpro ABAP. It should have wet your appetite enough to want to go exploring with eCatt on your own.
I am also interested to find out what readers thought of the video part of this weblog. Did you have any technical problems viewing the video? Was it helpful to have video instead of screen shots? It takes considerably longer to record, narrate, and edit video than it does to just take screen shots, so we all want to make sure that this extra effort is valuable.