SPONSORS:






User Tag List

Results 1 to 4 of 4
  1. #1
    Vic
    Vic is offline
    Junior Member
    Join Date
    Apr 2001
    Location
    San Francisco, CA 9416
    Posts
    17
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Best way to handle CRASH (Dr. Watson)

    I've been unsuccesful in Handling a Crash in IE, trying to recover from it. Basically dismissing the DR. Watson Dialogbox and re-invoke Browser again. The problem is not knowing when the Crash is happening.
    Does anyone have a way to handle this.

    thanks in advance,
    Vic

    ------------------

  2. #2
    Senior Member
    Join Date
    Aug 1999
    Location
    Cambridge, UK
    Posts
    470
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Best way to handle CRASH (Dr. Watson)

    What is the problem? I assume that if IE crashes then you can safely assume that your testcase has failed; in which case you simply need to make sure that the recovery system knows that it might need to deal with dr watson and restart the browser.
    I have dealt with this kind of thing by over-riding the SetActive() method of my aut (probably your equivalent in the case of web testing is overriding the SetActive() method of the browser; feel free to correct me if I'm wrong there) so that if a certain kind of exception is raised, then it looks for the kind of windows that are causing the problem.
    In my case, the windows included:
    <ul><LI>Modal dialogboxes which did not have their parent set correctly (in the app), so that it wasn't obvious to silktest that they needed to be closed before the app could be set active
    <LI>Error dialogs created by the app's own error handler.[/list]
    You might also need to override the Close() methods of such windows.
    In case it helps, the way I overrode the SetActive() method of my app was as follows (some of it is pseudo-code):
    The other possibility is that you're trying to recover from IE crashing and carrying on your current testcase. Don't bother - you would have a lot more hassle, and it doesn't particular help your testing. If you're getting an occasional 'random' error which is not the fault of what you're trying to test, then just rerun the testcase after a crash of this sort. If you're getting more frequent 'random' errors that aren't the fault of what you're trying to test, then complain at your sysadmin or somebody until it gets fixed. If you're getting non-random reproducable errors, then well done, you've just found a bug, and your testcase doesn't need to recover.
    ------------------


    [This message has been edited by vincebowdren (edited 05-18-2001).]

  3. #3
    Junior Member
    Join Date
    Oct 2000
    Location
    Dublin, CA, USA
    Posts
    8
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Best way to handle CRASH (Dr. Watson)

    I tried this, but It's not working, It's displaying message 'scope resolution is only for method', Please correct me, Here is my code ....

    [ ] use "siebel.inc"
    [ ]
    [-] testcase dd () appstate none
    [ ]
    [-] do
    [ ] derived::SetActive()
    [-] except
    [ ] // get a list of windows in Desktop.GetChildren()
    [ ] // if any of these is a mis-parented dialogbox, or an Error box, then dispose of it appropriately and recall SetActive(). Be careful with this recursion bit, it can go horribly wrong.
    [ ] DL.GetChildren ()
    [ ]
    [ ] print ("Childrens are:{DL.GetChildren ()}")
    [ ]


    ------------------
    HyderFatima

  4. #4
    Senior Member
    Join Date
    Aug 1999
    Location
    Cambridge, UK
    Posts
    470
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Best way to handle CRASH (Dr. Watson)

    Sorry, I must have mis-explained myself. Here is a fuller piece of code to show what I meant:
    The point is that DefaultBaseState() will try to call SetActive() for your mainwin; by over-riding the method in this way, you can both retain all the original behaviour in DefaultBaseState (it's a complicated function), and also allow it to deal with a few unusual circumstances such as error-boxes. So you need to put this over-ridden method in your application's window declaration.


    ------------------

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

vBulletin Optimisation provided by vB Optimise v2.6.0 Beta 4 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
User Alert System provided by Advanced User Tagging v3.0.9 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Questions / Answers Form provided by vBAnswers (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
vBNominatevBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Feedback Buttons provided by Advanced Post Thanks / Like (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Username Changing provided by Username Change (Free) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
BetaSoft Inc.
Digital Point modules: Sphinx-based search
All times are GMT -8. The time now is 12:39 PM.

Copyright BetaSoft Inc.