QTP9:Доступ к JavaScript переменным
#1
Отправлено 14 мая 2007 - 07:44
Необходимо получить доступ(узнать значение) к JavaScript переменным находящимся на странице.
Пробовал так:
Browser("MSIE6").Page("Page").Frame("frame").Object.variableName, где variableName - имя переменной значение которой надо получить(глобальная JavaScript переменная на странице).
Ничего не получилось.
Подскажите как быть.
#3
Отправлено 15 мая 2007 - 05:53
Вообще задача в следующем:
На форме 140 объектов. У ник у всех меняются свойства. Задача состоит в проверке изменения этих свойств.
Распознавать каждый объект по отдельности не хочется(трудозатратно).
Идея была в следующем:
получить доступ к хеш-таблице объектов формы и в цикле все свойства проверить.
Может быть кто-то предложит другое решение?
#4
Отправлено 15 мая 2007 - 14:53
#5
Отправлено 16 мая 2007 - 05:40
Потом при помощи этой хеш-таблицы для каждого объекта узнать свойства(например visible, disabled)
#6
Отправлено 16 мая 2007 - 07:25
Скажу сразу, что работать со свойствами объекта через метод .Object -> по времени в 2 раза дольше. Если работа идет со стандартными свойствами, лучше использовать .GetROProperty, если нет, то тогда уже .Object.
По поводу вспомогательных функций. Например, разрабатывается javascript библиотека, которая подгружается на странице. Она создает определенный фрейм, куда и скидывает необходимые переменные. А потом уже с помощью меркури можно обратится в него, и выяснить все значения, которые интересуют. Но это уже изврат.
#7
Отправлено 16 мая 2007 - 13:12
Есть страница, на ней 140 различных элементов(WebList, WebEdit, WebCheckbox). Надо узнать у каждого свойства disabled и visible.
#9
Отправлено 17 мая 2007 - 15:27
Только пара моментов:
1. Чтобы получить дочерние элменты INPUT таблицы (советую брать по отдельности WebEdit, WebList, etc.), воспользуйтесь методом ChildObjects объекта WebTable. А потом уже в цикле получайте свойства
2. Удобнее всего результаты этой функции хранить в виде Dictionary где ключ - имя контрола (например, name или html id), a значения - ещё один Dictionary (ключ - имя свойства, value - значение свойства).
Майк.
#10
Отправлено 18 мая 2007 - 06:53
Function xc_description_get (ByVal object_description) Set el_description = Description.Create() object_description = Split(object_description, ", ") For i = 0 to UBound(object_description) object_description_item = Split(object_description(i), ": ") el_description(object_description_item(0)).Value = object_description_item(1) Next Set xc_description_get = el_description End Function
#12
Отправлено 24 мая 2007 - 11:30
PS. Вы пробовали обращаться к свойствам через Object.currentStyle, как предлагал Luceus?
#13
Отправлено 10 сентября 2007 - 17:07
Хм. Не понял, почему работать с объектами через Object по времени в 2 раза дольшеСкажу сразу, что работать со свойствами объекта через метод .Object -> по времени в 2 раза дольше. Если работа идет со стандартными свойствами, лучше использовать .GetROProperty, если нет, то тогда уже .Object.
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#14
Отправлено 11 сентября 2007 - 06:58
Например:
var1 = oSomeTable.GetCellData (4, 5)
var2 = oSomeTable.Object.Rows (3).Cells (4).innerText
Потом сделал замеры таймером, сколько скрипт выполняет первую строчку, и вторую. Пришел к тому выводу, что описал выше.
Переписав функции в скрипте, я ускорил его работу в 2 раза.
#15
Отправлено 11 сентября 2007 - 09:30
Майк.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных