Как получить координаты x, y для контрольной точки текстовой области в QTP? - PullRequest
1 голос
/ 20 января 2012

Во время записи в qtp с помощью контрольной точки текстовой области, чтобы выбрать некоторую область.После записи и воспроизведения сохраните контрольные примеры.Теперь я хочу знать координаты x и y для выбранной области.Можно ли увидеть значения x и y в файле result.xml или где-то в сохраненном тестовом примере?

1 Ответ

1 голос
/ 20 января 2012

Я не совсем понимаю, что вы хотите. Может быть, вы можете объяснить более подробно. В настоящее время я даю вам некоторую информацию, которую вы можете использовать:

Если вы хотите абсолютные координаты объекта, используйте:

absX = myObj.GetRoProperty("abs_x")
absY = myObj.GetRoProperty("abs_y")

Для координат объекта относительно его родителя используйте:

relX = myObj.GetRoProperty("x")
relY = myObj.GetRoProperty("y")

Чтобы получить относительные координаты контрольной точки текстовой области, используйте:

cpRelX1 = CheckPoint("text area checkpoint").GetProperty("text_area_x1")
cpRelX2 = CheckPoint("text area checkpoint").GetProperty("text_area_x2")
cpRelY1 = CheckPoint("text area checkpoint").GetProperty("text_area_y1")
cpRelY2 = CheckPoint("text area checkpoint").GetProperty("text_area_y2")

Если вы хотите иметь абсолютное местоположение контрольной точки во время воспроизведения, вам необходимо сложить абсолютные координаты текстовой области и относительные координаты контрольной точки:

'  upperleft corner:
realCheckPointXduringRuntime = absX + cpRelX1
realCheckPointYduringRuntime = absY + cpRelY1

Для нижних правых и т. Д. Вы можете просто объединить координаты:

'  lowerright corner:
lrX = absX + cpRelX2
lrY = absY + cpRelY2

'  lowerleft corner:
llX = absX + cpRelX1
llY = absY + cpRelY2

'  upperright corner:
urX = absX + cpRelX2
urY = absY + cpRelY1
...