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

Публикации VegaX

70 публикаций создано VegaX (учитываются публикации только с 28 апреля 2023)



#23985 Распознание обьектов Бровзера

Отправлено автор: VegaX 19 января 2006 - 15:46 в MicroFocus (Borland, Segue) - Functional testing

У меня возникла проблема, когда я попробовал запустить тест скрипт на стороне клиента при помощи Remote Desktop.
Browser на функцию WaitForReady крашит - т.е. не может дождатся когда аппликация будет готова.
При помощи функциоанальности Record declaration я могу видеть только главное окно, и не одного ребенка.. в то время они же есть!

Смотрел по секурити - вроде все нормально, ни в каком доступе явно не отказано, может кто может сказать как решить эту проблему.
Заранее благодарен.



#24162 Распознание обьектов Бровзера

Отправлено автор: VegaX 24 января 2006 - 17:00 в MicroFocus (Borland, Segue) - Functional testing

Я проверял расширения - они подключены корректно.
Как в самом Силке, так и в Агенте.

Может есть еще какие идеи.



#24432 Распознание обьектов Бровзера

Отправлено автор: VegaX 31 января 2006 - 15:24 в MicroFocus (Borland, Segue) - Functional testing

KaNoN спасибо за ответы.

Именно таким образом я и проверял. Все расширения подклюлчены. Если расширение не подключено то обьект Browser не распознается. В моем случае именно верхний обьект Бровсера распознается, а дети его - нет. Так же как и неработает другая функциональность.

З.Ы. Я нашел этот вариант на других форумах. Есть информация - что это связано с тем, что силк не установлен под юзера, в каком запускается тест. Как с этим боротся - не дано, но если кто-то знает, плиз ответе.



#26073 Распознование окон

Отправлено автор: VegaX 13 марта 2006 - 17:28 в MicroFocus (Borland, Segue) - Functional testing

Привет всем,

Кто-нибудь сталкивался с проблемой разности распознования окон в Бровзере при разных версиях Силк-Теста.

У меня возникла такая проблема. У клиента 7 версия, у меня 6.5. Настройки все одинаковые, но у клиента не находит ряд обьектов!!!
Причем, что мне важно, находит таблицу, но без единой колонки!!!

С моей стороны все работает нормально....
У кого-какие идеи, помогите, плиз :aggressive: :help: :blush:



#26076 Распознование окон

Отправлено автор: VegaX 13 марта 2006 - 17:50 в MicroFocus (Borland, Segue) - Functional testing

KaNoN спасибо за быстрый ответ.

А мог бы ты еще подсказать что значит 0 бордер. Я всегда думал, что нулевой бордер - это таблицы, которые не имеют тагов таблицы и являются отформатированым текстом, который Силк распознает как таблицу.



#26079 Распознование окон

Отправлено автор: VegaX 13 марта 2006 - 18:05 в MicroFocus (Borland, Segue) - Functional testing

Еще раз спасибо за ответ! :blush:
Все-таки интересно, как Силк "мудро" работает с таблицами. :aggressive:

А вообще буду пробовать.



#26081 Распознование окон

Отправлено автор: VegaX 13 марта 2006 - 18:27 в MicroFocus (Borland, Segue) - Functional testing

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

Но, вернувшись к проблеме, если Силк не распознал таблицу - ведь он должен распознать обьекты что в ней находятся. Насколько я помню, когда я ставил уровень таблицы 0 - все обьекты были, правда они не были посортированы по таблицам. В моем случае, обьекты что находятся в таблице - вообще перестали существовать в декларации!!! Или это нормально, при таком распознавании таблицы? Заранее благодарен.



#26083 Распознование окон

Отправлено автор: VegaX 13 марта 2006 - 18:45 в MicroFocus (Borland, Segue) - Functional testing

А элементы внутри таблицы в этом случае будут видны по другому пути, отличному от других уровней таблиц. Некоторые элементы (такие как колонки) вообще пропадут бесследно (логично, если нет таблицы, то и нет колонки этой таблицы). Останутся максимум тексты и элементы управления, которые были помещены в таблицу.


В том то и дело, что элементы управления - линки и тексты, что были в таблице, перестали существовать ни по этому ни по другому пути... Жаль, что я не имею прямой доступ к клиентской машине - так бы такие вопросы быстрее бы решались.



#26085 Распознование окон

Отправлено автор: VegaX 13 марта 2006 - 18:59 в MicroFocus (Borland, Segue) - Functional testing

Установки по распознаванию для Бровзера я поставил одинаковые на двух машинах. А агент тут скорее всего не причем. Так как этот тест запускали два дня подряд, на двух машинах с 7м Силком и результат был тот-же.



#26138 Распознование окон

Отправлено автор: VegaX 15 марта 2006 - 11:24 в MicroFocus (Borland, Segue) - Functional testing

Мне дали возможность протестировать мой скрипт на машине с Силк Тестом 7.1.
И тут же проблема была решена! :crazy:

Как оказалось - все намного проще.
В свое время для повышения производительности и уменьшения количество элементов в декларации (при записи), я отключил распознование "избыточных" елементов. В том числе и конторолов, которые есть невидимые. Не понятно по каким причинам, но Силк Тест 7.1 считает эти колоники невидимыми, соответсвено не может с ними работать. Я включил в расширение, чтобы агент работал так же с невидимыми колонками и эта проблема была решена.

Также нашел еще одну разницу при использовании 6.5 и 7.1 версий. Так код:

    Control(WindowTag).Click()

На двух версиях работает по разному. При передачи WindowTag ссылки при версии 6.5 происходит щелчок по координатам (0.0). Т.е. используется функция Control().Click(). Навигация по ссылке не происходит.
В версии 7.1 происходит клик на середине ссылки, т.е. вызывается функция HtmlLink().Click(), что вызывает переход по ссылке. Пришлось опять скрипт подкоректировать :wink:



#26204 Распознование окон

Отправлено автор: VegaX 16 марта 2006 - 14:48 в MicroFocus (Borland, Segue) - Functional testing

Век живи - век учись. :crazy:
KaNoN спасибо за толковые советы.



#26372 динамический контент страницы

Отправлено автор: VegaX 22 марта 2006 - 12:58 в MicroFocus (Borland, Segue) - Functional testing

Можно попробовать сделать через инициализацию тага при запуске тест кейза в зависимости от запущеного юзера. Т.е.

const STRING sUserTag = LOGGED_USER == "User1" ? "":"[HtmlTable]#1/[HtmlColumn]#2/"

HtmlTextField Field
 [-]tag  "{sUserTag}[HtmlTextField]#1"

Если юзеров больше чем 2, то тогда лучше создать функцию, которую тоже можно вставить в декларацию. Пример:

STRING GetLoggedUserTag()
  STRING sRet = ""
  switch LOGGED_USER
    case "User1", "User3"
       sRet = ""
    case "User2"
       sRet = "[HtmlTable]#1/[HtmlColumn]#2/"
  return sRet

В отличии от OneOfTheTags - тебе не нужно родительское окно, а также не нужно никаких обращений к обьектам Браузера, что повысит производительность скриптов.



#26384 динамический контент страницы

Отправлено автор: VegaX 22 марта 2006 - 18:07 в MicroFocus (Borland, Segue) - Functional testing

KaNoN, безусловно OneOfTheTags является более универсальным примером и может использоватся и в описании других окон. Но как ты верно подметил

Этот вариант потормознутей да и сложнее технически, но в принципе достаточно удобный.


Я пердложил другой способ, который тоже не идеален, т.к.

Иначе замучаетесь потом это все настраивать


Тут все уже зависит от ситуации - что важнее - скорость или стабильность.

Следует еще учесть, если использовать функцию в таге - она будет вызыватся неявно при любом обращении к этому окну, а также иногда и к другим окнам этого уровня!!! А функция Exists (без которой OneOfTheTags не обойдется) является довольно тяжелой функцией (впрочем как и другие функции Силка для работы с НТМЛ обьектами). Не знаю как у кого, а у меня функция Exists на больших страничках выполняется до 1.5 секунды!!! Выбор за вами :acute:



#26412 Silk Test 7.1 issue

Отправлено автор: VegaX 23 марта 2006 - 13:06 в MicroFocus (Borland, Segue) - Functional testing

Всем приятного времени суток :acute:
У меня тут с 7 Силком такая история.

Он выдает предупреждение типа “Member <member> is not defined in window <window> for Microsoft Windows XP”, хотя в окне <window> обьект <member> существует. Это относится к переменным и функциям.
Но в тоже время при выполнении скрипта эти обьекты используются нормально! Может кто знает как боротся с этими предупреждениями? :lol:

Заранее спасибо.



#26418 Silk Test 7.1 issue

Отправлено автор: VegaX 23 марта 2006 - 13:43 в MicroFocus (Borland, Segue) - Functional testing

Варнинги вылазят в фале результата и засоряют эфир :cray: . А я ведь тоже ими пользуюсь, когда в процессе работы скрипта, например, не было обнаружено окно, скрипт не полностью разработан, добавлена времення функциональность и т.д. И при таком засорении файла результата становится трудно искать такие предупреждения :lazy:

А подход:

dDialog.dDialogTwo.GetSomething()


Я часто использую, когда для dDialogTwo надо создать специальную функцию. То я создаю ее в окне верхнего уровня dDialog. Делаю это потому, что все дети dDialog могут быть за раз переписаны при помощи записи декларации. Один раз так внутренюю функцию потерял :lol: , которая была запрятана в обьекте обьекта обьекта обьекта (т.е. в каком-то поле таблицы) :acute:

window Browser Application
	<....>
	const _AppControlsTag = "[HtmlTable]#1/[HtmlColumn]#2"
	HtmlTextField AccountNumber
  tag "{_AppControlsTag}/$ctlCF:_ctl2:txtApp"
Вот один из моих примеров где выдает в файл результата, что _AppControlsTag не определено в окне Application.



#26421 Silk Test 7.1 issue

Отправлено автор: VegaX 23 марта 2006 - 13:55 в MicroFocus (Borland, Segue) - Functional testing

Попробуй эти варианты.

Уже пробовал - не помогает. Тот же результат.

Благодарю всех за активноть :acute:



#26882 Window cannot be set active

Отправлено автор: VegaX 05 апреля 2006 - 12:55 в MicroFocus (Borland, Segue) - Functional testing

А в ручную оно может быть установлено как активное?
Вообще-то это может быть например, когда выскачил боксик с сообщением и не пускает на активизацию родительского окна.



#26913 Window cannot be set active

Отправлено автор: VegaX 05 апреля 2006 - 17:01 в MicroFocus (Borland, Segue) - Functional testing

Лично я переписал обьявление главного окна Browser и BrowserChild, немного подправив стандартное обьявления:

[+] window MainWin MultiBrowser
	[ ] netscape6_DOM tag "$netscape6_DOM[1]|$netscape6_DOM[2]"
	[ ] netscape7_DOM tag "$netscape7_DOM[1]|$netscape7_DOM[2]"
	[ ] explorer6_DOM tag "$explorer6_DOM[1]|$explorer6_DOM[2]"

[+] winclass MultiBrowserChild:BrowserChild
	[ ] parent MultiBrowser

Можно его и дальше улучшать, но мне пока хватает :dirol:
И нармально ищет обьекты даже если у вас есть несколько открытых окон Browser.



#26916 Window cannot be set active

Отправлено автор: VegaX 05 апреля 2006 - 17:32 в MicroFocus (Borland, Segue) - Functional testing

Я предложил общую концепцию, а не частное решение.

Я имею ввиду что можно использовать такой подход, что бы избавить себя от цикла поиска по существующим окнам - пусть за тебя это будет делать Силк Тест.
При необходимости поиска окна с более сложной структорой, вполне возможно что даный подход не будет эффективен и можно будет использовать цикл. Но согласись, обычно бывает открыто один - два бровзера. И на верхнем уровне они имеют простую структуру тагов.
:dirol:



#26930 Window cannot be set active

Отправлено автор: VegaX 06 апреля 2006 - 07:47 в MicroFocus (Borland, Segue) - Functional testing

Почему нельзя - можно.
Я постоянно использую как BrowserChild.SetActive ( ) так и BrowserPage.SetActive () - работает нормально.
.... ну конечно бывают проблемы если я по ремоуту пытаюсь активировать - не всегда срабатывает :dirol: а на локальном компе вроде проблем не было.



