AutomationConnectIQを使うとどんなことができるのかのサンプル動画。
この動画ではFr45のみチェックしている。
前半、ウォッチフェイスが出るまでは初期設定を行っている。ウォッチフェイスが出てからはテスト項目に対して状態を設定して、画面をキャプチャしてフォルダに保存している。
動作用のスクリプトは以下のような実装になっている。なおこのスクリプトはCheckクラスをもっと使いやすいようにPowerShellでクラスを生成し、その派生を使って実装している。
PowerShellで作成したクラスは別途掲載する予定。
[void]Fr45Test([string]$dev, [Simulator]$simulator)
{
$simulator.SetBatteryStatus(88, $false)
$simulator.SetNotificationCount(0)
$simulator.SetBleConnection([Simulator+ConnectionType]::NotConnected)
$simulator.SetLanguage([Simulator+Language]::English)
$simulator.ToggleMenu([Simulator+SettingToggleMenu]::LowPowerMode, $true)
$simulator.ToggleMenu([Simulator+SettingToggleMenu]::ActivityTracking, $true)
$this.Time = $simulator.CreateTime()
$this.Time.Open()
$this.Time.Time = Get-Date "2019-12-31 13:59:59"
# GPS座標の設定
$simulator.SetGPSQuality([Simulator+GPSQualityType]::NotAvailable)
$this.Capture("NOGPS")
# 日の入り
$simulator.SetGPSPosition(35.685233, 139.752485)
$this.Capture("D_SUNSET")
# 日の出
$this.Time.Time = Get-Date "2019-12-30 17:59:59"
$this.Capture("D_SUNRISE1")
# 日の出(日をまたいだ場合)
$this.Time.Time = Get-Date "2019-12-31 1:59:59"
$this.Capture("D_SUNRISE2")
$this.Time.Time = Get-Date "2019-12-31 13:59:59"
$simulator.SetBleConnection([Simulator+ConnectionType]::Connected)
$this.Capture("BT")
$simulator.SetNotificationCount(1)
$this.Capture("NOTIFY")
$simulator.SetBatteryStatus(0, $false)
$this.Capture("BAT_00")
$simulator.ToggleMenu([Simulator+SettingToggleMenu]::LowPowerMode, $false)
$this.Capture("HIGH")
$simulator.ToggleMenu([Simulator+SettingToggleMenu]::ActivityTracking, $false)
$this.Capture("DISABLE_ACT")
# 日本語
$simulator.SetLanguage([Simulator+Language]::Japanese)
$simulator.ToggleMenu([Simulator+SettingToggleMenu]::ActivityTracking, $true)
$simulator.SetBatteryStatus(88, $false)
$simulator.ToggleMenu([Simulator+SettingToggleMenu]::LowPowerMode, $true)
$simulator.ToggleMenu([Simulator+SettingToggleMenu]::LowPowerMode, $false)
$this.Capture("JP")
$this.Time.Close()
}
[void]Pre([Simulator]$simulator) {
([ConnectIQDevelop]$this).Pre($simulator)
$act = $simulator.CreateActivityMonitor()
$act.Open()
$act.SetValue($true, 0, 0, 1)
$act.SetValue($true, 0, 1, 1234)
$act.Ok()
$counter = 5678
for (;$counter -gt 600; $counter -= 600) {
$simulator.FastForward(600)
}
$simulator.FastForward($counter)
$act.Open()
$act.SetValue($true, 0, 0, 0)
$act.Ok()
}
全テスト項目を行うデバイスは代表となるものだけで、それ以外のデバイスは全データが表示されている状態で画面の構成などが崩れていないかを確認するための項目に絞ることで、全体のテスト時間を最小にすることができる。
このスクリプトで生成した画像を保存しておき、機能改訂を行うたびに一致しているかどうか確認することで、修正ミスなどを発見することができると思う。
コメント