silktest для новичков
#1
Отправлено 02 августа 2006 - 10:42
#2
Отправлено 02 августа 2006 - 10:53
( GUI , WEB , Java ). Исходя из этого уже можно формировать подход по-конкретнее.
Другой вариант, это изучение туториалов. В поставке с СилкТестом идут обучалки. Также на www.segue.com может находиться дополнительная документация.
А если уже хочется что-то конкретное писать, то возьмите TestApp-приложение, идущее в поставке с СилкТестом и попробуйте автоматизировать некоторый сценарий тестирования данного приложения.
#3
Отправлено 03 августа 2006 - 07:05
1. Жмякаем сюда и сюда
2. И так далее
Заранее спасибо за внимание.
#4
Отправлено 03 августа 2006 - 07:11
Да, если появятся еще вопросы, то задавайте. По возможности отвечу
Прикрепленные файлы
#5
Отправлено 03 августа 2006 - 09:53
#6
Отправлено 03 августа 2006 - 10:02
При создании нового проекта создается файл с расширением ini. Потом, как я понимаю мы добавляем командой new файл к проекту. Чем отличаются предложенные типы файлов.
На деле рекомендую использовать только
4Test Include file
4Test Script
Testplan
Они только и понадобятся реально.
Когда набирал тесткейc "Hello World" выбрал тип 4test script. В папке script появился файл .t, там я набрал строки тесткейса. Все скомпилировалось. Я все правильно делал?
Да, можно нажать F9 и посмотреть, что получится
ini-файлы содержат различные настройки в том числе и настройки самого СилкТеста. Имеется несколько стандартных файлов.А для чего используется файл с расширением ini.
#7
Отправлено 03 августа 2006 - 10:09
#8
Отправлено 03 августа 2006 - 10:12
4Test Script используется непосредственно для написания кода тесткейсов.
4Test Include file используется для хранения объявлений окон и внешних функций
#9
Отправлено 03 августа 2006 - 10:21
#10
Отправлено 03 августа 2006 - 10:36
#11
Отправлено 03 августа 2006 - 11:07
#12
Отправлено 04 августа 2006 - 07:56
И есть еще одна менее понятная ошибка. Почему-то пишет, что пременная wChild не определена. Опять же, где это лучше сделать?
#13
Отправлено 04 августа 2006 - 09:01
Создал фрейм, скрипт написал, как в примере (для TestApp). Но возникли ошибки: wTestApp.CloseAll () не определена для этого окна. Значит ее надо определить! Но где?
Там, где определено окно wTestApp.
[+] window MainWin wTestApp [ ] tag "{Constructor ()}Test Application[1]" [ ] STRING sCmdLine = "{SYS_GetEnv ("SEGUE_HOME")}\testapp.exe" [ ] STRING sDir = "{SYS_GetEnv ("SEGUE_HOME")}\" ............................................... [+] // functionality [ ] // * * * * method CloseAll [ ] // * closes all windows which opened inside Test Application [+] void CloseAll () [ ] Print ("* * * Starting Close All") [+] while dMsg.Exists (0) [ ] Print (" Message ""{dMsg.sCaption}"" closed") [ ] dMsg.Close () [+] while this.DialogBox ("#1").Exists (0) [ ] Print (" Dialog ""{this.DialogBox ("#1").sCaption}"" closed") [ ] this.DialogBox ("#1").Close () [+] if this.ChildWin ("#1").Exists (0) [ ] Print (" All Child windows closed") [ ] this.xWindow.CloseAll.Pick ()
Вот так это было изначально.
А синтаксис будет похож на appstate? Как я понимаю appstate - это тоже своеобразная функция. К тому же судя по тому, как мы вызываем wTestApp.CloseAll () - это метод класса.
Appstate - это специфическая функция. У нее есть ограничения
И есть еще одна менее понятная ошибка. Почему-то пишет, что пременная wChild не определена. Опять же, где это лучше сделать?
Это не переменная, это окно. Определено оно должно быть тоже в inc-файле.
[+] window ChildWin wChild [ ] tag "MDI Child Window*[1]" [ ] parent wTestApp [+] TextField edtText [ ] tag "#1"
#14
Отправлено 04 августа 2006 - 10:17
И еще. Не знаю, может у меня просто руки такие :), но если просто копировать код из файла "Работа с testcase" (имеется в виду копирование осмысленное, а не все подряд), то возникают логические ошибки. Например было:
[ ]Print("Step 1: From Main menu select File > New")
[ ]wTestApp.SetActive()
[ ]wTestApp.File.New.Pick()
[+]if( !wChild.Exists() )
[ ] LogError("No MDI Child Window #1 appears")
[ ] return
[+]else
[ ]Print(" MDI Child Window #1 appears")
Я же исправил на:
[ ] Print("Step 1: From Main menu select File > New")
[ ] wTestApp.SetActive()
[ ]
[-] if( !wTestApp.ChildWin("MDI Child Window #1").Exists() )
[ ] Print(" MDI Child Window #1 appears")
[ ] wTestApp.File.New.Pick()
[-] else
[ ] Print(" No MDI Child Window #1 appears")
Внимание, вопрос! Может я не уловил идею? Но мой вариант полностью отвечает тому, что требовалось: открыть окошко, если его не открывали до этого.
#15
Отправлено 04 августа 2006 - 10:42
#16
Отправлено 04 августа 2006 - 10:50
"MDI Child Window #2" и т.д. Лучше его объявить в том виде, в котором я предложил, поскольку в этом случае wChild отвечает именно активному дочернему окну.
Насчет ваших корректировок. Дело в том, что данный тесткейс всегда начинается из одного и того же исходного состояния приложения, в котором открыто только главное окно и больше ничего. Поэтому ваша дополнительная проверка - просто лишнее действие
#17
Отправлено 07 августа 2006 - 06:53
#18
Отправлено 07 августа 2006 - 06:58
Прикрепленные файлы
#19
Отправлено 07 августа 2006 - 07:02
Перед самим запуском скрипта помимо проверки на наличие главного окна производится закрытие всех окон (метод CloseAll вызывается). Поэтому начальное состояние всегда одноЯ прошу прощения, если своими действиями задел автора, но мы же еще проверяем, запущено приложение или нет. Если нет, то тогда моя проверка лишняя, а если запущено и в нем имеется окошко, то тогда возникает логическая ошибка именно в нередактированном коде. И опять же я прошу прощения за свои слова, может я чего-то не улавливаю. Но с точки зрения программирования, а не тестирования ошибка все же есть.
#20
Отправлено 07 августа 2006 - 07:47
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных