やりたいこと
前回の続きになります。
UWPアプリの簡単なテスト(スモークテスト?)をUWSCでやってみるの4回目です。
- // TC7 終了
- CloseApp()
- // 終了
- PROCEDURE CloseApp()
- WaitWindowText("memotter", "What", 10)
- id = GETID("memotter")
- //①とじるボタンをクリック
- closebtn = CLKITEM(id, "memotter を閉じる")
- IF closebtn = TRUE
- PRINT "OK とじるボタン押下成功"
- ELSE
- PRINT "NG とじるボタン押下失敗"
- 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()でとじるボタンをクリックしてます。
CLKITEM()の第2引数に設定しているとじるボタンのコントロール名は、GetItem()という関数を使って調べました。
CLKITEM()の第2引数に設定しているとじるボタンのコントロール名は、GetItem()という関数を使って調べました。
GetItem()でウィンドウのコントロールの名前などを調べることができるので、便利です。アイテム名を調べるのに使ったソースはこちらになります。
OS標準の電卓アプリようのサンプルです。電卓の部分を変更するとほかのアプリでも使えます。
- GID = GETID("電卓")
- GetItemAll(GID)
- PROCEDURE GetItemAll(GID)
- PRINT "ボタン"
- NUM = GETITEM(GID,ITM_BTN)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "リストボックス、コンボボックス"
- NUM = GETITEM(GID,ITM_LIST)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "タブコントロール"
- NUM = GETITEM(GID,ITM_TAB)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "メニュー"
- NUM = GETITEM(GID,ITM_MENU)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "ツリービュー"
- NUM = GETITEM(GID,ITM_TREEVEW)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "リストビュー"
- NUM = GETITEM(GID,ITM_LSTVEW)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "エディットボックス"
- NUM = GETITEM(GID,ITM_EDIT)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "スタティックコントロール"
- NUM = GETITEM(GID,ITM_STATIC)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "ステータスバー"
- NUM = GETITEM(GID,ITM_STATUSBAR)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "ツールバー"
- NUM = GETITEM(GID,ITM_TOOLBAR)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "アクセシビリティ用インターフェース経由でのクリック可能なオブジェクト"
- NUM = GETITEM(GID,ITM_ACCCLK)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- PRINT "アクセシビリティ用インターフェース経由でのテキスト"
- NUM = GETITEM(GID,ITM_ACCTXT)
- FOR i = 0 TO (NUM-1)
- PRINT (i+1) + "番目:<#TAB>" + ALL_ITEM_LIST[i]
- NEXT
- FEND
結果
アプリを閉じることができました。
これで一応やりたいことが全部できました。
スクリーンショットをとるなどもうすこしブラッシュアップしていきたいので、
0 件のコメント:
コメントを投稿