Ask a Question

TestExecute and MSAA (Flash) Plugin

rmanning
Contributor

TestExecute and MSAA (Flash) Plugin

Hi,



I have done a few searches regarding this, so I am aware that the MSAA settings are stored within a project, but I cannot for the life of me get TestExecute to find Flash-Based mapped objects.  



TestComplete runs the script without any issues, but TestExecute does not.  It cannot find anything mapped behind a flash object.  Is there something I am missing?  I have checked the extensions behind both programs and they are the same.  



The two programs are on separate machines, so would there be an issue in the way the flash objects appear or are named on another machine?  I thought this was the point to mapping the objects in the first place.  I tried to remove any really "distinguishing" items from the objects but they are still undetected in TestExecute...



Any help would be greatly appreciated.
3 REPLIES 3


Hi Ryan,





I can suggest you posting the entire object tree of the process you are working with from TestComplete and TestExecute and then comparing these trees. You can do this using the LogAppStructure script routine below. I hope this information will help you in your investigation. If it does not, please send us both result sets via the Contact Support form.





Sub Test

  Set proc = Sys.Process("iexplore")

  Call LogAppStructure(proc)

End Sub





Sub LogAppStructure(obj)

  Dim count, i, Str

  

  ReDim params(8) 

  params(0) = "WndClass"

  params(1) = "WndCaption"

  params(2) = "Index"

  params(3) = "Visible"

  params(4) = "Exists"

  params(5) = "tagName"

  params(6) = "ObjectType"

  params(7) = "ObjectIdentifier"

  params(8) = "Caption"

  

  On Error Resume Next

    Str = ""

    For i = 0 To UBound(params)

      Err.Clear

      If IsSupported(obj, params(i)) Then

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

      End If

      If Err.Number <> 0 Then

        Str = Str & params(i) & " = Error: " & Err.Description

      End If

    Next

  On Error GoTo 0

  

  Call Log.AppendFolder(obj.Name, Str)

  For i = 0 To obj.ChildCount - 1

    Call LogAppStructure(obj.Child(i))

  Next

  Log.PopLogFolder

End Sub
--
Dmitry Nikolaev

Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
rmanning
Contributor

I looked at the difference in the processes between the two machines while running the very same script, and it turns out they are both rendering one of the objects (in a flash container) with different names.  How do I get the same script to work across these systems when encountering something like this?  Why would the machines render the object with a different name?  I tried mapping the object again without using this name, but it still cannot find it on the second machine.
AlexanderM
Staff


Hi Ryan,





What are the different names of the same object on the two computers?

Please specify the value of the FullName property of the objects.
-----

Alexander
Customer Care Manager
cancel
Showing results for 
Search instead for 
Did you mean: