Перейти к содержимому

Фотография

silktest для новичков


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 151

#1 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 02 августа 2006 - 10:42

Помогите пожалуйста. С чего начинать работу с silktest.
  • 0

#2 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 02 августа 2006 - 10:53

Первым делом, определитесь, какие приложения собираетесь тестировать
( GUI , WEB , Java ). Исходя из этого уже можно формировать подход по-конкретнее.

Другой вариант, это изучение туториалов. В поставке с СилкТестом идут обучалки. Также на www.segue.com может находиться дополнительная документация.

А если уже хочется что-то конкретное писать, то возьмите TestApp-приложение, идущее в поставке с СилкТестом и попробуйте автоматизировать некоторый сценарий тестирования данного приложения.
  • 0

#3 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 03 августа 2006 - 07:05

Спасибо, что не бросаете новичков. Прочитал пример с Гуглом. Все что там описано, вроде понял. Обрадованный этим открываю SilkTest и... Все! Дальнейших знаний хватило лишь чтобы создать новый проект. Нельзя ли дополнить пример с Гуглом наподобие:
1. Жмякаем сюда и сюда
2. И так далее
Заранее спасибо за внимание.
  • 0

#4 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 03 августа 2006 - 07:11

Если вы заметили, этот файлик назывался 04.htm, что подразумевает аналогичные 01 02 и 03. Похоже я это могу долго объяснять, но лучше сделаю по-другому. Я прикрепил первые 2 главы. В первой главе рассматривается создание фрейма, различные нюансы. А во 2-й главе рассматривается написание тестового скрипта. Я еще пороюсь у себя. Там должны быть и сами файлы рассматриваемых примеров.

Да, если появятся еще вопросы, то задавайте. По возможности отвечу

Прикрепленные файлы

  • Прикрепленный файл  01.htm   40,66К   636 Количество загрузок:
  • Прикрепленный файл  02.htm   235,31К   379 Количество загрузок:

  • 0

#5 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 03 августа 2006 - 09:53

При создании нового проекта создается файл с расширением ini. Потом, как я понимаю мы добавляем командой new файл к проекту. Чем отличаются предложенные типы файлов. Когда набирал тесткейc "Hello World" выбрал тип 4test script. В папке script появился файл .t, там я набрал строки тесткейса. Все скомпилировалось. Я все правильно делал? А для чего используется файл с расширением ini.
  • 0

#6 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 03 августа 2006 - 10:02

При создании нового проекта создается файл с расширением ini. Потом, как я понимаю мы добавляем командой new файл к проекту. Чем отличаются предложенные типы файлов.



На деле рекомендую использовать только
4Test Include file
4Test Script
Testplan

Они только и понадобятся реально.

Когда набирал тесткейc "Hello World" выбрал тип 4test script. В папке script появился файл .t, там я набрал строки тесткейса. Все скомпилировалось. Я все правильно делал?


Да, можно нажать F9 и посмотреть, что получится

А для чего используется файл с расширением ini.

ini-файлы содержат различные настройки в том числе и настройки самого СилкТеста. Имеется несколько стандартных файлов.
  • 0

#7 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 03 августа 2006 - 10:09

Значит мне пока в ini не лазить? А для написания скрипта для тестирования TestApp использовать 4Test Script?
  • 0

#8 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 03 августа 2006 - 10:12

Тот ini-файл, который вы подразумеваете, предназначен для хранения настроек проекта и вам его использовать не надо.

4Test Script используется непосредственно для написания кода тесткейсов.
4Test Include file используется для хранения объявлений окон и внешних функций
  • 0

#9 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 03 августа 2006 - 10:21

Огромное спасибо за помощь! Буду пытаться писать. SilkTest осваивать-то надо.
  • 0

#10 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 03 августа 2006 - 10:36

Для файла 4Test Include родное расширение .inc? Это значит, что "Первым делом нужно гарантировать, что при запуске данного тесткейса приложение будет находиться в некотором детерминированном состоянии. Для этого в файле TestApp.inc допишем appstate" необходимо создать файл 4Test Include, где и писать appstate?
  • 0

#11 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 03 августа 2006 - 11:07

Да, appstate удобнее поместить в inc - файл, откуда его можно будет вызывать в разных тесткейсах
  • 0

#12 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 04 августа 2006 - 07:56

Создал фрейм, скрипт написал, как в примере (для TestApp). Но возникли ошибки: wTestApp.CloseAll () не определена для этого окна. Значит ее надо определить! Но где? А синтаксис будет похож на appstate? Как я понимаю appstate - это тоже своеобразная функция. К тому же судя по тому, как мы вызываем wTestApp.CloseAll () - это метод класса.
И есть еще одна менее понятная ошибка. Почему-то пишет, что пременная wChild не определена. Опять же, где это лучше сделать?
  • 0

#13 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 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"

  • 0

#14 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 04 августа 2006 - 10:17

Спасибо за помощь! Кстати вторую ошибку просто можно обойти, обратившись wTestApp.ChildWin("MDI Child Window #1").Exists().
И еще. Не знаю, может у меня просто руки такие :), но если просто копировать код из файла "Работа с 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")

Внимание, вопрос! Может я не уловил идею? Но мой вариант полностью отвечает тому, что требовалось: открыть окошко, если его не открывали до этого.
  • 0

#15 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 04 августа 2006 - 10:42

Имеется в виду, что в исходном тексте сначала вызывалось окошко, а уже потом проверялось, есть ли такое же. Я же внес вызов окошка в if.
  • 0

#16 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 04 августа 2006 - 10:50

Запись вида ChildWin("MDI Child Window #1") предложенная вами не является очень хорошим решением, поскольку есть такое же окно с заголовком
"MDI Child Window #2" и т.д. Лучше его объявить в том виде, в котором я предложил, поскольку в этом случае wChild отвечает именно активному дочернему окну.


Насчет ваших корректировок. Дело в том, что данный тесткейс всегда начинается из одного и того же исходного состояния приложения, в котором открыто только главное окно и больше ничего. Поэтому ваша дополнительная проверка - просто лишнее действие
  • 0

#17 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 07 августа 2006 - 06:53

Я прошу прощения, если своими действиями задел автора, но мы же еще проверяем, запущено приложение или нет. Если нет, то тогда моя проверка лишняя, а если запущено и в нем имеется окошко, то тогда возникает логическая ошибка именно в нередактированном коде. И опять же я прошу прощения за свои слова, может я чего-то не улавливаю. Но с точки зрения программирования, а не тестирования ошибка все же есть.
  • 0

#18 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 07 августа 2006 - 06:58

Для всех, кто впервые сил за SilkTest и не знает с чего начинать! Выкладываю инструкцию по написанию простейшего скрипта. Но перед этим обязательно скачайте и прочтите файлы 01 и 02, выложенные ранее.

Прикрепленные файлы

  • Прикрепленный файл  For_novice.txt   2,87К   282 Количество загрузок:

  • 0

#19 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 07 августа 2006 - 07:02

Я прошу прощения, если своими действиями задел автора, но мы же еще проверяем, запущено приложение или нет. Если нет, то тогда моя проверка лишняя, а если запущено и в нем имеется окошко, то тогда возникает логическая ошибка именно в нередактированном коде. И опять же я прошу прощения за свои слова, может я чего-то не улавливаю. Но с точки зрения программирования, а не тестирования ошибка все же есть.

Просмотр сообщения

Перед самим запуском скрипта помимо проверки на наличие главного окна производится закрытие всех окон (метод CloseAll вызывается). Поэтому начальное состояние всегда одно
  • 0

#20 Mox

Mox

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Падалка Роман Борисович

Отправлено 07 августа 2006 - 07:47

На самом деле у нас даже нет предмета спора - программы. В том смысле что каждый говорил о своей программе. Вот и получается, что в рамках своего творения каждый прав. Поэтому чтобы не запутать тех кто читает эту тему, я ПРЕДУПРЕЖДАЮ: читайте предельно внимательно, а не просто пробегайте глазами (тем более что так и не разберешься в SilkTest-е). В данной теме описаны две вариации программы. А если появятся вопросы - не молчите, задавайте.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных