9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AIQVE ONE ゲームテスト/QAAdvent Calendar 2021

Day 3

Airtestでほぼ円状にスワイプしてみる

Last updated at Posted at 2021-12-02

#先にコードを掲載

ほぼ円状にスワイプ
Swipe_in_an_almost_circle.py
# -*- encoding=utf8 -*-
from airtest.core.api import *
import math

'''
x , y はスマホ内の座標
radiusは描く円の半径距離
'''

x , y = 540 , 1110
radius = 300

list = []
for i in range(39):
    tuple = (x + math.sin(i/6) * radius),(y + math.cos(i/6) * radius)
    list.append(tuple)
    

device().maxtouch.swipe_along(list,duration=0.02, steps=3)

#Airtestってなんだ?
画像認識やUIの階層化により、ゲームテストをサポートする自動化フレームワークです。
簡単に言ってしまえば、画像認識を主とする自動化ツールという認識で問題ないです。

スマホの操作を主とする画像認識ベースのテスト自動化ツールを使うのであれば、
執筆時21/11/16時点では、Airtestの選択がベターな選択になると思います。

詳細についてはこのQiitaの記事がまとまっていてとても良いです。
https://qiita.com/Nitudon/items/0c5c527841388fec22ed

ドキュメント
https://airtest.doc.io.netease.com/en/

リファレンス
https://airtest.readthedocs.io/en/latest/index.html

#実際に実行するとこうなる
ダウンロード (1).gif

#何故この記事を?
お蔵入りしているコードの共有でええええす!!
AirtestのスワイプはAssistantやリファレンス上の機能を確認するだけだと
直線でのみのスワイプしか想定されないので、
簡単な計算を元に曲線も描けるということを伝えたかった。

ADBで動いているというのもあり、記述次第で意外と器用な挙動もできるので
Airtest、色々と試してみてはいかがでしょうか。

テスト中、特定のオブジェクトをスワイプで囲みたいという時に使用すると良いと思います。
ゲームで使用する場合はクイックスのような囲んで陣地を取るゲームや、
特定のキャラクターを囲むと挙動が発生するテストがあれば使用する場合があると想定されます。

#注意点
・スマホ1台接続での実行を想定したコードになります。

9
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?