Forum Discussion

adrianmbs's avatar
adrianmbs
Occasional Contributor
14 years ago

All of a sudden, Firefox or some object on the webpage does not exist.

Hi,



I was recording the different operations of a web application, when all of a sudden, I started to get this message.

=========

An error occurred while calling the "Wait" method or property of the "pageRedmayneBentleyCwaTermsAndCo"
object.

The object or one of its parent objects does not exist.


Tested Object













Alias: Aliases.firefox.pageRedmayneBentleyCwaTermsAndCo
Mapping item: NameMapping.Sys.firefox.pageRedmayneBentleyCwaTermsAndCo

Missing Object













Alias: Aliases.firefox.pageRedmayneBentleyCwaTermsAndCo
Mapping item: NameMapping.Sys.firefox.pageRedmayneBentleyCwaTermsAndCo

===========



I don't know what changed, but now I cannot record anything successfully. I've tried rebooting to no avail. Is there anything you can suggest to help my trial copy of TC8 to start behaving again? Firefox is listed in the Object browser with the TC8 logo next to its entry in the list of processes.



I hope I can get an answer soon as the next time I am at work is next Monday.



Thanks.

1 Reply


  • Hi Adrian,





    It's possible that either you have multiple Firefox processes launched, and TestComplete is trying to find the page in a process with a wrong index or the URL used to identify the web page has changed, and a page with the URL specified in Name Mapping is no longer available in Firefox. If the suggestions do not help, Here are the general steps for all "Object not found" errors:





    1. Follow the suggestions provided in help topics mentioned in the "Handling the 'Object Not Found' Errors" (http://www.automatedqa.com/support/viewarticle.aspx?aid=12169) topic.





    2. If none of the suggestions helps, insert the following routine call in your test before retrieving the problematic object (change the process name):





    LogAppStructure(Sys.Process("MyProcessName")) // or  LogAppStructure(Aliases.MyProcess))





    Here is the LogAppStructure routine code:





    [VBScript]





    Sub LogAppStructure(obj)

      Err.Clear

      On Error Resume Next





      Dim count, i, Str

      

      ReDim params(7) 

      params(0) = "WndClass"

      params(1) = "WndCaption"

      params(2) = "Index"

      params(3) = "Visible"

      params(4) = "Exists"

      params(5) = "ClrFullClassName"

      params(6) = "ProductName"

      params(7) = "ProductVersion"  

      

      Str = ""

      For i = 0 To UBound(params)

        If IsSupported(obj, params(i)) Then

          Str = Str & params(i) & " = " & VarToStr(Eval("obj." & params(i))) & VbCrLf

        End If

      Next

      

      Call Log.AppendFolder(obj.Name, Str)

      For i = 0 To obj.ChildCount - 1

        Call LogAppStructure(obj.Child(i))

      Next

      Log.PopLogFolder





      On Error GoTo 0

    End Sub





    [JScript, C#Script]





    function LogAppStructure(obj)

    {

      var count, i, Str;

      

      var params = new Array();

      params.push("WndClass");

      params.push("WndCaption");

      params.push("Index");

      params.push("VisibleOnScreen");

      params.push("Exists");

      params.push("Visible");

      params.push("FullName");

      params.push("ClrFullClassName");

      

      Str = "";

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

        if (IsSupported(obj, params))

          Str += params + " = " + VarToStr(eval("obj." + params)) + "\r\n";

      }

      

      Log.AppendFolder(obj.Name, Str);

      for (var i = 0; i < obj.ChildCount; i++) {

        LogAppStructure(obj.Child(i));

      }

      Log.PopLogFolder();

    }





    3. Execute your test and reproduce the "Object not found" problem. The LogAppStructure function will post the entire structure of the tested application to the test log, and you will be able to see how objects are recognized right before the problem occurs.

    4. If you fail to find the cause of the problem using the test log, zip your entire TestComplete project suite folder along with the log of the test execution and send me the archive via our Contact Support form (http://www.automatedqa.com/support/message). Make sure that messages in your log correspond to correct actions in the latest version of your test.