Тестирование На Silktest I Need Help
#1
Отправлено 17 августа 2007 - 07:50
у меня есть таблица с данными силк ее описывает как ListView но мне необходимо вводить данные в эту таблицу
стандартными методами это сделать невозможно.Подскажите пожалуйста что мне лучше сделать.
Я сделал следующим образом :
написал новый метод который вначале SetFokus на ListView
затем через TypeKeys нахожу нужную ячейку и посредствам все того же TypeKeys ввожу данные
Данный метод работает очень медленно так как размеры таблицы велики и необходимо проверить много калькуляций.
Я уверен что есть возможность все это сделать красивее чем сделал я, и что все работать будет быстрее.
#2
Отправлено 17 августа 2007 - 08:29
У ListView есть метод Select, который позволяет выбрать нужный элемент. При необходимости есть DoubleSelect метод, который выбирает элемент двойным кликом. Уже выбрав этот элемент можно пробовать комбинации клавиш.Я тестируя вин. приложение наткнулся на следующую проблему:
у меня есть таблица с данными силк ее описывает как ListView но мне необходимо вводить данные в эту таблицу
стандартными методами это сделать невозможно.Подскажите пожалуйста что мне лучше сделать.
Я сделал следующим образом :
написал новый метод который вначале SetFokus на ListView
затем через TypeKeys нахожу нужную ячейку и посредствам все того же TypeKeys ввожу данные
Данный метод работает очень медленно так как размеры таблицы велики и необходимо проверить много калькуляций.
Я уверен что есть возможность все это сделать красивее чем сделал я, и что все работать будет быстрее.
ЗЫ: На всякий: тут есть подфорум, как раз для вопросов по СилкТесту и у нужных людей настроены нотификации именно на данный подфорум. Поэтому, если вы хотите в будущем задавать вопросы по Силку и получить на них ответы (оперативно), то это будет куда более реально, если вы воспользуетесь последним советом
#3
Отправлено 17 августа 2007 - 09:53
Мне Select реально неудобен так как у меня более 300 столбцов.
Напиши плиз где идет обсуждение вопросов связанных с SilkTest-ом буду благодарен
#4
Отправлено 17 августа 2007 - 10:19
Select-у можно передавать и строку-содержимое списка. Факт, что это универсальный метод работы с ListView. Если много столбцов, то можно попробовать задействовать метод FindItem и передать шаблон, напрмиер "*test*" и метод вернет индекс первого элемента, который попался в списке, удовлетворяющий шаблону. А полученный индекс уже можно использовать как параметр для SelectМетод Select выбирает не элемент в ListView а выбирает строку по номеру и можно смотреть только по строчно
Мне Select реально неудобен так как у меня более 300 столбцов.
Да вот здесь же подфорум есть.Напиши плиз где идет обсуждение вопросов связанных с SilkTest-ом буду благодарен
http://software-test...hp?showforum=32
#5
Отправлено 18 августа 2007 - 09:50
#6
Отправлено 18 августа 2007 - 12:26
Select - это выбор нужного элемента. А дальше уже используйте клавиатурный ввод, чтобы как-то вписать текст в поле. То есть это просто итбрасывает необходимость с помощью TypeKeys выбирать элемент, что ускоряет время выполнения.Всетаки меня до сих пор волнует вопрос есть ли возможность записи в элемент ListView? Метод Select хоть и классический но, на сколько я знаю, записывать с помощью него ,если возможно, то очень тяжело.
#7
Отправлено 22 августа 2007 - 17:43
мне надо передать в функцию несколько переменных в часности list of string
например func (in string Name, in list of string Friends,in list of string Family, string date )
и ввод такого типа неполучается func("Name",{"bob","kate"},{"mather","father"},"01.01.05")
пробовал подругому не получается.
Help please
#8
Отправлено 22 августа 2007 - 18:10
Можете что ли объявление этой функции запостить и указать, какую ошибку выдает или что вы подразумеваете под словом "неполучается". Вот код:Еще возник у меня очень интересный вопрос :
мне надо передать в функцию несколько переменных в часности list of string
например func (in string Name, in list of string Friends,in list of string Family, string date )
и ввод такого типа неполучается func("Name",{"bob","kate"},{"mather","father"},"01.01.05")
пробовал подругому не получается.
Help please
[+] test( STRING sValue, LIST OF STRING lsValue1, LIST OF STRING lsValue2, STRING sDate ) [ ] Print( sValue ) [ ] ListPrint(lsValue1) [ ] ListPrint(lsValue2) [ ] Print(sDate) [ ] [+] main() [ ] test("Name",{"1","22"},{"22222","32123"},"01.05.07")И он вполне рабочий. Может он выполняет не то, что вы ожидали? Так проблема тогда в чем-то другом
#9
Отправлено 27 августа 2007 - 13:06
например вот тут 1я строка отработает, а вторая - даже не скомпилируется изза этого :
[ ] Print (Val({"a"}[1]))
[ ] Print (" {Val({"a"}[1])} ")
#10
Отправлено 28 августа 2007 - 16:10
необходимо зациклить main в котором находится некоторое количество testcase
и передовать в main значения
И еще если несложно как сделать чтобы силк записывал результаты в файл txt
#11
Отправлено 28 августа 2007 - 21:25
Main - это функция, которая является по совместительству точкой входа программы с наивысшим приоритетом. Короче говоря, если ее и может кто зациклить, то только сама же функция main, если грамотно воспользоваться рекурсией. Но я бы не рекомендовал бы этого делать. Лучше создайте какую-то другую функцию с нужными параметрами, поместите туда нужные вам тесткейсы и уже зацикливайте ее прямо в main-e. Как минимум, это куда более разумноПомогите еще в одном вопросе
необходимо зациклить main в котором находится некоторое количество testcase
и передовать в main значения
Вам сюда по данному вопросуИ еще если несложно как сделать чтобы силк записывал результаты в файл txt
#12
Отправлено 30 августа 2007 - 08:31
Есть ли возможность делать большие коменты как в си /* */ ???
#13
Отправлено 30 августа 2007 - 09:15
Нет, таких комментов там нет. Можно выделить блок кода и последовательно нажать Alt + L + M. Такой хоткей позволит закомментировать выделенный блок. Хоткей Alt + L + N выделенный блок раскомментирует.Спасибо за помощь
Есть ли возможность делать большие коменты как в си /* */ ???
#14
Отправлено 05 сентября 2007 - 14:25
#15
Отправлено 05 сентября 2007 - 14:41
Такой возможности нет. Можно только прекращать выполнение. Единственной альтернативой для выполнения данной операции может быть вызов метода Agent.DisplayMessage в нужном месте программы. Эта инструкция вызовет появление сообщения, при этом выполнение приостановится до тех пор, пока не будет нажата кнопка ОК. Но это только для остановки в определенном месте выполнения скриптаВ силктесте есть возможность останавливать (делать паузу ) во время его работы ?
#16
Отправлено 05 сентября 2007 - 14:42
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#17
Отправлено 05 сентября 2007 - 14:48
Ну это уже как обходной вариант, если такие паузы нужны именно для отладки. А то попадались "читеры", которые запускали скрипты до определенного места в коде, а затем, пользуясь паузой, корректировали приложение и возобновляли выполнение. Вот в этом случае в Debug режим можно и не переключатьсяЕще есть возможность останавливать с помощью breakpoint'ов в Debug режиме
#18
Отправлено 10 сентября 2007 - 13:00
главное, чтобы активным в это время какое-нить бесполезное окно, а то агент над ним вызовет появление модального окошка, которое не даст вам ничего сделать с этим окномТакой возможности нет. Можно только прекращать выполнение. Единственной альтернативой для выполнения данной операции может быть вызов метода Agent.DisplayMessage в нужном месте программы. Эта инструкция вызовет появление сообщения, при этом выполнение приостановится до тех пор, пока не будет нажата кнопка ОК. Но это только для остановки в определенном месте выполнения скриптаВ силктесте есть возможность останавливать (делать паузу ) во время его работы ?
#19
Отправлено 17 сентября 2007 - 12:08
#20
Отправлено 17 сентября 2007 - 12:55
Можно ли с помощью силк теста на окне искать кнопки или надписи если они не описаны в фрейме ?
можно, вот пример для окна Калькулятора. В нем не описано ни одного контрола, жмутся кнопки 1,2 и 3. Если в массив добавить другие кепшены, то они тоже будут нажиматься
window MainWin wCalc tag "Calculator" main() Print("Pressing buttons 1, 2 and 3 which are not declared") INTEGER i, j LIST OF WINDOW lw = wCalc.GetChildren() LIST OF STRING ls = {"1", "2", "3"} wCalc.SetActive () for i = 1 to ListCount(lw) if(ClassOf(lw[i]) == PushButton) for j = 1 to ListCount(ls) if(lw[i].sCaption == ls[j]) lw[i].Click() break
а можно и еще проще
for i = 1 to ListCount(ls) if(wCalc.PushButton(ls[i]).Exists()) wCalc.PushButton(ls[i]).Click() else LogWarning("Button with caption {ls[i]} not found")
ЗЫ: лучше бы вы этот вопрос в отдельную тему вынесли имхо
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных