Считывание значения в ячейке DataGrid
#1
Отправлено 07 мая 2009 - 13:23
Сейчас пытаюсь опробовать в "полевых условиях" различные программы для автоматического тестирования, и пришла очередь Rational Robot (самая последняя доступная версия 7.0.2.01).
Задачка такая - создаем юзера с неким ID (допустим, 123), дальше открываем список всех юзеров (где их довольно много) и открываем того самого юзера с ID 123, которого только что создали. Открыть можно либо даблкликом по координатам на строке с юзером (это не подходит, ибо список скроллится), либо можно выделить первый элемент таблицы и дальше действовать по схеме: проверяем ID юзера в строке, если это не он, то жмем "вниз", если он, то жмем "энтер".
Проблема в том, что я не могу понять, как в Rational Robot считать значение ячейки моего DataGrid-a.
Эту задачку я уже решала в TestComplete и Borland SilkTest, но в RR отличается форма записи строки.
Тестируемая программка с Windows Forms.
Заранее спасибо за ответ
#2
Отправлено 08 мая 2009 - 06:01
HelpЗдравствуйте,
Сейчас пытаюсь опробовать в "полевых условиях" различные программы для автоматического тестирования, и пришла очередь Rational Robot (самая последняя доступная версия 7.0.2.01).
Задачка такая - создаем юзера с неким ID (допустим, 123), дальше открываем список всех юзеров (где их довольно много) и открываем того самого юзера с ID 123, которого только что создали. Открыть можно либо даблкликом по координатам на строке с юзером (это не подходит, ибо список скроллится), либо можно выделить первый элемент таблицы и дальше действовать по схеме: проверяем ID юзера в строке, если это не он, то жмем "вниз", если он, то жмем "энтер".
Проблема в том, что я не могу понять, как в Rational Robot считать значение ячейки моего DataGrid-a.
Эту задачку я уже решала в TestComplete и Borland SilkTest, но в RR отличается форма записи строки.
Тестируемая программка с Windows Forms.
Заранее спасибо за ответ
(смотри GenericObjectVP или SQAGetProperty)
#3
Отправлено 08 мая 2009 - 06:22
Я пробовала использовать кнопку с надписью Data 0101, которая, если я ничего не путаю, используется в примере в туториале, но она выдает сообщение об ошибке (программа не видит данные в датагрид), далее я просмотрела список доступных properties этого DataGrid-a, где, в принципе, нашла несколько элементов, которые мне могли бы подойти - Item, CurrentCell, но либо это все-таки не то, либо я неправильно к ним обращаюсь. Вытащить значение я пытаюсь как раз с помощью SQAGetProperty
На всякий случай - мне не нужно запомнить номер, существующий в датагриде на момент записи скрипта, мне нужно создать нового юзера с новым номером, запомнить его, а потом именно его найти и открыть
#4
Отправлено 14 мая 2009 - 14:14
#5
Отправлено 18 мая 2009 - 11:29
#6
Отправлено 18 мая 2009 - 11:37
Снова вернулась к RR, "а воз и ныне там". Предполагаю, что проблема в том, что мой DataGrid в скрипте описан как GenericObject. Товарищи опытные пользователи, подскажите, в этом ли дело и как это решить.
InputKeys "^A^c"
sData = Clipboard.GetText()
#7
Отправлено 18 мая 2009 - 12:36
#8
Отправлено 18 мая 2009 - 13:00
Ctrl+A не работает в моем DataGrid-e (выделение больше чем одной целой строки, и меньше тоже, невозможно)
Ctrl+C работает?
{UP}{DOWN}{LEFT}{RIGHT}...
#9
Отправлено 18 мая 2009 - 13:16
На данный момент планирую сделать так:
Клик по координатам 1,1 на датагриде
while flag=0
ctrl+c
проверить данные в клипборде
if (value=what I need)
Enter
flag=1
else
Down
wend
Спасибо за идею...
#10
Отправлено 18 мая 2009 - 13:26
#11
Отправлено 18 мая 2009 - 13:34
Не, не катит :) Выдается одна строка, из которой мне нужно одно значение, которое начинается с неизвестного символа и имеет неизвестную длину :)
?
instr
#12
Отправлено 18 мая 2009 - 13:45
Было принять решение не рассматривать дальше эту тулзу, поскольку использование датагрида критично для работы. Если будут идеи, как обратиться к нему напрямую, то я буду благодарна ответу. Если же решение возможно только обходным путем, то смысла в этом нет.
Спасибо за помощь :)
#13
Отправлено 18 мая 2009 - 13:53
...Необходимое мне значение находится во второй колонке. Всего колонок 3. Выделить можно только построчно, таким образом Ctrl+C дает мне строку с 3мя значениями, которые все разной длины..
if instr(sDataFormClipboard,sValueWhatINeed)>0
Enter
flag=1
else
...
#14
Отправлено 19 мая 2009 - 05:59
Но если sValueWhatINeed в колонке 1 или 3, то отработает некорректно....Необходимое мне значение находится во второй колонке. Всего колонок 3. Выделить можно только построчно, таким образом Ctrl+C дает мне строку с 3мя значениями, которые все разной длины..
if instr(sDataFormClipboard,sValueWhatINeed)>0
Enter
flag=1
else
...
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных