2.4.5. Static text

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

Продолжаем написание тесткейса. Приступим к работе с диалогом Static Text и соответственно с объектами класса StaticText. Объекты данного класса, как правило соответствуют каким-либо надписям к элементам управления. В этих случаях держать такие объекты во фрейме не имеет смысла, так как они только засоряют фрейм. Другое дело, если этот текст может меняться в ходе работы программы. Тогда такой объект является частью функциональности тестируемого приложения и тогда во фрейме он вполне уместен. Сам объект StaticText не содержит обширной функциональности, помимо стандартных действий, которые можно осуществить с объектами-наследниками класса Control, данный класс позволяет лишь считать текст из элемента управления.

А теперь по порядку. Откроем диалог Static Text и посмотрим, что там есть (в тестируемом приложении выбираем Control > Static Text). Итак, есть поле The static text (с которым работает данный диалог), а также текстовое поле Label, в которое можно ввести текст для поля The static text. По аналогии с работой с классом CheckBox, опишем свойства, которые работают с полями Label и The static text. Открываем TestApp.inc, находим описание окна dStaticText и дописываем свойства к нему (если их там еще нет). Описание данного окна после внесенных изменений имеет вид:

Code

	[+] window TestApp_Controls dStaticText
		[ ] tag "Static text"
		[+] StaticText statTheStaticText
			[ ] tag "#1"
		[+] StaticText statLabel
			[ ] tag "Label"
		[+] TextField edtLabel
			[ ] tag "Label"
		[+] PushButton btnSetLabel
			[ ] tag "Set Label"
		[ ] 
		[+] property sLabel
			[+] STRING Get()
				[ ] return this.edtLabel.sValue
			[+] VOID Set(STRING sValue)
				[ ] this.edtLabel.sValue = sValue
		[+] property sTheStaticText
			[+] STRING Get()
				[ ] return this.statTheStaticText.sValue

 

Обратите внимание, что свойство sTheStaticText содержит только составляющую Get, так как класс StaticText позволяет только извлекать текст. Любая попытка установить текст данного объекта стандартным способом вызовет генерацию исключения.

Теперь напишем шаг тесткейса. Откроем диалог и дважды нажмем на поле Enabled с соответствующими проверками на от, что поле The static text деактивировалось/активировалось. Код имеет вид:

Code

		[ ] wTestApp.Control.StaticText.Pick()
		[+] with dStaticText
			[+] if( !.bExists )
				[ ] Error("Static Text dialog didn't appear")
			[ ] 
			[ ] ClickEnabledAndCheck(dStaticText,.statTheStaticText)

Все, что здесь используется, уже было описано ранее. так что можно продолжать написание. Так как для данного диалога мы уже дописали нужные свойства, то следующим кодом мы их применим:

Code

			[ ] 
			[ ] sValue = "New Label"
			[ ] .sLabel = sValue
			[ ] .btnSetLabel.Click()
			[ ] 
			[+] if( .sTheStaticText != sValue )
				[ ] Error("Label was set incorrectly. Expected: ""{sValue}"" . "+
             " Actual: ""{ .sTheStaticText}""",FALSE)
			[ ] 
			[+] if( !.Exit() )
				[ ] Error("Unable to close Static Text dialog")

Здесь учтены уже все поправки, которые мы сделали в предыдущих пунктах. Все, вот и весь шаг. Теперь осталось добавить вывод текста шага в файл отчета и в итоге шаг выглядит следующим образом:

Code

	[+] Print("Step 9: - Select menu Control > Static Text{chr(10)}"+
          "        - Click on Enabled field{chr(10)}"+
          "        - Click on Enabled field again{chr(10)}"+
          "        - Enter text into Label field and press Set Label button{chr(10)}"+
          "        - Click on Exit")
		[ ] wTestApp.Control.StaticText.Pick()
		[+] with dStaticText
			[+] if( !.bExists )
				[ ] Error("Static Text dialog didn't appear")
			[ ] 
			[ ] ClickEnabledAndCheck(dStaticText,.statTheStaticText)
			[ ] 
			[ ] sValue = "New Label"
			[ ] dStaticText.edtLabel.sValue = sValue
			[ ] dStaticText.btnSetLabel.Click()
			[ ] 
			[+] if( dStaticText.statTheStaticText.sValue != sValue )
				[ ] Error("Label was set incorrectly. Expected: ""{sValue}"" . "+
             " Actual: ""{dStaticText.statLabel.sValue}""",FALSE)
			[ ] 
			[+] if( !dStaticText.Exit() )
				[ ] Error("Unable to close Static Text dialog")
		[ ] 
	[ ] Print("- The Static Text dialog appears{chr(10)}"+
          "- The static text field is disabled{chr(10)}"+
          "- The static text field is enabled{chr(10)}"+
          "- The static text field changes its caption to entered value{chr(10)}"+
          "- The Static Text dialog is closed")

 


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