Перейти к содержимому

cupper

Регистрация: 06 авг 2009
Offline Активность: 13 мая 2013 07:41
-----

Мои темы

получить значение из таблицы

07 августа 2009 - 13:44

Непонимаю как получить значение ячейки из таблицы
В хелпе написано
value0 = Browser("ACE XML Gateway Manager").Page("ACE XML Gateway Manager_3").WebTable("Current").GetCellData(2,2)
но у объекта Page нет метода WebTable, а есть WebElement, через визарды добавлю новый элемент путем тыкания по нему, добавляеться в код строчка
Browser("ACE XML Gateway Manager").Page("ACE XML Gateway Manager_3").WebElement("WebTable")
а как дальше через нее получить значение таблицы я хз :(
Вот кусок кода где рисуется таблица.
Через чекпоинты название таблицы отображаеться как Current.
Скрытый текст

Будте любезны, объясните пожалуста :)

QTP работает со своим кешем ?

07 августа 2009 - 07:53

Значит вот такая проблема. Я работаю с динамическими параметрами а QTP походу со своим статическим кешем %)
Есть веб интерфейс, там нужно создать некий обект которому динамически при создании присвоиться его ID и потом сделать по этому ID посик. Предположим объект уже создан. В QTP записываю щаги:
1) зайти на сайт
2) перейти на нужную страничку
3) тут первая проблема: на этой странице есть линк на созданый объект, его ID указан в этом линке, я выбераю из етого линка в переменную Environment(id) адрес этого элемента. НО если при создании теста я не кликал по этому линку, а просто дописл ету строчку в когде QTP на отрез отказываеться узнавать етот объект. Приходиться при записи теста переходить по этому линку, а потом в коде править ету строчку чтобы не переходить на нее а проста брать адрес линка
Environment("id") = Browser("Browser").Page("test").Link("test1").GetTOProperty("href")
А если точно такуюже строку написать руками (т.е. при записи теста не переходить по линку) то он неможет его опознать. Почему так ? Както неочень удобно, если я незнаю какой мне именно линк нужен мне приходить производить дозапись в тест и после править, вместо того чтобы проста дописать в коде строчку.
4) Далее перехожу на страницу посика
5) Вписываю в поле посика ID того объекта
Browser("Browser").Page("test").WebEdit("poid").Set Right(Environment("id"), 16)

Значит все ето прекрастно работает до тех пор пока на сайте остаеться один и тотже созданые объект. Если его удалить. Создать точно такойже (имя и все прочее, но ID ему присвоиться другой) то QTP попрежнему сохраняет ID старого объекта. Если в Activ Screen посматреть на моменте когда он должен выдерать ID то там и в правду остаеться тот же объект который и был первоначально. ЧЕ ЗА НАХ (простите не удержался)? етот как ваще так О_О, он вовсе не с сайтом работает а со своим кешем ???

Если создать объект с другим именем, и в QTP в коде езменить имя на новый объект то он говорит:
The "test1" Link object was not found in the Object Repository.
Check the Object Repository to confirm that the object exists or to find the correct name for the object.
и правильно, ибо в его кеше попрежнему весит старый обект.
Почему так, как с этим бороться ?

PS. тема закрыта, проблема, в плохом англ :(

QTP, сохранить кусок URL в переменную

06 августа 2009 - 06:55

Создаю небольшой тест для веб интервейса приложения. В качестве теста, создаеться некая "хренделюшка" которой динамически присваиваеться определенные ID, затем перелогиниваюсь под другим пользователем, и нужно сделать поиск этой "хрендлеюшки" по тому ID (который ей присвоился при ее создании динамически). Все магу сделать кроме как сохранить этот ID при создании "хренделюшки" для использования его на этапе поиска. Подскажите как это можно сделать ?

PS. самое главное забыл сказать, етот ID присутсвует в сылке на ету "хренделюшку". т.е. переходишь в ету "хренделюшку" по ссылке и в адресной строке урул имет вид:
http://адрес/патч?poid=ID_хренделюшки

Вот прям пример кода:
<A href="/display.do?poid=d07bc3436a8cdb16">хренделюшка</A>