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

Фотография

Нажатие на кнопку


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

#1 Natusya

Natusya

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

  • Members
  • Pip
  • 56 сообщений
  • Город:Россия, Владивосток


Отправлено 02 сентября 2009 - 05:27

Я определила во фрейме окно с помощью Window Declarations:

[-] window DialogBox ВходВСистему
	[ ] tag "Вход в систему"
	[-] CustomWin TAdvPanel1
		[ ] tag "[TAdvPanel]$8258844"
		[+] CustomWin ЗапомнитьПароль
			[+] multitag "[TCheckBox]Запомнить пароль"
				[ ] "[TCheckBox]$13763706"
		[+] CustomWin Волвенко
			[+] multitag "[TLabeledEdit]Волвенко"
				[ ] "[TLabeledEdit]$7996612"
		[+] CustomWin N1
			[+] multitag "[TLabeledEdit]1"
				[ ] "[TLabeledEdit]$8455308"
		[-] CustomWin TPanel1
			[ ] tag "[TPanel]$7406900"
			[+] CustomWin TPanel1
				[ ] tag "[TPanel]$20645010"
			[+] CustomWin Отмена
				[+] multitag "[TAdvGlowButton]Отмена"
					[ ] "[TAdvGlowButton]$3409198"
			[-] CustomWin OK
				[-] multitag "[TAdvGlowButton]OK"
					[ ] "[TAdvGlowButton]$16516202"

Как мне нажать на кнопку ОК???
Я пробую вот так, но не работает:

[ ] ВходВСистему.SetActive()
[ ] ВходВСистему.TAdvPanel1.TPanel1.OK.Click()

при этом при наборе всплывает только TAdvPanel1, а остального Силк 2009 не подсказывает.
  • 0
Test Complete 7, Delphi, DelphiScript

#2 vass

vass

    Опытный участник

  • Members
  • PipPipPipPip
  • 298 сообщений
  • ФИО:Василий

Отправлено 04 сентября 2009 - 11:12

[-] window DialogBox ВходВСистему
	[ ] tag "Вход в систему"
	[-] CustomWin TAdvPanel1
		[ ] tag "[TAdvPanel]$8258844"
		[+] CustomWin ЗапомнитьПароль
			[+] multitag "[TCheckBox]Запомнить пароль"
				[ ] "[TCheckBox]$13763706"
		[+] CustomWin Волвенко
			[+] multitag "[TLabeledEdit]Волвенко"
				[ ] "[TLabeledEdit]$7996612"
		[+] CustomWin N1
			[+] multitag "[TLabeledEdit]1"
				[ ] "[TLabeledEdit]$8455308"
		[-] CustomWin TPanel1
			[ ] tag "[TPanel]$7406900"
			[+] CustomWin TPanel1
				[ ] tag "[TPanel]$20645010"
			[+] CustomWin Отмена
				[+] multitag "[TAdvGlowButton]Отмена"
					[ ] "[TAdvGlowButton]$3409198"
			[-] CustomWin OK
				[-] multitag "[TAdvGlowButton]OK"
					[ ] "[TAdvGlowButton]$16516202"
Как мне нажать на кнопку ОК???
Я пробую вот так, но не работает:

[ ] ВходВСистему.SetActive()
[ ] ВходВСистему.TAdvPanel1.TPanel1.OK.Click()

при этом при наборе всплывает только TAdvPanel1, а остального Силк 2009 не подсказывает.

1) Добавьте себе классы
[-] winсlass TPanelClass : DialogBox
	[ ] tag "[TPanel]"
[-] winсlass TAdvPanelClass : DialogBox
	[ ] tag "[TAdvPanel]"
[-] winсlass TAdvGlowButtonClass : PushButton
	[ ] tag "[TAdvGlowButton]"
перераспознайте окно заново, и
2) проверьте, что ВходВСистему.TAdvPanel1.TPanel1.bExists

PS: когда кидаете код - офрмляйте его тегами. для этого есть кнопка на редакторе сообщения (самая правая сразу над полем ввода текста)
  • 0

#3 Int_21h

Int_21h

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Александр

Отправлено 12 октября 2011 - 13:54

Первое что бросается в глаза - русский язык в коде. Это недопустимо ибо сам силк может матерится. Далее рекомендую вместо WindowsId использовать id. Это как минимум более читабельно.
К примеру

CustomWin("[TAdvPanel]#1")
CustomWin("[TAdvPanel]|$8258844")

Разница, я думаю, на лицо.

Идем дальше.
CustomWin Волвенко
     [+] multitag "[TLabeledEdit]Волвенко"
     [ ] "[TLabeledEdit]$7996612"

В корне не правильно.
1. Зачем эти громоздкие мультиТаги? Не лучше ли написать:
CustomWin Волвенко
     [] tag "[TLabeledEdit]#1"

2. Возьмем тот же кусок кода.
CustomWin Волвенко
     [+] multitag "[TLabeledEdit]Волвенко"
     [ ] "[TLabeledEdit]$7996612"
Первая строка мультиТага "...Волвенко..". А на локализированой версии, к примеру китайской, вместо Волвенко будет "абракадабра". И что тогда? Переписать весь код? Ведь тест точно рухнет.

3.Кнопка "ОК". Почему определено как CustomWin а не PushButton?

От себя добавлю - вобще странный подход. Интересно к какой программе скрипт.
Будут вопросы - обращайтесь.
  • 0


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

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