airtest.core.android.touch_methods.base_touch module

class BaseTouch(adb, backend=False, ori_function=None, input_event=None, *args, **kwargs)[source]

Bases: object

A super class for Minitouch or Maxtouch

install_and_setup()[source]

Install and setup airtest touch

Returns:None
uninstall()[source]

Uninstall airtest touch

Returns:None
install()[source]

Install airtest touch

Returns:None
setup_server()[source]

Setip touch server and adb forward

Returns:server process
safe_send(data)[source]

Send data to client

Parameters:data – data to send
Raises:Exception – when data cannot be sent
Returns:None
setup_client_backend()[source]

Setup backend client thread as daemon

Returns:None
setup_client()[source]

Setup client

Returns:None
teardown()[source]

Stop the server and client

Returns:None
transform_xy(x, y)[source]

Transform coordinates (x, y) according to the device display

Parameters:
  • x – coordinate x
  • y – coordinate y
Returns:

transformed coordinates (x, y)

perform(motion_events, interval=0.01)[source]

Perform a sequence of motion events including: UpEvent, DownEvent, MoveEvent, SleepEvent

Parameters:
  • motion_events – a list of MotionEvent instances
  • interval – minimum interval between events
Returns:

None

touch(tuple_xy, duration=0.01)[source]

Perform touch event

minitouch protocol example:

d 0 10 10 50
c
<wait in your own code>
u 0
c
Parameters:
  • tuple_xy – coordinates (x, y)
  • duration – time interval for touch event, default is 0.01
Returns:

None

swipe_along(coordinates_list, duration=0.8, steps=5)[source]

Perform swipe event across multiple points in sequence.

Parameters:
  • coordinates_list – list of coordinates: [(x1, y1), (x2, y2), (x3, y3)]
  • duration – time interval for swipe duration, default is 0.8
  • steps – size of swipe step, default is 5
Returns:

None

swipe(tuple_from_xy, tuple_to_xy, duration=0.8, steps=5)[source]

Perform swipe event.

Parameters:
  • tuple_from_xy – start point
  • tuple_to_xy – end point
  • duration – time interval for swipe duration, default is 0.8
  • steps – size of swipe step, default is 5
Returns:

None

two_finger_swipe(tuple_from_xy, tuple_to_xy, duration=0.8, steps=5, offset=(0, 50))[source]

Perform two finger swipe action

minitouch protocol example:

d 0 0 0 50
d 1 1 0 50
c
m 0 20 0 50
m 1 21 0 50
c
m 0 40 0 50
m 1 41 0 50
c
m 0 60 0 50
m 1 61 0 50
c
m 0 80 0 50
m 1 81 0 50
c
m 0 100 0 50
m 1 101 0 50
c
u 0
u 1
c
Parameters:
  • tuple_from_xy – start point
  • tuple_to_xy – end point
  • duration – time interval for swipe duration, default is 0.8
  • steps – size of swipe step, default is 5
  • offset – coordinate offset of the second finger, default is (0, 50)
Returns:

None

pinch(center=None, percent=0.5, duration=0.5, steps=5, in_or_out='in')[source]

Perform pinch action

minitouch protocol example:

d 0 0 100 50
d 1 100 0 50
c
m 0 10 90 50
m 1 90 10 50
c
m 0 20 80 50
m 1 80 20 50
c
m 0 20 80 50
m 1 80 20 50
c
m 0 30 70 50
m 1 70 30 50
c
m 0 40 60 50
m 1 60 40 50
c
m 0 50 50 50
m 1 50 50 50
c
u 0
u 1
c
Parameters:
  • center – the center point of the pinch operation
  • percent – pinch distance to half of screen, default is 0.5
  • duration – time interval for swipe duration, default is 0.8
  • steps – size of swipe step, default is 5
  • in_or_out – pinch in or pinch out, default is ‘in’
Returns:

None

Raises:

TypeError – An error occurred when center is not a list/tuple or None

operate(args)[source]

Perform down, up and move actions

Parameters:args

action arguments, dictionary containing type and x, y coordinates, e.g.:

{
"type" : "down",
"x" : 10,
"y" : 10
}
Raises:RuntimeError – is invalid arguments are provided
Returns:None
class MotionEvent[source]

Bases: object

Motion Event to be performed by Minitouch/Maxtouch

getcmd(transform=None)[source]
class DownEvent(coordinates, contact=0, pressure=50)[source]

Bases: airtest.core.android.touch_methods.base_touch.MotionEvent

getcmd(transform=None)[source]
class UpEvent(contact=0)[source]

Bases: airtest.core.android.touch_methods.base_touch.MotionEvent

getcmd(transform=None)[source]
class MoveEvent(coordinates, contact=0, pressure=50)[source]

Bases: airtest.core.android.touch_methods.base_touch.MotionEvent

getcmd(transform=None)[source]
class SleepEvent(seconds)[source]

Bases: airtest.core.android.touch_methods.base_touch.MotionEvent

getcmd(transform=None)[source]