#26951 Свойства multitestcase

Отправлено автор: VegaX 06 апреля 2006 - 14:04 в MicroFocus (Borland, Segue) - Functional testing

Я тут столкнулся с одной проблемкой.

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

Было принято решение использовать multitestcase как функцию которая подключается к плану и может выполнить дополнительную инициализацию, а также имеет возможность работать с параметрами.

А теперь проблема. При запуске multitestcase не установлен агент (это логично) и чтобы запустить его надо инициализировать. Все хорошо инициализуруется и выполняется, правда почемуто уходит файл результатов. Он по непонятной мне причине записуестя в некоректном формате и не может быть в последствии открыт Силк Тест 6.5 (соответственно нельзя просмотреть логи). И как я заметитл после выполнения теста создается открытый файл Тест.jou. как решить эту проблему?
Заранее благодарен.



#26956 Свойства multitestcase

Отправлено автор: VegaX 06 апреля 2006 - 16:13 в MicroFocus (Borland, Segue) - Functional testing

Использование функции было бы прекрасно. Но насколько я знаю ее нельзя присоединить к тест плану. Относительно main - то она не совсем подходит, т.к. ей нельзя передавать параметры извне (та же проблема и с тест сьютом).

Я конечно понимаю, что multitestcase предназначен для не совсем этих целей. Но по крайней мере она позволяет вызвать несколько обычных testcase. Да и проблема не в этом, а в том что Силк при таком подходе сохраняет в некоректом формате результирующий файл. Есть подозрение, что он просто его не закрывает и не формирует, а оставляет промежуточный результат.

Вот я и интересуюсь, может кто стыкался с такой проблемой. Меня интересует именно файл результата. Может ему еще какие установки надо сделать?

Если это не поможет - то прийдется пойти другим путем... - переделать все тест кейзы что будут использоватся в функции, и сделать дополнительный набор тесткейзов, что будут просто перенаправлять к этим функциям (правда прийдется еще поигратся с appstate). И тогда можно будет не использовать multitestcase. Этот выход не очень нравится, т.к. удвоится количество глобальных названий.



#26958 Свойства multitestcase

Отправлено автор: VegaX 06 апреля 2006 - 17:06 в MicroFocus (Borland, Segue) - Functional testing

Каркас у меня постоянно меняется :)
Предлагаю общую конструкцию.

Тест план
[-] Test
	[ ] script: script.t
	[ ] testcase: multitest
	[ ] testdata: "FileName.fn"

Тест кейз
[-] multitestcase multitest(STRING sDataFile)
	[ ] //Init default machine
	[ ] Connect("(local)")
	[ ] //prepare data for test
	[ ] RECORD r1 = GetRecordForTest1(sDataFile)
	[ ] RECORD r2 = GetRecordForTest2(sDataFile)
	[ ] Testcase1(r1)
	[ ] Testcase1(r2)



#26959 Свойства multitestcase

Отправлено автор: VegaX 06 апреля 2006 - 17:15 в MicroFocus (Borland, Segue) - Functional testing

Только что случайно нарыл возможность Силка.

Тест план
[-] Test
  [ ] script: script.t
  [ ] testcase: multitest
  [ ] testdata: "FileName.fn"

Тест кейз

//обьявляем как функцию
[-] VOID multitest(STRING sDataFile)
  [ ] //prepare data for test
  [ ] RECORD r1 = GetRecordForTest1(sDataFile)
  [ ] RECORD r2 = GetRecordForTest2(sDataFile)
  [ ] Testcase1(r1)
  [ ] Testcase1(r2)


Весело, но работает! :smile:
Причем т.к. multitest не является мулти тест кейзом - то локальный хост подключен. т.е. не надо производить Connect("(local)")! :dirol:

Завтра буду проверять стабильность. Правда с дебагом с тест плана немного сложно будет - функция multitest среди списка тест кейзов на запуск не числится.



#26997 Свойства multitestcase

Отправлено автор: VegaX 07 апреля 2006 - 10:10 в MicroFocus (Borland, Segue) - Functional testing

KaNoN спасибо за дельные советы :dirol: