Forum Discussion

5 Replies

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    There are two ways you can do this.  You can just send keystrokes to the terminal screen object. This will basically just do the task of sending the necessary commands.  However, it's a pretty "dumb" way of doing things in that there is no response validation.  There's no way, in this method, to verify you are on the correct screen or if the commands were successful.

     

    The other way to do it is a bit smarter.  

     

    https://support.smartbear.com/testcomplete/docs/testing-with/object-identification/improving/using-text-recognition/index.html

     

    Add the terminal emulation object to the Text Recognition object list. You can then map and utilize the different text objects on screen to interact with them separately.  Using NameMapping and such, you can even do detection and some verification.

     

    It's still not quite to the level of a full GUI application, but this has worked well for me in the recent past.

    • knk907's avatar
      knk907
      Occasional Contributor

      Hi Robert, thanks for quick reply. So you are saying that we can't test mainframe applications completely using TestComplete. Please correct me if I am wrong.

      • tristaanogre's avatar
        tristaanogre
        Esteemed Contributor

        Depends upon what you mean by "test completely". Can you have TestComplete send keystrokes to a terminal emulator to simulate user actions? Yes... two methods described to do so.  Can you validate what's on screen based upon those actions against expected results? Using Text Recognition, yes with some limitations in that it's only going to be able to check that a text object with the particular text string exists... pretty much what a user would do.  All a console and terminal emulator are is text on screen and TestComplete will operate against that text on screen.

         

        Now, if you want to run SQL queries against the back end database, you can do that in a variety of ways using ADO objects or a DDT connection or something like that.  If you want to run a data driven test sending different keystroke combinations to the screen and checking the back end results, yes, you can do that.

         

        What you cannot do is verify GUI object methods and properties and detailed application state because those are not "open" to TestComplete.  As mentioned, I've used Text Recognition to some success with a terminal emulator. It's not as "clean" as testing a GUI application but it's doable.  Again, it all comes down to what you want to achieve using TestComplete.  Give us a specific list of requirements, actions, etc., that you want to use TestComplete to test against your mainframe and we can give you more specific answers.