Amanda Perkins
Katalon Apprentice
09/13/2018

Chrome developer console errors

Ok, so there's like a hundred questions on this and really none seem to work.  I'm looking to output the console errors from the chrome browser.  What I've found out in the world only gives info output to the test running in katalon, NOT the dev console from the browser.  

Backstory:  I have an app that, when it goes down, will not show a 502 in the UI, just gives a generic message about needing to add things.  But, in the console there is a big ol' 502.  How can I get that to output and potentially fail the test so we know it's there?  Do I need to write the api test to check for that?  Can I not log the console errors to output/report?

Thanks!
Upvote
Quote

Comments

  • Russ Thomas
    Katalon Evangelist
    09/13/2018
    Hi Amanda

    Let's agree a few things:

    1 - Users (i.e. typical users) never look at the devtools/console.

    2 - Automation testing is about ensuring outcomes (i.e. the app UI) meet the objectives of a user using a given app.

    3 - API testing is not Automation testing, it tests underlying code interfaces (usually involving a server round trip).

    So, for #1, it's true there are ways to inspect the console in Chrome -- but it's not a web standard (and that's why Mozilla Firefox does not provide it).

    For #2, if you're meant to be using Automation tests then keep clear of the console and test UI outcomes.

    For #3, sure, create an API test and inspect the http response directly. (Personally, I would do it using JavaScript, but that's just me.)

    So the only question left is, what are you trying to achieve? 1, 2 or 3?

    Upvote
    Quote
  • Mate Mrse
    Katalon Expert
    09/14/2018
    @"Amanda Perkins"

    Have you checked these:
    https://forum.katalon.com/discussion/4820/verify-some-javascript-errors-from-console-browser
    https://forum.katalon.com/discussion/4841/can-i-log-browser-console-errors
    ?

    I was able to output chrome console messages by following those discussions.

    p.s. Before digging in too deep, it is always a good idea to listen to @"Russ Thomas" advice.
    Upvote
    Quote
  • Amanda Perkins
    Katalon Apprentice
    09/14/2018
    Well, Russ, I'm trying to make sure the UI doesn't return blank, which is what it's doing some times.  Everything looks fine-ish to the user, but it's really not.  So, I'll probably just write the API test to include with my tests so that we can tell easily that it's not working and be able to mitigate the issue when it arises.  

    So, what do you mean by 'Personally, I would do it using JavaScript, but that's just me.'?  Now, I'm interested.
    Upvote
    Quote
  • Russ Thomas
    Katalon Evangelist
    09/14/2018
    Well, Russ, I'm trying to make sure the UI doesn't return blank, which is what it's doing some times.  Everything looks fine-ish to the user, but it's really not.  So, I'll probably just write the API test to include with my tests so that we can tell easily that it's not working and be able to mitigate the issue when it arises.

    And that's completely fine, Amanda. You know your intent and you know what you need to do to "mitigate the issue".  Said another way, rules and guidelines are fine, to a point, but when they don't quite fit, or they seem to actively prevent you from moving forward, you gotta do what you gotta do.

    So, what do you mean by 'Personally, I would do it using JavaScript, but that's just me.'?  Now, I'm interested.

    Well, I'm completely happy with making direct API calls from the browser/app to a server using JavaScript (ajax calls, to keep it brief), so that's what I would do.  IOW, I don't need another API on top to add (potentially) a layer of confusion. 

    Confession: I've never looked at the Katalon API testing stuff - it might be fantastic and perfectly fine, but I see so many requests for help using it, I do wonder. So, yeah... I use JS directly for all webservice-type/API testing.

    But again, that's just me B)

    Hope that clarifies?

    As to your "sometimes it returns blank" problem...

    This, to me, is a signal that the app itself has issues that need to be addressed.  I'd first be absolutely certain that the underlying code is handling all asynchronous calls correctly.  From your description, I believe it is notFixing this is not your job, this is a developer's job.  Your job (at this stage) is to point out that:

    • the app is behaving inconsistently under some conditions making it very difficult if not impossible to test (using automation testing, of course).

    Don't pull your punches - be forthright, tell them, just like that.

    Further, if this issue manifests itself in a situation where a user may lose work (i.e. loss of data and/or significant work-time), raise it as a critical bug on the bug tracking system (I assume you/they have one of those?) and be even more forceful as to the untestability of the current state of the app.

    Hope that's helpful.
    Upvote
    Quote
Sign In or Register to comment.