Forum Discussion
AlexeyKolosov
14 years agoStaff
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.
Related Content
- 4 years agoGunacelan
- 3 years agonewbe
- 2 years agoIlakkk
- 3 years agovargirovic
Recent Discussions
- 23 hours agoMW_Didata