ビルド、シミュレーター起動を行うコンビニエンスクラスCheckerの紹介。
まずは、1デバイスのビルド、シミュレーター起動を行うメソッドについて。
using namespace AutomationConnectIQ.Lib;
$outputDir = "output"
function Capture {
$time.Action([TimeSimulator+ExecuteType]::Start)
Start-sleep -Milliseconds 500
$time.Action([TimeSimulator+ExecuteType]::Pause)
$bitmap = $simulator.Capture()
$bitmap.Save($(Join-Path $outputDir $device".png"))
$time.Action([TimeSimulator+ExecuteType]::Stop)
}
# チェック用オブジェクトを生成
# パラメータは、デベロッパーキーとモンキープロジェクトファイル
$check = New-Object Checker -Property @{
Key = "developer_key"
Project = "monkey.jungle"
}
# fr45でビルドチェック処理を実行
# シミュレーション処理はdelegate bool Simulation(string device, Simulator sim) となっている
# それに合わせてPowerShellのスクリプトブロックでシミュレーション処理を記述
$check.Check("fr45", {
#デバイス名とシミュレーターオブジェクトをパラメータで受け取る
Param($device, $simulator)
$simulator.SetGPSPosition(35.685233, 139.752485)
# 時間ウィンドウを開いて、言語を英語にしてから所定時間に変更する
$time = $simulator.CreateTime()
$time.Open()
$time.Time = Get-Date "2020-1-1 13:00:00"
$simulator.SetLanguage([Simulator+Language]::English)
Capture
$time.Close()
return $true
})
- 5~13行目
AutomationConnectIQ-サンプル7で示した時間ウィンドウを開いてキャプチャを行うための標準的なコードをPowerShellの関数化したもの。 - 17~20行目:Checkerクラスのオブジェクト生成
パラメータとして渡すのはキーファイル名とプロジェクトファイル名。 - 25行目~
Checkメソッドで、ビルドとシミュレーター起動及びシミュレーションで行う操作をスクリプトブロックで記述する。
第1引数は生成するプログラムのデバイス名。
第2引数は、シミュレーターで実施する処理をスクリプトブロックで記述する。
引き渡されるパラメータは、デバイス名とシミュレーター操作用のオブジェクト。
27行目が、そのパラメータの引き渡しになる。
38行目のreturn $true
は、このスクリプトブロックのもととなるdelegate bool Simulation(string device, Simulator sim)
に合わせている。ただ作用しているのかは不明。
コメント