Automation test for phone
Project description
QA Automation Core Documentation
This document provides a comprehensive guide to using the qa_automation class within qautomationcore.py. This class is a wrapper around uiautomator2 designed to simplify Android UI automation tasks.
Initialization
from qa_automation2.qautomationcore import qa_automation
# Initialize with a connected device
# device: uiautomator2 device object
# device_infor: dictionary containing device information (e.g., model)
# log_dir: directory to save logs
qa = qa_automation(device=d, device_infor={"model": "Pixel_4"}, log_dir="logs")
Core Functions
1. Element Interaction
Find_element
Finds a UI element based on various criteria.
- Parameters:
name: The identifier string (text, resource-id, xpath, etc.) or a list of strings.type_: The type of identifier. Options:text,text_contains,resource_id,xpath,class_name,talkback, etc.index: Index of the element if multiple match (default 0).
- Returns: The UI object if found, otherwise
False.
wait_for_element
Waits for an element to appear within a timeout period.
- Parameters: Same as
Find_element, plustimeout(seconds). - Returns: The UI object if found, otherwise
False.
Touch
Finds an element and performs a click (or long click).
- Parameters: Same as
Find_element, pluslong_(bool) for long press. - Returns:
Trueif successful.
send_text
Inputs text into an element or the currently focused field.
- Parameters:
text: The string to input.name,type_,index: To find the target element (optional).clear: Clears existing text before inputting.press_enter: Presses the Enter key after inputting.click_before: Clicks the element before inputting (defaultTrue).
click_element_relative
Clicks an element located relative to an anchor text (e.g., click a specific Radio Button next to a label).
- Parameters:
anchor_text: The text to use as a reference point.target_type: The type of element to click (radio,checkbox,switch,button,edit).direction: Direction to look for the target (left,right,up,down,sibling).
- Example:
qa.click_element_relative("Gender", "radio", "right")
click_child_element
Clicks a specific child element within a parent container.
- Parameters:
parent_name,parent_type: Identifiers for the parent container.child_name,child_type: Identifiers for the child element inside the parent.child_index: Index of the child if multiple match (default 0).
2. Scroll & Search
scroll
Performs a simple scroll gesture.
- Parameters:
type_: Direction (up,down,left,right,top,bottom).scale,box,duration,steps: Fine-tuning scroll behavior.
scroll_to_find_element
Scrolls in a specified direction until the element is found.
- Parameters: Element identifiers plus
type_scroll,max_scrolls.
scroll_up_down_find_element / scroll_up_down_find_element_click
Scrolls one way (e.g., UP) then the other (e.g., DOWN) to find an element (and optionally click it).
3. Device Control
press_key
Simulates a physical key press.
- Keys:
home,back,recent,enter,delete,volume_up,power, etc. - Example:
qa.press_key("home")
manage_screen
Controls the device screen state.
- Actions:
check(returns status),on(turn screen on),off(turn screen off).
zoom_screen
Performs a pinch-to-zoom gesture.
- Parameters:
action:in(zoom in/shrink),out(zoom out/expand).percent: Size of the pinch gesture.element_name: Optional, to perform zoom on a specific element.
4. App & System
start_app / stop_app
Starts or stops an application by package name.
wait_activity
Waits for a specific app activity (screen) to load.
abd_shell
Executes an ADB shell command on the device.
5. Information Retrieval
get_all_text_element
Retrieves text or content descriptions from all matching elements or children of an element.
get_info_element
Extracts specific properties (bounds, text, checked, enabled, etc.) from an element object.
6. Advanced Gestures & Interactions
drag_element
Drags an element to another element or specific coordinates.
- Parameters:
source_name,dest_name(ordest_x,dest_y),duration.
double_click
Double clicks on an element.
- Parameters:
name,type_.
7. System Operations
capture_screenshot
Captures a screenshot and saves it to a file.
- Parameters:
filename(path to save).
open_system_ui
Opens system panels.
- Parameters:
target(notification,quick_settings).
set_clipboard / get_clipboard
Sets or retrieves text from the device clipboard.
rotate_screen
Forces screen orientation.
- Parameters:
orientation(n=natural,l=left,r=right,u=upside down).
8. Debug & Watchers
get_hierarchy
Returns the current UI hierarchy as an XML string. Useful for debugging layout.
get_toast
Retrieves the message from a toast notification (transient popup).
- Parameters:
wait_timeout.
register_watcher
Registers a watcher to automatically handle popups or specific text.
- Parameters:
name,condition_text,action_text(what to click),click_action(bool). - Example:
qa.register_watcher("ANR", "Application not responding", "OK")
remove_watcher / remove_all_watchers
Removes specific or all registered watchers.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qa_automation2-1.0.5.tar.gz.
File metadata
- Download URL: qa_automation2-1.0.5.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f60c7f14e1733181a5ac0f4ba0507b62f7519363d311d925fd7b823e3e6c5e7
|
|
| MD5 |
5eb806cb180a8b9de6ea5ea24f6e6dd8
|
|
| BLAKE2b-256 |
0fd7089f7d7a7f952350e5858cd1fa4884e4e56232676ca42c6cde67f8d9b70a
|
File details
Details for the file qa_automation2-1.0.5-py3-none-any.whl.
File metadata
- Download URL: qa_automation2-1.0.5-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cfb42187fa3fe3524007a6617aa7be0b84fa49586fd51e4ddc09198400e0ea9
|
|
| MD5 |
78fba2d22077df78860d38da94f9190e
|
|
| BLAKE2b-256 |
6c181a89c9c422a8826126ca9f0cb7be0f0232e3cac87a8bcb616e356dc859bb
|