Forum Discussion

RichBopp's avatar
RichBopp
Contributor
4 years ago
Solved

Use TestComplete to verify all of the fields in a chart are filled (Keyword solution preferred).

I've been asked if there is a way to use TestComplete to scan our entire product inventory to verify that there are no empty fields on any of the charts on our Product Detail Pages on our website.  Not verify the content itself, just make sure something is there - so no blank fields.  An example of a chart for us looks like this:

 

Where I think we would really run into an issue is that charts are specific to the product, so they all look different - i.e. 

Any ideas?  

 

  • Hi,

     

    There is no generic solution, but you might appear to be more or less lucky depending on how testable your tested application is.

    For example, assuming that all tested fields are children of a chart table and have 'fld' as a prefix for their ids (e.g. fldModelNo, fldSize, ...), then you will be able to find all of them, iterate through and check if the given field is empty or not.

    E.g.:

    var arFields = <chartTable>.FindAllChildren('id', 'fld*', 5).toArray();

    for (var i = 0; i < arFields.length; i++)

      if (arFields[i].Value == '')

        Log.Warning(...);

     

  • RichBopp's avatar
    RichBopp
    4 years ago

    Alex - Thank you for responding, and sorry for the late reply.  Work followed by a bit of time off.

     

    I will review the solution you provided later this week, and let you know how it goes.

     

    Again, Thanks.

     

    Rich

3 Replies

  • AlexKaras's avatar
    AlexKaras
    Champion Level 3

    Hi,

     

    There is no generic solution, but you might appear to be more or less lucky depending on how testable your tested application is.

    For example, assuming that all tested fields are children of a chart table and have 'fld' as a prefix for their ids (e.g. fldModelNo, fldSize, ...), then you will be able to find all of them, iterate through and check if the given field is empty or not.

    E.g.:

    var arFields = <chartTable>.FindAllChildren('id', 'fld*', 5).toArray();

    for (var i = 0; i < arFields.length; i++)

      if (arFields[i].Value == '')

        Log.Warning(...);

     

    • RichBopp's avatar
      RichBopp
      Contributor

      Alex - Thank you for responding, and sorry for the late reply.  Work followed by a bit of time off.

       

      I will review the solution you provided later this week, and let you know how it goes.

       

      Again, Thanks.

       

      Rich

      • TanyaYatskovska's avatar
        TanyaYatskovska
        SmartBear Alumni (Retired)

        Thanks for the help, AlexKaras.

        RichBopp, does the solution help you? Please let us know if you need any more assistance.