Использование AppState
#1
Отправлено 27 ноября 2006 - 13:20
У меня в приложеннии такая проблема - при изменении размеров окна, соответственно изменяются координаты выпадающего списка и тогда при выполнении теста выдается ошибка,что не находит объект такой-то при клике на выпадающий список. Хотел восстанавливать каждый раз окно приложения, но не знаю как. Записал состояние окна и попробовал вызывать функцию SetAppState(). Но при запуске теста SilkTest ругается что верификация провалена(вызывал SetAppState() просле запуска приложения) или что приложения нет(когда до запуска).
#2
Отправлено 27 ноября 2006 - 13:27
при изменении размеров окна, соответственно изменяются координаты выпадающего списка и тогда при выполнении теста выдается ошибка
а зачем описывать этот выпадающий список по координатам?
неужели нет другого подходящего варианта?
по caption'у, по номеру
использование координат - самое последнее дело
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#3
Отправлено 27 ноября 2006 - 13:45
Надо кликнуть не просто по полю - на делфи сделано лукап поле. Если по нему не кликать, то выглядит как обычное поле, а чтобы выпал список нужно кликнуть по правому краю этого поля. А в выпавшем списке, поля этого списка не определяются, так что тоже только по координатам клик происходит. Если есть какое-то решение моей проблемы буду рад узнать его.а зачем описывать этот выпадающий список по координатам?
неужели нет другого подходящего варианта?
по caption'у, по номеру
#4
Отправлено 27 ноября 2006 - 13:48
если нет - почитайте, возможно, это и есть решение проблемы
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#5
Отправлено 27 ноября 2006 - 13:49
#6
Отправлено 27 ноября 2006 - 14:03
как это сделать читайте в вышеназванной главе
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#7
Отправлено 27 ноября 2006 - 14:04
#8
Отправлено 27 ноября 2006 - 14:09
если есть возможность - приаттачте к сообщению простое приложение, состоящее из одного окна и вашего лукапа в этом окне с несколькими значениями
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#9
Отправлено 27 ноября 2006 - 15:04
#10
Отправлено 27 ноября 2006 - 15:05
#11
Отправлено 27 ноября 2006 - 15:31
И кто-нибудь напишите плиз поподробнее как все-таки правильно загрузить нужное состояние
appstate - это разновидность функции. весь код аппстейта вы пишете сами. там вы можете прописать любые действия, которые нужны при старте/завершении тесткейса (старт приложения, обработка окон, которые могут появиться при запуске приложения, если надо - изменение размеров окна и т.п.)
для проверки текущего состояния тесткейса используется функция GetTestcaseState
но все это описано в руководстве вообще-то
более подробно описано в хелпе
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#12
Отправлено 28 ноября 2006 - 14:23
В программе используется dbGridЕН, в котором могут произвольно менятся ширина колонок, а колонки можно менять местами - пользователь может настраивать как ему больше нравиться. Видимо надо обращатся и идентифицировать по капшенам и ячейкам. Но сам грид как стандартный класс не определяется, соответственно напрямую с ячейками я работать не могу. Как можно переопределить класс или еще что сделать, чтобы получить к ним доступ? Можно ли при записи виндовс-декларэйшенс записывать ячейки поименно - т.е. что-то вроде табл.колонка"капшен1"."#3 - третья ячейка колонки с названием "капшен1"
В руководстве было написано:
Например, если на форме имеется элемент ListBox, то SilkTest будет его определять как CustomWin TListBox и, как следствие, работать с ним будет невозможно. Однако если в Class Map'e определить этот класс как ListBox, то все операции, которые можно производить с обычным ListView, станут доступны и для класса TListView. Однако так поступить можно не со всеми элементами (например, с классом GridControl это не поможет).
Хотел бы привести пример, но не получается - для dbGridЕН нужна БД а я пока неразобрался как работать с локальными наборами данных
#13
Отправлено 30 ноября 2006 - 02:27
А нет ли у вас случайно какого-либо GUI-less интерфейса, чтобы в этой тягомотине вообще не разбираться?Мда, аппстэйт мне пока не поможет. Появились сложности с гридом:
В программе используется dbGridЕН, в котором могут ...
#14
Отправлено 30 ноября 2006 - 08:39
А нет ли у вас случайно какого-либо GUI-less интерфейса, чтобы в этой тягомотине вообще не разбираться
имхо подобное решение можно считать лишь воркэраундом, так как задача функционального тестирования все-таки заключается в том, чтобы действовать как пользователь, а не пользуясь вспомогательными средствами
и если уж на то пошло, то лучше написать методы, которые будут нужное количество раз жать кнопки вправо, вниз, и т.п. и использовать буфер обмена для считывания информации
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#15
Отправлено 01 декабря 2006 - 07:35
И если учесть, что это тоже воркэраунд, то настоятельно рекомендуется в данном случае забыть о проверках текстов заголовков колонок и строк. Их можно достать, обращаясь к контролу только напрямую.и если уж на то пошло, то лучше написать методы, которые будут нужное количество раз жать кнопки вправо, вниз, и т.п. и использовать буфер обмена для считывания информации
#16
Отправлено 07 декабря 2006 - 10:42
Но для этого нужно либо класс объявлять в dll либо делать его экспортируемым (чтобы можно было кастить класс из CWnd в нужный класс).
Если позволит время и начальство, то попробую еще и грязные хаки (когда класс компилируется вместе с приложением, а я руками в dll-ке вычисляю указатель на него).
Т.к. Вы, как я понял, также и программист, то Вам скорее всего стоит посмотреть в сторону библиотечки EKWIN, которая входит в поставку SilkTest-а.
С её помощью можно добавить свой класс для Вашего dbGridЕН так, чтобы он распознавался Силком как обычный грид.
что касается
то это можно сделать только если Силк может как-то узнать названия колонок (просто по порядку) и может считывать значения из ячеек по ее координатам.табл.колонка"капшен1"."#3
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных