1. #1
    Sencha User
    Join Date
    Jun 2013
    Posts
    2
    Vote Rating
    0
    Ramu.346 is on a distinguished road

      0  

    Default Test Automation support for ExtJS applications

    Test Automation support for ExtJS applications


    Hi Team,

    Most of the automation tools works based on object ID/Name/object Hierarchy. But in ExtJS, all these properties are dynamic.
    Is there any recommended mechanism to automate ExtJs applications?

    Please share your thoughts, as the regression testing is the very important phase in application development cycle.

    Thanks,

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    37,330
    Vote Rating
    846
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    Which kind of test are you wanting?
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  3. #3
    Sencha User
    Join Date
    Jun 2013
    Posts
    2
    Vote Rating
    0
    Ramu.346 is on a distinguished road

      0  

    Default


    Regression testing using automation tools like QTP, Selenium etc.,
    I am not sure that i understand your question exactly. Please let me know if you need any information.

    Thanks

  4. #4
    Sencha User
    Join Date
    Sep 2012
    Posts
    4
    Vote Rating
    0
    tnm is on a distinguished road

      0  

    Default


    You may want to look at the automated functional GUI testing tool RIATest.

    RIATest knows how to ignore ids dynamically generated by ExtJS, yet if you manually assign ids to the components the tool will use them for identification (see e.g. #tree2 in the sample below).

    The tests in RIATest operate in terms of ExtJS UI widgets.

    Examples of RIATest scripts that work with ExtJS widgets:

    The following clicks on an ExtJS button with label "Next Page":

    PHP Code:
    ExtButton("Next Page")=>click(); 
    And the following does drag-n-drop of a row from one ExtJS tree to another:

    PHP Code:
    ExtRow("Controller.js")=>dragAndDropTo(
        
    ExtTreePanel("#tree2")->ExtRow("Custom Ext JS")); 
    And this collapses the header of an ExtJS box:

    PHP Code:
    ExtBox("Feeds")->ExtHeader("Feeds–í")->ExtCollapser()=>click(); 
    (All sample code above is from real test scripts that run on ExtJS sample applications).


    (Disclaimer: I am a RIATest team member).

  5. #5
    Sencha User
    Join Date
    Mar 2012
    Location
    Dallas/Fort Worth
    Posts
    60
    Vote Rating
    20
    jvalentino will become famous soon enough jvalentino will become famous soon enough

      0  

    Default


    I had the same issue when dealing with automating Ext JS, which is why I created HTML5 Robot.

    It is based on a series of best practices for how to reliably lookup and interact with components based on attributes and conditions which are not dynamic. It then provides shortcuts for doing this with all of the HTML, Ext JS, and Sencha Touch components that you would need to interact with. It comes in 2 flavors:
    1. Java - Familiar Selenium and JUnit based API that has built in web driver support for all modern browsers.
    2. Gwen - A human style language for quickly and easily creating and maintaining browser tests, which comes with its own integrated development environment. All of which is based on the Java API.
    For example if you were wanting to click the "OK" button in an Ext JS dialog, you could do the following in Java:

    Code:
    click(findExtJsMessageBoxButtonByText("OK"));
    ...and you could do the following in Gwen:

    Code:
    click extjsdialogbutton by text "OK"
    You can download the entire thing for free and check it out. Let me know if you have any questions.

  6. #6
    Sencha User
    Join Date
    Jan 2014
    Posts
    1
    Vote Rating
    0
    BearQuality is on a distinguished road

      0  

    Default TestComplete works with extJS

    TestComplete works with extJS


    TestComplete is a test automation tool that works with extJS controls. Since the objects are dynamic you will have to make sure the object browser is in tree mode (makes finding objects easier) and that you use the object spy to get the object ID.

    http://smartbear.com/products/qa-too...236.1363803531

  7. #7
    Sencha Premium Member
    Join Date
    Mar 2013
    Location
    Denver
    Posts
    4
    Vote Rating
    0
    wwwreynolds is on a distinguished road

      0  

    Default Stay away from RIATest -- buggy product and terrible support

    Stay away from RIATest -- buggy product and terrible support


    We purchased RIATest to test our ExtJS applications because it has the richest set of features for testing ExtJS.

    Unfortunately, after using it for a while we have become extremely frustrated with the tool and their support. Here's a summary of problems:
    1) does not work in our continuous integration environment. They claim to not be able to reproduce the problem so we are stuck w/o automated testing.
    2) the tool has to be restarted many times in order to connect with the browser. This is not just a problem with only one developer, but with all our developers.
    3) their support is terrible. You can't talk to anyone directly as everything is through email, but they do not reply.

    Bottom line is that for the features it does give us, it is not worth the productivity loss and frustration.