2021年10月31日日曜日

自動テストの練習4 (UWSC編③) ボタン押す



やりたいこと

前回の続きになります。

UWPアプリの簡単なテスト(スモークテスト?)をUWSCでやってみるの3回目です。


ボタンを押す

こちらのUpdateのボタンを押すというテストになります。




最初に設定したテストケースのTC3, TC4になります。

IDTestCaseの説明TestCaseの手順出力期待値
TC3Updateボタン「あいうえお」を入力する
updateボタンを押す
「あいうえお」が入力される
TC4OpenボタンOpenボタンおすエディタが起動する


ソース

ソースコードはこちらになります。

長くなるので、ボタンを押すところだけを切り出したコードになってます。


-----
// TC3 Updateボタンテスト
CheckUpdateButton()


// UpdateButton
PROCEDURE  CheckUpdateButton()

	WaitWindowText("memotter", "What", 10)
	
	id = GETID("memotter")
	
	// 文字列入力
	SENDSTR(id, "あいうえお_CheckUpdateButton", 1, True) 
	
	//①Updateボタン押す
	ret = CLKITEM(id, "Update")
	IF ret = TRUE 
		PRINT "OK Updateボタン押下成功"
	ELSE
		PRINT "NG Updateボタン押下失敗"	
	ENDIF
	
FEND


// ウィンドウの中のテキストが表示されるのを待つ
FUNCTION WaitWindowText(WindowTitle, text, timeOut)
	RESULT = FALSE	

	// ウィンドウが表示されるのをtimeOutの時間まで待つ
	FOR i = 0 TO timeOut
		//ウィンドウのID取得
		id = GETID(WindowTitle)
	
		staticText = GETITEM(id, ITM_STATIC)
		IF staticText <> 0
			FOR j = 0 TO staticText -1 
				n = POS(text, ALL_ITEM_LIST[j])  
				IFB n >= 1
					// PRINT text + "が見つかった"
					BREAK 2						
				ELSE
					// PRINT text + "が見つからない"
				ENDIF				
			NEXT
		ELSE
			PRINT "static text なし"
		ENDIF
		
		// 1秒待機
		SLEEP(1) 
	NEXT
	
FEND
----- 

解説

①ボタンを押すCLKITEM() という標準関数を使用しております。
以下の引数を指定すると、コントトールをクリックしてくれる関数です。 
第1引数 : WindowのID 
第2引数 : コントトールの名称
(オプションで、コントロールの種別, チェックボックスON,OFF, コントロールの番号)も指定可能ですが、今回は第2引数までしか使ってません。 

ボタンを押す以外は前回も使用した関数を使ってます。 

WaitWindowText()でウィンドウの特定のテキストが表示されるのを待ってます。
その後GetID()でウィンドウのIDを取得して、
SENDSTR()で文字を入力して、
最後にCLKITEM()でボタンを押してます。

Openというボタンもアプリにはあるのですが、その処理はほぼ同じなので、
ここでは説明を省略しました。

 

結果



今回は特に苦労せず進められました。







0 件のコメント:
コメントを投稿