2.4.14 Track Bar

Назад Содержание Дальше

Следующий шаг проверяет работу диалога Track Bar, ключевым элементом которого является слайдер ( или ползунок ). В SilkTest-е за работу элементов данного вида отвечает оконный класс Scale. Функциональность элементов управления данного вида сводится к установке позиции и извлечения этой позиции. Откроем диалог Track Bar и посмотрим, с какими элементами нам нужно будет работать. В данном диалоге есть 3 текстовых поля: Maximum, Minimum, Position. Добавим для них соответствующие свойства sMaximum, sMinimum, sPosition для окна dTrackBar в файле TestApp.inc. Приступим к написанию кода данного шага. Нам нужно открыть данный диалог, после этого установить слайдер в позицию 4 ( проверить, что значение установлено корректно ), после этого ввести значение 6 в поле Position и нажать на кнопку Apply ( проверить ,что слайдер установлен в позицию 6 ). Для установки позиции слайдера используется метод SetPosition, аргументом которого является значение, в которое нужно установить данный элемент управления. Для извлечения позиции используется метод GetPosition и соответствующее ему свойство iValue ( если слайдер оперирует с действительными числами, то в этом случае используется свойство rValue ). Всё, нужную функциональность мы знаем, поэтому приступаем к непосредственной записи кода:

Code

		[ ] wTestApp.Control.TrackBar.Pick()
		[+] with dTrackBar
			[+] if( !.bExists )
				[ ] Error("No Track Bar dialog appear")
			[ ] .TheTrackBar.SetPosition(4)
			[+] if( .TheTrackBar.iValue != 4)
				[ ] Error("Unexpected Track bar position {.TheTrackBar.iValue}. Expected: 4",FALSE)
			[ ] .sPosition = "6"
			[ ] .btnApply.Click()
			[ ] 
			[+] if( .TheTrackBar.iValue != 6)
				[ ] Error("Unexpected Track bar position {.TheTrackBar.iValue}. Expected: 6",FALSE)

 

Далее следует схожее действие, за исключением того, что помимо самой позиции слайдера здесь устанавливаются максимальное и минимальное значения данного элемента. Для извлечения интервала значений слайдера используется метод GetRange и соответствующее свойство Range. Возвращают они значение типа SCLRANGE, которое содержит поля nMax, nMin. Это величины типа NUMBER, который соответствует любому числу ( как целому, так и действительному). Применим данную функциональность:

Code

			[ ] .sMinimum = "10"
			[ ] .sMaximum = "20"
			[ ] .sPosition = "15"
			[ ] .btnApply.Click()
			[ ] 
			[+] if( .TheTrackBar.iValue != 15)
				[ ] Error("Unexpected Track bar position {.TheTrackBar.iValue}. Expected: 15",FALSE)
			[+] if( .TheTrackBar.Range.nMin != 10 )
				[ ] Error("Incorrect minimal position {[INTEGER].TheTrackBar.Range.nMin}. Expected: 10",FALSE)
			[+] if( .TheTrackBar.Range.nMax != 20 )
				[ ] Error("Incorrect maximal position {[INTEGER].TheTrackBar.Range.nMax}. Expected: 20",FALSE)

 

Поскольку в нашем примере слайдер работает с целыми числами, а свойство Range возвращает запись с полями типа NUMBER, то при выводе фактического значения верхнего и нижнего пределов слайдера мы получим дробные числа. Чтобы фактические значения отражались в целочисленном виде, нужно осуществить приведение типов. Данная операция осуществляется путем указания в квадратных скобках типа данных ( к которому нужно привести ) в начале выражения. В нашем примере это [INTEGER].TheTrackBar.Range.nMax.

 

Остались уже знакомые операции, которые уже давно выделены в функциональность:

Code

			[ ] ClickEnabledAndCheck( dTrackBar , .TheTrackBar )
			[ ] 
			[+] if( !.Exit() )
				[ ] Error("Unable to close ""Track Bar"" dialog")

 


Назад Содержание Дальше