QTP 10: посчитать количество писем на Яндексе
#1
Отправлено 08 ноября 2011 - 09:22
Попутно возник второй вопрос: если писем будет очень много, вероятно, появятся страницы. Тогда мой подход окажется не результативным..
Подскажите, как бы вы решали такую задачу, с чего бы начали?
#2
Отправлено 08 ноября 2011 - 10:40
Встала задача посчитать количество писем в ящике электронной почты. Допустим, на Yandex. Честно говоря, такую задачу решаю впервые. Первое, что пришло в голову: найти таблицу, которая выводит письма, и посчитать в ней количество строк. Но QTP не хочет фиксировать таблицу в ресурсах, потому хотел спросить у коммюнити, как к ней можно обратиться.
Попутно возник второй вопрос: если писем будет очень много, вероятно, появятся страницы. Тогда мой подход окажется не результативным..
Подскажите, как бы вы решали такую задачу, с чего бы начали?
Нужно именно через гуи? Если нет, я бы копал в строну апи к сервису или использовал бы библиотеки для работы с протоколом.
#3
Отправлено 08 ноября 2011 - 10:55
В идеале, надо достучаться до коллекции с письмами. Думаю, через гуи -- не лучший выход... пока ищу какой-нить функционал на vbs, получающий почтуНужно именно через гуи? Если нет, я бы копал в строну апи к сервису или использовал бы библиотеки для работы с протоколом.
Просто, несколько непонятно, в каком контексте идет работа после того, как я залогинился. И к чему я обращаться могу и как из QTP
#4
Отправлено 08 ноября 2011 - 11:19
Там рядом с ящиком не написано число писем? Логинитесь и берете цифру оттудаВ идеале, надо достучаться до коллекции с письмами. Думаю, через гуи -- не лучший выход... пока ищу какой-нить функционал на vbs, получающий почтуНужно именно через гуи? Если нет, я бы копал в строну апи к сервису или использовал бы библиотеки для работы с протоколом.
Просто, несколько непонятно, в каком контексте идет работа после того, как я залогинился. И к чему я обращаться могу и как из QTP
#5
Отправлено 08 ноября 2011 - 11:25
Идея хороша, но на следующем шаге надо проверить, пришло ли письмо с темой "Ping" и с телом "Test". Как это через action сделать пока смутно представляюТам рядом с ящиком не написано число писем? Логинитесь и берете цифру оттуда
#6
Отправлено 08 ноября 2011 - 13:08
Хм, каждый элемент таблицы имеет свой идентификатор или тег, ищите способ обращаться к элементу таблицы писемИдея хороша, но на следующем шаге надо проверить, пришло ли письмо с темой "Ping" и с телом "Test". Как это через action сделать пока смутно представляюТам рядом с ящиком не написано число писем? Логинитесь и берете цифру оттуда
как найдете, все можно вытащить регулярным выражением
#7
Отправлено 08 ноября 2011 - 14:27
Upd. Столкнулся с такой проблемой: ссылка "следующая" строится динамически и QTP сохраняет ее в качестве нового ресурса (с каждой ссылкой ассоциирован переход на страницу с номером, на 1 большим, чем номер текущей, номер входит в состав url). Однако, такая ссылка единственная на странице. Может, как-то можно перейти на гиперссылку, зная ее название и надпись?
Upd2. Вытащил гиперссылку по свойству name, но не могу определить ее доступность:
Exist() = True Object.Disabled = False Object.IsDisabled = False
Гиперссылка есть на странице, но не кликабельна. Может, это можно как-то определить? Сама гиперссылка отыскивается так:
Set hlDesc = Description.Create hlDesc("class").Value = "b-pager__next" Set hlList = currPage.ChildObjects(hlDesc) For i = 0 to (hlList.Count()-1) Set urlNextMail = hlList(i) 'there would be the only element in list Next
Нашел скрытый контрол возле количества писем, взял цифры в итоге оттуда
Сообщение отредактировал EugeneL: 09 ноября 2011 - 13:18
#8
Отправлено 17 ноября 2011 - 14:40
Выкачать письма в аутлук и потом работать с COM-объектом Outlook'a напрямую без GUI.
Будет намного надежнее и без парсинга яндексовых страниц
Или вообще найти утилиту/скрипт на чем-нибудь, кто может напрямую по IMAP с веб-сервером общаться и использовать ее
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных