Комментарии по теме

«Об одной те­хно­ло­гии работы с длинными текстами в SAP BW, BI-IP»
Илья Муковоз:
Более красивое решение: SAP BW - BusinessDocumentService (BDS).
«Рестарт SAP ERP и влияние на SAP BW»
Олег Точенюк:
Да я прочитал, я вообще интересуюсь, вы где-то такое видели с копированием продуктивных мандантов (классическое заблуждение, не знаю кого) и ... если видели, то добавить мандант нужно было на этапе...
«Рестарт SAP ERP и влияние на SAP BW»
Олег Точенюк:
Илья, а Вы такое в жизни видели? Просто описанная вами схема с копированием первого квартала в новую систему и параллельный ввод данных уже в системы первого и второго кварталов показывают, что для...

База знаний

Вы можете подписаться на эту колонки этого автора, если авторизируетесь или зарегистрируетесь

Автоматизация тестирования BEx-отчетов

16 ноября 2015, 20:13

Одна из практик экстремального программирования гласит: "Для того, чтобы разрабатываемая система была надежной и работоспособной, необходимо внедрить на проекте подход, при котором разработчик сначала делает тест, а после него только разработку". Данный подход крайне продуктивный с точки зрения обеспечения работоспособности системы при внесении в нее изменений и модификаций за счет возможности выполнения контрольного прогона разработанных на разных этапах проекта тестов и получения адекватной картины отказа функциональных блоков.

Но, как это не прискорбно констатировать, реализация подобного механизма самотестирования в SAP BW, обеспечивающего проверку работоспособности разработанного функционала раньше представлялась трудной и сложно реализуемой задачей. И если для тестирования ETL внутри SAP BW еще можно было применить автоматизацию средствами ABAP, то для тестирования BEx отчетов такой метод уже не очень подходит т.к. требует привлечения и постоянного участия ABAP-ориентированного специалиста BW.

Но, технологии не стоят на месте и на рынке уже появились бесплатные скриптовые языки, позволяющие полностью эмулировать поведение пользователя, а значит запустить BEx-отчет, выбрать из контекста необходимые параметры, получить результат и автоматически сравнить его с эталоном! А это означает что еще одна парадигма экстримального программирования может быть применена и реализована в SAP BW!

   

; Script Start

; запускаем BEx
run("C:\Program Files (x86)\SAP\Business Explorer\BI\BExAnalyzer.exe")
WinWaitActive("Microsoft Excel")
Send("!'l")
Send ("{DOWN}")
Send("{ENTER}")
WinWaitActive("Вкл. SAP-Logon B73")
Send("пароль")
Send("{ENTER}")

; Открываем отчет
WinWaitActive("Открыть")
Send("{TAB}")
Send("Имя отчета")
Send("{ENTER}")
WinWaitActive("Выбрать значения для переменных")
MouseClick("left",784,345,1)
WinWaitActive("Выбор значений для Компания")
MouseClick("left",782,198,1)
Send("{DOWN}")
Send("{TAB}")
Send("{TAB}")
Send("{RIGHT}")
Send("{DOWN}")
Send("{DOWN}")
Send("{ENTER}")
WinWaitActive("Выбрать значения для переменных")
Send("{ENTER}")
MsgBox($MB_SYSTEMMODAL, "Успех!!!", "BEx отчет запущен скриптом.", 5)
WinClose("Microsoft Excel")
MouseClick("left",784,345,1)
Send("{TAB}{ENTER}")

Пример Script вызова BEx-отчета

С уважением, Илья Муковоз

Руководитель отдела Хранилища SAP BW САПРАН

Комментарии:

Сергей Трофимик (Рейтинг: 11) 16:36, 24 ноября 2015

Столкнулся с трудностью, возможно, подскажете как ее обойти.
Ввод пароля не проходит. Даже смещение по полям в данном окне не возможно.
 
WinWaitActive("Вкл. SAP-Logon BRD")
Send("пароль")

бабкен минасян (Рейтинг: 68) 18:45, 18 октября 2016

Очередная реализация sendkey. Пробовал подобное для другой задачи автоматизации - эмуляция действий пользователя по массовому переводу пользователей в домен. Жуткая штука!
При работе скрипта нельзя пользоваться машиной. Любые операции с средствами ввода(мышь, клавиатура) приводят к краху работы скрипта. Кроме того, нельзя на одной станции тестировать одновременно несколько отчетов. Имхо, если нужно эмулировать пользователя, то стоит посмотреть в сторону WinApi/BexApi.