Description
The _NewEnum
property provides support for enumerating items in the collection that belongs to the given object. This property allows you to use the built-in syntax of the script languages supported by TestComplete to iterate through an object’s collection of items. For example, you can enumerate through objects by using the Utils.Enumerator
object or by using language-specific statements: in JavaScript, enumeration is done by using the for...of
statement, in JScript, Python, C#Script and C++Script - by using the Enumerator
object, and in VBScript - by using the For Each
statement.
Declaration
ProgObj._NewEnum
Read-Only Property | An Enumerator object |
ProgObj | An expression, variable or parameter that specifies a reference to one of the objects listed in the Applies To section |
Applies To
-
All processes, windows, controls and onscreen objects.
Property Value
An Enumerator
object that provides access to the object’s child objects collection.
Example
The following code employs the native script language means of the collection item enumeration to create a list of the names of currently-running processes, one per line, and posts this list to the test log:
JavaScript
function Test()
{
for (let p of Sys)
{
Log.Message(p.Name);
}
}
JScript
function Test()
{
var iterator = new Enumerator(Sys);
for (; !iterator.atEnd(); iterator.moveNext())
{
Log.Message(iterator.item().Name);
}
}
Python
def Test():
enum = Utils.Enumerator(Sys)
while not enum.AtEnd:
Log.Message(enum.Item.Name)
enum.MoveNext()
VBScript
Sub Test
Dim p
For Each p In Sys
Log.Message p.Name
Next
End Sub
DelphiScript
procedure Test;
var enum;
begin
enum := Utils.Enumerator(Sys);
while not enum.AtEnd do
begin
Log.Message(enum.Item.Name);
enum.MoveNext;
end;
end;
C++Script, C#Script
function Test()
{
var iterator = new Enumerator(Sys);
for (; !iterator["atEnd"](); iterator["moveNext"]())
{
Log["Message"](iterator["item"]()["Name"]);
}
}