Quantcast
Channel: Automation Beyond
Viewing all articles
Browse latest Browse all 156

How to retrieve value from text node div/span/p (TestComplete)

$
0
0

Description

Let’s say we need to retrieve a number of megabytes from under “Lots of space” category.

First, we need to explore the GUI implementation. If we’re lucky, this text node may have a unique class or ID value. Then it becomes a one-step search as in the code example below.

However, if the text node doesn’t have distinct identification properties we have to locate it through one of parents/grandparents that can be identified reliably. Then in the context of the parent we can locate the target text and extract it.

Implementation

  Dim PropNames, PropValues, IEProcess
  Dim objSpan1, objParent

  'Before running this code example make sure Google Mail Login page is up in IE

  PropNames = Array("processname", "index")
  PropValues = Array("iexplore", 1)
  Set IEProcess = Sys.FindChild(PropNames, PropValues, 1, True)
  If Not IEProcess.Exists Then
    'not found - exit
  End If

  '1 - Locating span by html ID
  PropNames = Array("ObjectType", "idStr")
  PropValues = Array("TextNode", "quota")
  Set objSpan1 = IEProcess.FindChild(PropNames, PropValues, 100, True)
  MsgBox objSpan1.contentText

  '2 - Locating span via parent object
  'Get parent
  PropNames = Array("ObjectType", "tagName", "className")
  PropValues = Array("Panel", "div", "product-info mail")
  Set objParent = IEProcess.FindChild(PropNames, PropValues, 100, True)
  'Get paragraph in parent
  PropNames = Array("tagName", "contentText")
  PropValues = Array("P", "*megabytes*")
  Set objSpan1 = objParent.FindChild(PropNames, PropValues, 100, True)
  'Little parsing to retrieve the number
  MsgBox Mid(Left(objSpan1.contentText, InStr(objSpan1.contentText, "megabytes")-1), 5)

Viewing all articles
Browse latest Browse all 156

Trending Articles