Appium 方法大全 - 包含driver和element全部方法
- DRIVER方法大全
- 详细说明
- activate_app
- activate_ime_engine
- active_ime_engine
- add_cookie
- add_credential
- add_virtual_authenticator
- all_sessions
- app_strings
- application_cache
- assert_extension_exists
- available_ime_engines
- back
- background_app
- battery_info
- bidi_connection
- capabilities
- caps
- close
- close_app
- command_executor
- context
- contexts
- create_web_element
- current_activity
- current_context
- current_package
- current_url
- current_window_handle
- deactivate_ime_engine
- delete_all_cookies
- delete_cookie
- delete_extensions
- desired_capabilities
- device_time
- drag_and_drop
- end_test_coverage
- error_handler
- events
- execute
- execute_async_script
- execute_driver
- execute_script
- file_detector
- file_detector_context
- find_element
- find_elements
- find_image_occurrence
- finger_print
- flick
- forward
- fullscreen_window
- get
- get_clipboard
- get_clipboard_text
- get_cookie
- get_cookies
- get_credentials
- get_device_time
- get_display_density
- get_events
- get_images_similarity
- get_log
- get_performance_data
- get_performance_data_types
- get_pinned_scripts
- get_screenshot_as_base64
- get_screenshot_as_file
- get_screenshot_as_png
- get_settings
- get_status
- get_system_bars
- get_window_position
- get_window_rect
- get_window_size
- hide_keyboard
- implicitly_wait
- install_app
- is_app_installed
- is_ime_active
- is_keyboard_shown
- is_locked
- keyevent
- launch_app
- location
- lock
- log_event
- log_types
- long_press_keycode
- make_gsm_call
- mark_extension_absence
- match_images_features
- maximize_window
- minimize_window
- mobile
- name
- network_connection
- open_notifications
- orientation
- page_source
- pin_script
- pinned_scripts
- press_button
- press_keycode
- print_page
- pull_file
- pull_folder
- push_file
- query_app_state
- quit
- refresh
- remove_all_credentials
- remove_app
- remove_credential
- remove_virtual_authenticator
- reset
- save_screenshot
- scroll
- send_sms
- session
- session_id
- set_clipboard
- set_clipboard_text
- set_gsm_signal
- set_gsm_voice
- set_location
- set_network_connection
- set_network_speed
- set_page_load_timeout
- set_power_ac
- set_power_capacity
- set_script_timeout
- set_user_verified
- set_value
- set_window_position
- set_window_rect
- set_window_size
- shake
- start_activity
- start_client
- start_recording_screen
- start_session
- stop_client
- stop_recording_screen
- swipe
- switch_to
- tap
- terminate_app
- timeouts
- title
- toggle_location_services
- toggle_touch_id_enrollment
- toggle_wifi
- touch_id
- unlock
- unpin
- update_settings
- virtual_authenticator_id
- wait_activity
- window_handles
- Element方法大全
Appium 方法大全
基于Appium-Python-Client 2.11.1
- Appium 方法大全
- DRIVER方法大全
- 详细说明
- activate_app
- activate_ime_engine
- active_ime_engine
- add_cookie
- add_credential
- add_virtual_authenticator
- all_sessions
- app_strings
- application_cache
- assert_extension_exists
- available_ime_engines
- back
- background_app
- battery_info
- bidi_connection
- capabilities
- caps
- close
- close_app
- command_executor
- context
- contexts
- create_web_element
- current_activity
- current_context
- current_package
- current_url
- current_window_handle
- deactivate_ime_engine
- delete_all_cookies
- delete_cookie
- delete_extensions
- desired_capabilities
- device_time
- drag_and_drop
- end_test_coverage
- error_handler
- events
- execute
- execute_async_script
- execute_driver
- execute_script
- file_detector
- file_detector_context
- find_element
- find_elements
- find_image_occurrence
- finger_print
- flick
- forward
- fullscreen_window
- get
- get_clipboard
- get_clipboard_text
- get_cookie
- get_cookies
- get_credentials
- get_device_time
- get_display_density
- get_events
- get_images_similarity
- get_log
- get_performance_data
- get_performance_data_types
- get_pinned_scripts
- get_screenshot_as_base64
- get_screenshot_as_file
- get_screenshot_as_png
- get_settings
- get_status
- get_system_bars
- get_window_position
- get_window_rect
- get_window_size
- hide_keyboard
- implicitly_wait
- install_app
- is_app_installed
- is_ime_active
- is_keyboard_shown
- is_locked
- keyevent
- launch_app
- location
- lock
- log_event
- log_types
- long_press_keycode
- make_gsm_call
- mark_extension_absence
- match_images_features
- maximize_window
- minimize_window
- mobile
- name
- network_connection
- open_notifications
- orientation
- page_source
- pin_script
- pinned_scripts
- press_button
- press_keycode
- print_page
- pull_file
- pull_folder
- push_file
- query_app_state
- quit
- refresh
- remove_all_credentials
- remove_app
- remove_credential
- remove_virtual_authenticator
- reset
- save_screenshot
- scroll
- send_sms
- session
- session_id
- set_clipboard
- set_clipboard_text
- set_gsm_signal
- set_gsm_voice
- set_location
- set_network_connection
- set_network_speed
- set_page_load_timeout
- set_power_ac
- set_power_capacity
- set_script_timeout
- set_user_verified
- set_value
- set_window_position
- set_window_rect
- set_window_size
- shake
- start_activity
- start_client
- start_recording_screen
- start_session
- stop_client
- stop_recording_screen
- swipe
- switch_to
- tap
- terminate_app
- timeouts
- title
- toggle_location_services
- toggle_touch_id_enrollment
- toggle_wifi
- touch_id
- unlock
- unpin
- update_settings
- virtual_authenticator_id
- wait_activity
- window_handles
- Element方法大全
DRIVER方法大全
session管理✅
-
session操作:
start_session
: 初始化一个新的浏览器会话。
-
session信息:
session_id
: 获取当前会话的唯一标识符。all_sessions
: 获取所有活动的会话列表。session
: 获取当前会话的相关信息。
cookie管理✅
-
cookie操作
add_cookie
: 添加一个cookie。delete_all_cookies
: 删除所有cookies。delete_cookie
: 删除特定cookie。
-
cookie信息
-
get_cookie
: 获取特定名称的cookie。 -
get_cookies
: 获取所有cookies。
-
Capabilities管理✅
update_settings
: 更新设置信息。capabilities
: 获取或设置会话的能力,如浏览器版本、操作系统等。caps
: 同上,获取或设置能力。desired_capabilities
: --- 已弃用get_settings
: 获取设置信息。name
: 获取会话中的browserName名称
网络/WIFI 管理✅
-
网络设置
set_network_connection
: 设置设备的网络连接类型。set_network_speed
: 设置网络速度。toggle_wifi
: 切换Wi-Fi的开启和关闭。
-
网络信息
network_connection
: 获取网络连接类型。
Activity管理✅
-
current_activity
: 获取当前活动(Activity)的名称。 -
start_activity
: 启动一个新的活动(Activity)。 -
wait_activity
: 等待特定的活动(Activity)出现。
应用程序管理✅
-
应用操作:
launch_app
: 启动一个新的应用程序。close_app
: 关闭当前应用程序。close
: 关闭当前应用的当前会话窗口(类似于小程序那种)background_app
: 将应用置于后台运行。activate_app
: 切换到指定的应用程序。terminate_app
: 结束指定的应用。install_app
: 在设备上安装一个应用程序。is_app_installed
: 检查应用程序是否已安装。remove_app
: 从设备上卸载一个应用程序。reset
: 重置设备或应用到默认状态。-- 已弃用
-
应用信息:
-
app_strings
: 获取应用程序的字符串资源。 -
application_cache
: 获取应用程序的缓存状态。 -
query_app_state
: 查询应用的状态信息。 -
current_package
: 获取当前活动的包名。
-
上下文管理✅
contexts
: 获取所有可用的上下文。context
: 获取当前的上下文环境。current_context
: 获取当前活动的上下文。switch_to
: 切换到另一个窗口或上下文。file_detector_context
: 获取文件检上传的上下文。
浏览器操作
-
导航控制:
back
: 后退到上一个页面。forward
: 前进到下一个页面。refresh
: 刷新当前页面。get
: 打开一个新的网页。
-
窗口:✅
switch_to
: 切换到另一个窗口或上下文。current_window_handle
: 获取当前窗口的句柄。window_handles
: 获取所有窗口的句柄。close
: 关闭当前会话或窗口。quit
: 关闭所有窗口,结束所有会话。maximize_window
: 最大化窗口。maximize_window
: 最小化窗口。set_window_position
: 设置窗口的位置。set_window_rect
: 设置窗口的矩形区域。set_window_size
: 设置窗口的大小。fullscreen_window
: 将窗口最大化。get_window_position
: 获取窗口的位置。get_window_rect
: 获取窗口的矩形区域。get_window_size
: 获取窗口的大小。
-
其他
title
: 获取当前页面的标题。get
: 获取指定URL的内容。current_url
: 获取当前加载的URL。page_source
: 获取当前页面的源代码。print_page
: 将当前页面的内容输出到打印格式,这通常用于调试或记录页面的当前状态。
元素交互✅
-
查找和操作元素:
find_element
: 查找页面上的单个元素。find_elements
: 查找页面上的多个元素。create_web_element
: 创建一个新的Web元素。set_value
: 设置元素的值。page_source
: 获取当前的源代码。
-
高级元素操作:
drag_and_drop
: 拖放元素。scroll
: 滚动到元素。
移动设备模拟✅
-
设备控制:
-
shake
: 模拟设备摇动。 -
lock
: 锁定设备屏幕。 -
is_locked
: 检查设备是否锁定。 -
unlock
: 解锁设备屏幕。 -
back
: 模拟设备上的“返回”按键操作。 -
orientation
: 设置或获取设备的屏幕方向。
-
-
手势操作:✅
tap
: 模拟轻触屏幕,支持触摸时间。swipe
: 模拟滑动操作,支持滑动时间。flick
: 模拟快速滑动。
-
按键操作:✅
long_press_keycode
: 长按指定的键码。press_keycode
: 模拟物理按钮的操作press_button
: 模拟虚拟按键的操作keyevent
: 发送一个键盘事件到设备。
等待和超时✅
- 等待策略
implicitly_wait
: 设置隐式等待时间。set_script_timeout
: 设置脚本超时时间。timeouts
: 设置各种操作的超时时间。set_page_load_timeout
: 设置页面加载超时时间。set_script_timeout
: 设置脚本执行的超时时间。
日志和错误处理✅
- 日志获取
get_log
: 获取浏览器日志。log_types
: 获取可用的日志类型。
系统信息和设备状态
-
设备状态:
get_display_density
: 获取设备的屏幕显示密度。
-
系统信息:
文件管理✅
-
文件/文件夹操作
pull_file
: 从设备拉取文件到本地系统。pull_folder
: 从设备拉取文件夹。push_file
: 向设备推送文件。
-
上传文件
file_detector_context
: 获取文件检测上下文。file_detector
: 检测文件。
屏幕管理✅
-
截图操作
get_screenshot_as_base64
: 获取屏幕截图的Base64编码。get_screenshot_as_file
: 将屏幕截图保存为文件。get_screenshot_as_png
: 获取屏幕截图的PNG格式。save_screenshot
: 保存屏幕截图。
-
录制屏幕
start_recording_screen
: 开始录制屏幕操作。stop_recording_screen
: 停止录制屏幕操作。
辅助功能
-
IME引擎管理:✅
available_ime_engines
: 获取可用的输入法引擎。active_ime_engine
: 获取当前激活的输入法引擎。activate_ime_engine
: 激活输入法引擎。deactivate_ime_engine
: 停用输入法引擎。is_ime_active
: 检查输入法是否激活。
-
扩展管理: ✅
assert_extension_exists
: 确认扩展是否存在。mark_extension_absence
: 标记扩展不存在。delete_extensions
: 删除所有的扩展。
-
图像匹配:✅
match_images_features
: 匹配图像特征。get_images_similarity
: 获取图片的相似度。find_image_occurrence
: 查找图片在页面上出现的次数。
-
指纹识别:✅
finger_print
: 模拟指纹识别解锁手机。set_user_verified
: 设置用户验证状态。
虚拟设备✅
-
虚拟认证器
-
virtual_authenticator_id
:获取虚拟身份验证程序的id -
add_virtual_authenticator
: 添加虚拟认证器。 -
remove_virtual_authenticator
: 移除虚拟认证器。
-
测试覆盖率✅
- 测试覆盖率
end_test_coverage
: 结束测试覆盖率收集。
短信操作✅
- 短信发送
send_sms
: 发送短信。
通知操作✅
open_notifications
: 打开通知栏。
状态栏✅
get_system_bars
: 获取系统栏的信息。
电源管理✅
set_power_ac
: 设置是否连接到交流电源。set_power_capacity
: 设置电池电量。battery_info
: 获备的电池信息。
剪粘板✅
get_clipboard
: 获取剪贴板的内容。get_clipboard_text
: 获取剪贴板中的文本内容。set_clipboard
: 设置剪贴板内容。set_clipboard_text
: 在剪贴板中设置文本内容。
GPS管理✅
-
location
: 获取设备的位置信息。 -
set_location
: 设置设备的GPS信息。 -
toggle_location_services
: 切换位置服务的开启和关闭。
GSM/通话 管理✅
make_gsm_call
: 通过GSM网络拨打电话。set_gsm_signal
: 设置GSM信号强度。set_gsm_voice
: 设置GSM语音通话质量。
键盘管理✅
hide_keyboard
: 隐藏键盘。is_keyboard_shown
: 检查键盘是否显示在屏幕上。
Touch管理✅
touch_id
: 模拟Touch ID操作。 - 仅支持IOStoggle_touch_id_enrollment
: 切换Touch ID的注册状态。
时间管理✅
device_time
: 获取设备的日期和时间get_device_time
: 获取设备的当前时间。
性能信息✅
get_performance_data
: 获取设备性能数据,类属于LInux Top。get_performance_data_types
: 获取性能数据类型
JavaScript✅
execute
: 执行一段JavaScript代码。execute_driver
: 执行驱动程序命令。execute_async_script
: 执行一段异步JavaScript代码。execute_script
: 执行一段同步JavaScript代码。
appium服务器
1. 事件管理✅
-
log_event
: 记录日志事件。 -
get_events
: 获取系统事件。 - 非常有用,可以查看appium对指令的执行耗时 -
events
: 获取或设置事件监听器。
2. 服务器状态✅
get_status
: 获取当前会话的状态。
3. 其他
start_client
: 启动客户端。stop_client
: 停止客户端。bidi_connection
: 建立双向连接,用于实时通信。command_executor
: 执行命令的接口,用于发送各种命令到浏览器。
认证凭据✅
remove_all_credentials
: 删除所有存储的认证凭据。remove_credential
: 删除指定的认证凭据。get_credentials
: 获取存储的认证凭据。add_credential
: 添加认证凭据,如用户名和密码,用于自动登录。
固定脚本✅
unpin
: 取消固定脚本。
pin_script
: 固定脚本,使其在后续的操作中可用。
pinned_scripts
: 获取当前固定(pinned)的脚本列表,这些脚本可能被用于后续的快速调用。
get_pinned_scripts
: 获取固定脚本。
详细说明
activate_app
- 功能描述:激活指定的应用,使之成为当前运行在前台的应用。这通常用于确保目标应用处于活跃状态,以便进行后续的操作。
- 使用场景:在自动化测试中,当需要切换到特定的应用程序进行操作时使用。
- 代码示例:
其中driver.activate_app(app_id)
app_id
是应用的唯一标识符。
activate_ime_engine
- 功能描述:激活输入法引擎,用于输入需要特定输入法的语言,如中文、日文等。
- 使用场景:在需要进行中文或日文输入的自动化测试场景中。
- 代码示例:
其中driver.activate_ime_engine(ime_engine_id)
ime_engine_id
是输入法引擎的唯一标识符。
active_ime_engine
- 功能描述:获取当前激活的输入法引擎。
- 使用场景:在进行输入操作前后,检查当前激活的输入法引擎状态。
- 代码示例:
current_ime_engine = driver.active_ime_engine()
add_cookie
- 功能描述:向浏览器添加一个cookie,用于模拟用户的登录状态或测试cookie相关功能。
- 使用场景:在Web应用的自动化测试中,模拟用户登录并添加cookie。
- 代码示例:
driver.add_cookie({'name': 'username', 'value': 'user123', 'path': '/', 'domain': 'example.com'})
add_credential
- 功能描述:添加认证凭据,如用户名和密码,用于自动登录。
- 使用场景:在自动化测试中,存储和使用登录凭证以自动完成登录过程。
- 代码示例:
driver.add_credential('username', 'password')
add_virtual_authenticator
- 功能描述:添加一个虚拟的身份验证器,用于测试认证流程。
- 使用场景:在安全测试中,模拟身份验证器行为以测试应用的认证机制。
- 代码示例:
driver.add_virtual_authenticator({'id': 'authenticator_id'})
all_sessions
- 功能描述:获取当前所有会话的列表。
- 使用场景:在监控或管理系统级别的会话时使用。
- 代码示例:
sessions = driver.all_sessions()
app_strings
- 功能描述:获取应用内的字符串资源。
- 使用场景:在国际化测试中,获取并验证应用的本地化字符串。
- 代码示例:
strings = driver.app_strings()
application_cache
- 功能描述:获取应用的缓存信息。
- 使用场景:在测试应用的离线功能或缓存行为时使用。
- 代码示例:
cache_info = driver.application_cache()
assert_extension_exists
- 功能描述:断言扩展是否存在。
- 使用场景:在需要验证浏览器扩展是否正确安装和启用的测试中。
- 代码示例:
assert driver.assert_extension_exists(extension_id)
available_ime_engines
- 功能描述:获取所有可用的输入法引擎。
- 使用场景:在需要列出所有可用输入法引擎的测试中。
- 代码示例:
ime_engines = driver.available_ime_engines()
back
- 功能描述:模拟设备上的“返回”按键操作。
- 使用场景:在自动化测试中模拟用户按下“返回”键。
- 代码示例:
driver.back()
background_app
- 功能描述:将应用置于后台运行。
- 使用场景:在需要测试应用在后台时的行为,如消息推送或状态保持。
- 代码示例:
driver.background_app()
battery_info
- 功能描述:获取设备的电池信息。
- 使用场景:在测试设备在不同电池状态下的应用表现时。
- 代码示例:
battery_info = driver.battery_info()
bidi_connection
- 功能描述:建立双向连接,用于实时通信。
- 使用场景:在需要实时监控和控制设备或应用时。
- 代码示例:
bidi_connection = driver.bidi_connection()
capabilities
- 功能描述:获取或设置会话的能力,如浏览器版本、操作系统等。
- 使用场景:在创建会话时配置所需的浏览器和操作系统能力。
- 代码示例:
caps = driver.capabilities caps['platform'] = 'Windows 10'
caps
- 功能描述:同上,获取或设置能力。
- 使用场景:同
capabilities
。 - 代码示例:
caps = driver.caps caps['version'] = 'latest'
close
- 功能描述:关闭当前会话或窗口。
- 使用场景:在测试结束后清理资源或在测试中模拟关闭操作。
- 代码示例:
driver.close()
close_app
- 功能描述:结束当前运行的应用。
- 使用场景:在测试结束或需要重置应用状态时。
- 代码示例:
driver.close_app()
command_executor
- 功能描述:执行命令的接口,用于发送各种命令到浏览器。
- 使用场景:在需要执行非标准命令或直接与浏览器通信时。
- 代码示例:
result = driver.command_executor('/sessions/{session_id}/chromium.send_command', { 'cmd': 'Page.addScriptToEvaluateOnNewDocument', 'params': {'script': 'console.log("Hello, World!")'} })
context
- 功能描述:获取当前的上下文环境,这在处理多上下文环境(如多个Web视图或原生视图)时非常有用。
- 使用场景:在自动化测试中,当需要在不同的上下文环境(如不同Webview)之间切换时。
- 代码示例:
current_context = driver.context
contexts
- 功能描述:获取所有可用的上下文环境的列表,这通常用于了解当前会话可以操作的所有上下文。
- 使用场景:在处理多上下文环境时,列出所有可用的上下文以供选择。
- 代码示例:
all_contexts = driver.contexts
create_web_element
- 功能描述:创建一个新的Web元素对象,这通常用于直接与页面元素交互,而不需要先通过
find_element
方法定位。 - 使用场景:在需要通过元素的ID或其他属性直接创建元素对象时使用。
- 代码示例:
new_element = driver.create_web_element(element_id)
current_activity
- 功能描述:获取当前Android活动(Activity)的名称,这在测试Android应用时非常有用。
- 使用场景:在测试Android应用时,需要知道当前正在运行的活动或组件。
- 代码示例:
current_activity_name = driver.current_activity
current_context
- 功能描述:获取当前活动的上下文环境,这可以是Web环境或原生应用环境。
- 使用场景:在自动化测试中,需要知道当前操作的上下文环境,以便进行正确的操作。
- 代码示例:
current_context_handle = driver.current_context
current_package
- 功能描述:获取当前Android活动的包名,这在测试Android应用时非常有用。
- 使用场景:在测试Android应用时,需要知道当前活动的应用程序的包名。
- 代码示例:
current_package_name = driver.current_package
current_url
- 功能描述:获取当前加载的页面的URL。
- 使用场景:在Web自动化测试中,需要确认当前页面的URL是否符合预期。
- 代码示例:
current_url = driver.current_url
current_window_handle
- 功能描述:获取当前窗口的句柄,这在处理多个浏览器窗口时非常有用。
- 使用场景:在需要操作特定浏览器窗口或在多个窗口间切换时使用。
- 代码示例:
current_window_handle = driver.current_window_handle
deactivate_ime_engine
- 功能描述:停用当前激活的输入法引擎,这在测试需要输入文本的应用时非常有用。
- 使用场景:在自动化测试中,当需要确保输入法引擎不会干扰测试操作时。
- 代码示例:
driver.deactivate_ime_engine()
delete_all_cookies
- 功能描述:删除所有的cookie,这通常用于重置用户的会话状态或清除会话数据。
- 使用场景:在测试会话管理或用户登录时,需要清除之前会话的cookie。
- 代码示例:
driver.delete_all_cookies()
delete_cookie
- 功能描述:删除指定的cookie,这可以用于清除特定用户设置或测试cookie管理。
- 使用场景:在需要移除特定cookie以测试其对应用的影响时。
- 代码示例:
driver.delete_cookie('cookie_name')
delete_extensions
- 功能描述:删除所有的扩展,这在测试浏览器扩展或需要清理浏览器环境时非常有用。
- 使用场景:在自动化测试结束后,需要清除所有扩展以保持浏览器的清洁状态。
- 代码示例:
driver.delete_extensions()
desired_capabilities
- 功能描述:设置期望的能力,这些能力用于会话创建,定义了浏览器或应用应该如何启动。
- 使用场景:在创建WebDriver会话之前,配置所需的浏览器选项或移动设备设置。
- 代码示例:
capabilities = { 'browserName': 'chrome', 'version': '', 'platform': 'ANY' } driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub', desired_capabilities=capabilities)
device_time
- 功能描述:获取或设置设备的时间,这在测试时间敏感的应用时非常有用。
- 使用场景:在需要模拟特定时间或确保设备时间准确时。
- 代码示例:
current_time = driver.device_time
drag_and_drop
- 功能描述:执行拖放操作,模拟用户将一个元素拖拽到另一个元素上。
- 使用场景:在测试需要拖放功能的应用,如网页上的文件上传或游戏内的操作。
- 代码示例:
driver.drag_and_drop(source_element, target_element)
end_test_coverage
- 功能描述:结束测试覆盖率的收集,这在进行代码覆盖率分析时非常有用。
- 使用场景:在自动化测试结束后,收集代码覆盖率数据以分析测试的完整性。
- 代码示例:
driver.end_test_coverage()
error_handler
- 功能描述:处理错误,定义当WebDriver遇到错误时的行为。
- 使用场景:在需要自定义错误处理逻辑时,如测试失败时的截图或日志记录。
- 代码示例:
def error_handler(e): print(e) driver.error_handler = error_handler
events
- 功能描述:获取或设置事件监听器,用于监听WebDriver生成的事件。
- 使用场景:在需要监听特定WebDriver事件,如页面加载完成,以进行额外的测试逻辑处理。
- 代码示例:
driver.events.add_listener(some_listener)
execute
- 功能描述:执行一个命令,这是WebDriver协议中发送命令到浏览器的通用方法。
- 使用场景:在需要执行非标准命令或自定义命令时。
- 代码示例:
driver.execute(Command.SOME_COMMAND, params)
execute_async_script
- 功能描述:异步执行JavaScript脚本,允许脚本在后台运行,而不会阻塞WebDriver的后续操作。
- 使用场景:在需要执行长时间运行的JavaScript代码,但又不希望阻塞测试流程时。
- 代码示例:
driver.execute_async_script(script)
execute_driver
- 功能描述:执行驱动程序命令,这是一个较为底层的方法,直接与WebDriver的命令执行接口交互。
- 使用场景:当需要发送未经封装的原始命令到WebDriver服务器时使用。
- 代码示例:
response = driver.execute_driver("GET", "/session/:sessionId/element/:elementId/property")
execute_script
- 功能描述:在当前页面的上下文中执行JavaScript脚本,可以用来执行页面上的复杂操作或获取页面信息。
- 使用场景:当需要在页面上执行JavaScript代码以操作DOM或获取信息时。
- 代码示例:
script_result = driver.execute_script("return document.title;")
file_detector
- 功能描述:检测文件,这个功能在某些WebDriver实现中可能用于检测文件的存在或属性。
- 使用场景:在文件上传或文件管理功能的自动化测试中。
- 代码示例:
file_info = driver.file_detector("/path/to/file")
file_detector_context
- 功能描述:获取文件检测上下文,这可能涉及到设置文件检测的策略或获取文件检测的状态。
- 使用场景:在需要对文件进行复杂检测或管理时。
- 代码示例:
file_context = driver.file_detector_context()
find_element
- 功能描述:查找页面上的单个元素,通过指定的定位策略(如ID、类名、标签名等)。
- 使用场景:在自动化测试中,需要定位页面上的特定元素以进行后续操作。
- 代码示例:
element = driver.find_element_by_id("element_id")
find_elements
- 功能描述:查找页面上的多个元素,通过指定的定位策略,返回一个元素列表。
- 使用场景:当需要对页面上的多个元素进行操作或验证时。
- 代码示例:
elements = driver.find_elements_by_class_name("class_name")
find_image_occurrence
- 功能描述:查找图片在页面上出现的次数,这通常用于图像识别和验证。
- 使用场景:在视觉测试或图像匹配功能中,需要确认图片出现的次数。
- 代码示例:
image_count = driver.find_image_occurrence("image_path")
finger_print
- 功能描述:获取设备的指纹信息,这可能用于安全相关的测试或验证。
- 使用场景:在需要验证设备指纹或进行设备识别的自动化测试中。
- 代码示例:
fingerprint = driver.finger_print()
flick
- 功能描述:模拟快速滑动操作,可以用来快速滚动页面或模拟用户翻页等操作。
- 使用场景:在需要快速浏览长页面或测试滚动性能时。
- 代码示例:
driver.flick(xoffset, yoffset)
forward
- 功能描述:模拟设备上的“前进”按键操作,通常用于浏览器中导航到历史记录中的下一个页面。
- 使用场景:在Web自动化测试中,模拟用户浏览历史行为或测试前进按钮的功能。
- 代码示例:
driver.forward()
fullscreen_window
- 功能描述:将窗口最大化,确保Web页面或应用界面充满整个屏幕。
- 使用场景:在需要全屏显示或测试全屏功能时。
- 代码示例:
driver.fullscreen_window()
get
- 功能描述:获取指定URL的内容,相当于在浏览器中访问该URL。
- 使用场景:在Web自动化测试中,用于打开并获取网页内容。
- 代码示例:
driver.get("http://www.example.com")
get_clipboard
- 功能描述:获取剪贴板的内容,可以用来检查或验证剪贴板数据。
- 使用场景:在需要测试剪贴板功能或自动化剪贴板操作时。
- 代码示例:
clipboard_content = driver.get_clipboard()
get_clipboard_text
- 功能描述:获取剪贴板中的文本内容,这通常用于测试文本复制和粘贴操作。
- 使用场景:在需要自动化文本处理或验证文本剪贴板内容时。
- 代码示例:
clipboard_text = driver.get_clipboard_text()
get_cookie
- 功能描述:获取指定的cookie,可以用来检查或修改用户的会话状态。
- 使用场景:在需要测试cookie管理或自动化cookie操作时。
- 代码示例:
cookie = driver.get_cookie("cookie_name")
get_cookies
- 功能描述:获取所有的cookie,这可以用来分析用户的会话信息。
- 使用场景:在需要检查所有会话cookie或进行cookie相关的测试时。
- 代码示例:
cookies = driver.get_cookies()
get_credentials
- 功能描述:获取存储的认证凭据,如用户名和密码,这通常用于自动化登录流程。
- 使用场景:在需要自动填充登录表单或测试认证功能时。
- 代码示例:
credentials = driver.get_credentials()
get_device_time
- 功能描述:获取设备的当前时间,这在进行时间相关的测试时非常有用。
- 使用场景:在需要模拟特定时间或验证时间显示功能时。
- 代码示例:
current_time = driver.get_device_time()
get_display_density
- 功能描述:获取屏幕的显示密度,这可以用来了解屏幕的像素密度。
- 使用场景:在进行屏幕显示相关的测试或适配不同分辨率的设备时。
- 代码示例:
display_density = driver.get_display_density()
get_events
- 功能描述:获取事件列表,这可以用来监控WebDriver生成的事件。
- 使用场景:在需要监听和分析WebDriver事件以进行调试或性能分析时。
- 代码示例:
events = driver.get_events()
get_images_similarity
- 功能描述:获取图片的相似度,这通常用于图像识别和验证。
- 使用场景:在视觉测试或图像匹配功能中,需要确认图片的相似性。
- 代码示例:
similarity = driver.get_images_similarity("image1_path", "image2_path")
get_log
- 功能描述:获取日志信息,这可以用来了解设备的运行状态或调试测试。
- 使用场景:在需要分析日志以诊断问题或验证系统行为时。
- 代码示例:
logs = driver.get_log("log_type")
get_performance_data
- 功能描述:获取性能数据,这可以用来分析应用的性能表现。
- 使用场景:在进行性能测试或监控应用性能时。
- 代码示例:
performance_data = driver.get_performance_data("data_type")
get_performance_data_types
- 功能描述:获取性能数据类型,这可以用来了解可以监控的性能指标类型。
- 使用场景:在开始性能测试之前,确定需要收集哪些类型的表现数据。
- 代码示例:
performance_data_types = driver.get_performance_data_types()
get_pinned_scripts
- 功能描述:获取固定脚本,这可以用来管理和执行预先定义好的脚本。
- 使用场景:在需要重用或快速执行固定脚本的自动化测试中。
- 代码示例:
pinned_scripts = driver.get_pinned_scripts()
get_screenshot_as_base64
- 功能描述:获取Base64编码的屏幕截图,这可以用来在不保存文件的情况下捕获屏幕内容。
- 使用场景:在需要捕获屏幕并进行图像分析或验证时。
- 代码示例:
screenshot_base64 = driver.get_screenshot_as_base64()
get_screenshot_as_file
- 功能描述:将屏幕截图保存为文件,这可以用来记录测试过程或进行图像验证。
- 使用场景:在需要保存屏幕截图以供后续分析或报告时。
- 代码示例:
driver.get_screenshot_as_file("screenshot.png")
get_screenshot_as_png
- 功能描述:获取PNG格式的屏幕截图,这对于捕获当前屏幕内容并进行分析或报告非常有用。
- 使用场景:在需要保存屏幕截图作为测试结果的证据或者进行视觉验证时。
- 代码示例:
screenshot_png = driver.get_screenshot_as_png()
get_settings
- 功能描述:获取当前会话的设置信息,这可能包括浏览器的特定选项或移动设备的特定配置。
- 使用场景:在需要检查或验证会话配置是否正确应用时。
- 代码示例:
settings = driver.get_settings()
get_status
- 功能描述:获取当前会话的状态信息,例如会话是否仍然有效或存在任何错误。
- 使用场景:在需要监控会话健康状况或进行故障排除时。
- 代码示例:
status = driver.get_status()
get_system_bars
- 功能描述:获取系统栏的信息,这可能包括状态栏和导航栏的可见性和位置。
- 使用场景:在进行全屏应用测试或需要了解系统栏对UI布局影响时。
- 代码示例:
system_bars = driver.get_system_bars()
get_window_position
- 功能描述:获取当前窗口的位置坐标,这对于确保窗口在预期位置非常有用。
- 使用场景:在进行窗口管理操作或需要精确控制窗口位置时。
- 代码示例:
window_position = driver.get_window_position()
get_window_rect
- 功能描述:获取当前窗口的矩形区域,包括窗口的位置和大小。
- 使用场景:在需要验证窗口布局或进行窗口大小和位置的自动化调整时。
- 代码示例:
window_rect = driver.get_window_rect()
get_window_size
- 功能描述:获取当前窗口的大小,包括宽度和高度。
- 使用场景:在进行窗口大小调整或需要验证窗口尺寸时。
- 代码示例:
window_size = driver.get_window_size()
hide_keyboard
- 功能描述:隐藏键盘,这在自动化测试中用于确保键盘不会干扰测试流程。
- 使用场景:在完成输入操作后,需要隐藏键盘以继续其他交互操作时。
- 代码示例:
driver.hide_keyboard()
implicitly_wait
- 功能描述:设置隐式等待时间,这是WebDriver在尝试查找元素时等待元素变得可交互的最长时间。
- 使用场景:在需要确保页面加载完成或元素可操作时。
- 代码示例:
driver.implicitly_wait(10) # 等待最多10秒
install_app
- 功能描述:安装应用到设备,这对于自动化测试移动应用安装和首次启动流程非常有用。
- 使用场景:在进行应用安装测试或需要预装应用到测试设备时。
- 代码示例:
driver.install_app('path/to/app.apk')
is_app_installed
- 功能描述:检查应用是否已安装在设备上,这对于验证安装流程或快速检查应用存在性非常有用。
- 使用场景:在需要确认应用是否已经安装或更新时。
- 代码示例:
is_installed = driver.is_app_installed('app_package_name')
is_ime_active
- 功能描述:检查输入法是否激活,这对于进行输入操作的自动化测试非常重要。
- 使用场景:在需要确保输入法处于激活状态以进行文本输入时。
- 代码示例:
is_active = driver.is_ime_active()
is_keyboard_shown
- 功能描述:检查键盘是否显示在屏幕上,这对于确保键盘不会干扰测试流程非常有用。
- 使用场景:在需要键盘进行输入操作,但不希望物理键盘干扰时。
- 代码示例:
is_shown = driver.is_keyboard_shown()
is_locked
- 功能描述:检查设备是否被锁定,这通常用于在执行某些操作之前确认设备的状态。
- 使用场景:在自动化测试中,确保设备处于解锁状态以便进行后续的用户交互操作。
- 代码示例:
is_device_locked = driver.is_locked()
keyevent
- 功能描述:发送一个键盘事件到设备,可以模拟硬件按键的按压和释放。
- 使用场景:在需要模拟特定按键事件,如电源键或音量键操作时。
- 代码示例:
driver.keyevent(keycode)
launch_app
- 功能描述:启动应用,这通常用于确保应用处于运行状态以便进行自动化测试。
- 使用场景:在自动化测试开始前,启动应用以确保其处于可操作状态。
- 代码示例:
driver.launch_app(app_path)
location
- 功能描述:设置或获取设备的位置信息,这通常用于测试地理位置相关的功能。
- 使用场景:在需要模拟特定位置或测试位置服务时。
- 代码示例:
driver.location = (latitude, longitude)
lock
- 功能描述:锁定设备屏幕,这通常用于确保设备在测试期间不会被意外操作。
- 使用场景:在自动化测试中,为了防止设备在不适当的时候解锁或被打扰。
- 代码示例:
driver.lock()
log_event
- 功能描述:记录日志事件,这可以用于自定义日志记录或事件追踪。
- 使用场景:在需要记录特定测试事件或错误信息时。
- 代码示例:
driver.log_event('event_name', event_data)
log_types
- 功能描述:获取日志类型,这有助于了解可以记录哪些类型的日志信息。
- 使用场景:在配置日志记录或分析日志数据时。
- 代码示例:
log_types = driver.log_types()
long_press_keycode
- 功能描述:长按指定的键码,模拟长时间按压某个按键的行为。
- 使用场景:在需要模拟长按操作,如长按电源键进行关机或重启时。
- 代码示例:
driver.long_press_keycode(keycode)
make_gsm_call
- 功能描述:通过GSM网络拨打电话,这通常用于测试设备的通话功能。
- 使用场景:在进行电话相关的自动化测试时。
- 代码示例:
driver.make_gsm_call(phone_number)
mark_extension_absence
- 功能描述:标记扩展不存在,这可能用于测试或配置特定于扩展的行为。
- 使用场景:在需要确保某个扩展不被加载或测试扩展缺失情况下的行为时。
- 代码示例:
driver.mark_extension_absence(extension_id)
match_images_features
- 功能描述:匹配图像特征,这通常用于图像识别和验证。
- 使用场景:在进行视觉测试或需要比较两张图片的相似性时。
- 代码示例:
match_result = driver.match_images_features(image1_path, image2_path)
maximize_window
- 功能描述:最大化窗口,确保窗口占据整个屏幕。
- 使用场景:在需要全屏显示窗口内容或测试全屏功能时。
- 代码示例:
driver.maximize_window()
minimize_window
- 功能描述:最小化窗口,使其在任务栏或Dock中显示为图标。
- 使用场景:在需要管理多个窗口或测试最小化功能时。
- 代码示例:
driver.minimize_window()
mobile
- 功能描述:与移动设备相关的操作,这可能包括设备设置、传感器操作等。
- 使用场景:在进行移动设备特有的自动化测试时。
- 代码示例:
mobile_settings = driver.mobile
name
- 功能描述:获取或设置当前会话的名称,这有助于标识和组织不同的自动化会话。
- 使用场景:在需要对会话进行标记或引用时。
- 代码示例:
session_name = driver.name
network_connection
- 功能描述:设置网络连接类型,这通常用于模拟不同的网络条件以测试应用的网络性能。
- 使用场景:在进行网络稳定性或应用在不同网络环境下的表现测试时。
- 代码示例:
driver.network_connection = 'airplane_mode'
open_notifications
- 功能描述:打开通知,这通常用于测试通知栏的操作或验证通知显示。
- 使用场景:在需要与系统通知交互或验证通知内容时。
- 代码示例:
driver.open_notifications()
orientation
- 功能描述:设置或获取设备的屏幕方向,这可以用于测试应用在不同方向下的表现。
- 使用场景:在进行屏幕方向相关的自动化测试时。
- 代码示例:
driver.orientation = 'portrait'
page_source
- 功能描述:获取当前页面的源代码,这通常用于验证页面内容或进行SEO测试。
- 使用场景:在需要获取页面HTML内容进行分析或检查时。
- 代码示例:
page_source_code = driver.page_source
pin_script
- 功能描述:固定脚本,使其在后续的操作中可用,这可以提高重复执行脚本的效率。
- 使用场景:在需要频繁调用同一个脚本或存储常用操作序列时。
- 代码示例:
driver.pin_script(script_id, script_content)
pinned_scripts
- 功能描述:获取当前固定(pinned)的脚本列表,这些脚本可能被用于后续的快速调用。
- 使用场景:在需要快速访问和执行固定脚本的自动化测试中。
- 代码示例:
pinned_scripts_list = driver.pinned_scripts()
press_button
- 功能描述:模拟按下一个按钮的操作,这可以是实体按钮,如设备上的“主页”按钮,或者是软件中的按钮元素。
- 使用场景:在需要模拟用户按下特定按钮进行操作的自动化测试中。
- 代码示例:
driver.press_button(button_name)
press_keycode
- 功能描述:通过按键代码发送一个按键事件到设备,这允许模拟特定的按键操作,如音量加、音量减等。
- 使用场景:在需要模拟硬件按键操作的自动化测试中。
- 代码示例:
driver.press_keycode(keycode)
print_page
- 功能描述:将当前页面的内容输出到打印格式,这通常用于调试或记录页面的当前状态。
- 使用场景:在需要保存页面快照或进行页面内容验证时。
- 代码示例:
driver.print_page()
pull_file
- 功能描述:从设备拉取文件到本地系统,这通常用于获取设备上的文件或数据。
- 使用场景:在需要从设备上提取文件或备份数据时。
- 代码示例:
driver.pull_file(device_file_path, local_file_path)
pull_folder
- 功能描述:从设备拉取文件夹到本地系统,这通常用于获取设备上的多个文件或整个目录。
- 使用场景:在需要从设备上提取整个目录或进行数据备份时。
- 代码示例:
driver.pull_folder(device_folder_path, local_folder_path)
push_file
- 功能描述:将文件推送到设备,这通常用于安装应用、上传文件或提供测试数据。
- 使用场景:在需要向设备提供文件或更新应用时。
- 代码示例:
driver.push_file(local_file_path, device_file_path)
query_app_state
- 功能描述:查询应用的状态信息,这可以用于检查应用是否在运行或处于后台。
- 使用场景:在需要了解应用当前状态或进行状态相关的测试时。
- 代码示例:
app_state = driver.query_app_state(app_package)
quit
- 功能描述:关闭所有窗口并结束当前的WebDriver会话,这是一个清理操作,通常在测试结束后使用。
- 使用场景:在自动化测试脚本的最后,确保释放资源和关闭浏览器。
- 代码示例:
driver.quit()
refresh
- 功能描述:刷新当前页面,等同于浏览器中的刷新按钮,用于重新加载页面内容。
- 使用场景:在需要重新获取最新页面数据或清除页面缓存时。
- 代码示例:
driver.refresh()
remove_all_credentials
- 功能描述:删除所有存储的认证凭据,如用户名和密码,用于清除自动登录信息。
- 使用场景:在需要清除所有用户的登录信息以进行新用户测试时。
- 代码示例:
driver.remove_all_credentials()
remove_app
- 功能描述:从设备中移除应用,等同于用户卸载应用的操作。
- 使用场景:在需要清除应用数据或重置测试环境时。
- 代码示例:
driver.remove_app(app_package)
remove_credential
- 功能描述:删除指定的认证凭据,用于管理存储的用户名和密码。
- 使用场景:在需要移除特定用户的登录信息时。
- 代码示例:
driver.remove_credential(credential_id)
remove_virtual_authenticator
- 功能描述:移除虚拟身份验证器,这在测试身份验证流程时非常有用。
- 使用场景:在不再需要虚拟身份验证器进行测试时。
- 代码示例:
driver.remove_virtual_authenticator(authenticator_id)
reset
- 功能描述:重置设备或应用到默认状态,这通常用于测试前后的环境准备。
- 使用场景:在需要确保应用或设备处于已知初始状态时。
- 代码示例:
driver.reset()
save_screenshot
- 功能描述:保存屏幕截图,这可以用于记录测试过程或作为测试结果的证据。
- 使用场景:在需要捕获当前屏幕内容作为参考时。
- 代码示例:
driver.save_screenshot('screenshot.png')
scroll
- 功能描述:在页面上滚动到指定元素,确保该元素在视口中可见。
- 使用场景:在需要操作页面中滚动才能看到的部分时。
- 代码示例:
driver.scroll(element)
send_sms
- 功能描述:发送短信,这可以用于测试设备的短信功能。
- 使用场景:在需要模拟接收或发送短信的测试场景中。
- 代码示例:
driver.send_sms(recipient, message)
session
- 功能描述:获取当前会话的相关信息,如会话状态、窗口句柄等。
- 使用场景:在需要检查当前会话的详细信息以进行调试时。
- 代码示例:
session_info = driver.session
session_id
- 功能描述:获取当前会话的唯一标识符,这有助于识别和管理多个并发会话。
- 使用场景:在需要引用特定会话进行操作或监控时。
- 代码示例:
session_id = driver.session_id
set_clipboard
- 功能描述:设置剪贴板内容,这可以用于在自动化测试中复制和粘贴数据。
- 使用场景:在需要自动化剪贴板操作,如登录测试时。
- 代码示例:
driver.set_clipboard(clipboard_content)
set_clipboard_text
- 功能描述:在剪贴板中设置文本内容,这通常用于文本复制和粘贴操作。
- 使用场景:在需要自动化文本输入或验证剪贴板内容时。
- 代码示例:
driver.set_clipboard_text('text_to_copy')
set_gsm_signal
- 功能描述:设置GSM信号强度,这可以用于模拟不同网络信号条件下的测试。
- 使用场景:在进行网络连接和信号强度相关的测试时。
- 代码示例:
driver.set_gsm_signal(signal_strength)
set_gsm_voice
- 功能描述:设置GSM语音通话质量,这可以用于测试通话功能。
- 使用场景:在需要模拟不同通话质量进行测试时。
- 代码示例:
driver.set_gsm_voice(voice_quality)
set_location
- 功能描述:设置设备的位置信息,这可以用于测试基于位置的服务和功能。
- 使用场景:在需要模拟特定位置进行测试,如地图应用时。
- 代码示例:
driver.set_location(latitude, longitude)
set_network_connection
- 功能描述:设置网络连接类型,这可以用于模拟不同网络环境。
- 使用场景:在进行网络性能测试或测试应用在不同网络条件下的行为时。
- 代码示例:
driver.set_network_connection(network_connection_type)
set_network_speed
- 功能描述:设置网络速度,这可以用于测试应用在不同网络速度下的表现。
- 使用场景:在需要模拟慢速或快速网络进行性能测试时。
- 代码示例:
driver.set_network_speed(network_speed)
set_page_load_timeout
- 功能描述:设置页面加载超时时间,这可以用于配置WebDriver等待页面加载的最大时间。
- 使用场景:在需要调整页面加载等待时间以适应不同加载速度的页面时。
- 代码示例:
driver.set_page_load_timeout(timeout_in_seconds)
set_power_ac
- 功能描述:设置是否连接到交流电源,这可以用于模拟设备充电状态。
- 使用场景:在进行电池使用和充电相关的测试时。
- 代码示例:
driver.set_power_ac(True)
set_power_capacity
- 功能描述:设置设备的电池容量,这可以用于模拟不同电量下的设备行为。
- 使用场景:在进行电池电量相关测试或验证电量显示准确性时。
- 代码示例:
driver.set_power_capacity(battery_percentage)
set_script_timeout
- 功能描述:设置脚本执行的超时时间,这可以用于配置脚本运行的最大允许时间。
- 使用场景:在需要控制脚本执行时间以避免长时间运行时。
- 代码示例:
driver.set_script_timeout(timeout_in_seconds)
set_user_verified
- 功能描述:设置用户验证状态,这可以用于模拟用户登录状态。
- 使用场景:在需要模拟用户验证过程或测试受保护资源的访问时。
- 代码示例:
driver.set_user_verified(verified_status)
set_value
- 功能描述:设置元素的值,这通常用于表单输入或其他可输入元素。
- 使用场景:在需要自动化输入字段填写或修改输入值时。
- 代码示例:
element.send_keys('new_value')
set_window_position
- 功能描述:设置窗口的位置,这可以用于移动窗口到屏幕的特定坐标。
- 使用场景:在需要调整窗口位置以适应测试或用户界面设计时。
- 代码示例:
driver.set_window_position(x, y)
set_window_rect
- 功能描述:设置窗口的矩形区域,包括窗口的位置和大小。
- 使用场景:在需要调整窗口的大小和位置以适应测试或用户界面设计时。
- 代码示例:
driver.set_window_rect(x, y, width, height)
set_window_size
- 功能描述:设置窗口的大小,这可以用于调整窗口的宽度和高度。
- 使用场景:在需要调整窗口大小以适应测试或用户界面设计时。
- 代码示例:
driver.set_window_size(width, height)
shake
- 功能描述:模拟设备摇动操作,通常用于测试传感器,如加速度计。
- 使用场景:在需要测试设备的运动感应功能时。
- 代码示例:
driver.shake()
start_activity
-
功能描述:启动一个新的活动(Activity),这通常用于Android应用的UI自动化测试。
-
使用场景:在需要启动特定的应用界面或操作流时。
-
代码示例:
driver.start_activity(activity_name)
start_client
- 功能描述:启动客户端,这通常用于初始化与WebDriver服务器的连接。
- 使用场景:在自动化测试脚本开始时,确保客户端已启动并准备好接收命令。
- 代码示例:
driver.start_client()
start_recording_screen
- 功能描述:开始录制屏幕操作,这可以用于记录用户操作或测试过程。
- 使用场景:在需要创建操作演示或分析测试过程时。
- 代码示例:
driver.start_recording_screen()
start_session
- 功能描述:开始一个新的WebDriver会话,这是大多数自动化操作的起点。
- 使用场景:在自动化测试脚本开始时,创建新的会话以开始操作。
- 代码示例:
driver.start_session(desired_capabilities)
stop_client
- 功能描述:停止客户端,这通常用于结束与WebDriver服务器的连接。
- 使用场景:在自动化测试脚本结束后,确保资源被释放。
- 代码示例:
driver.stop_client()
stop_recording_screen
- 功能描述:停止录制屏幕操作,这通常在录制完成后使用。
- 使用场景:在结束操作录制或测试过程后。
- 代码示例:
driver.stop_recording_screen()
swipe
- 功能描述:模拟手指在屏幕上滑动操作,这可以用于模拟用户滑动页面或操作UI元素。
- 使用场景:在需要模拟滑动操作,如切换页面或滚动列表时。
- 代码示例:
driver.swipe(start_x, start_y, end_x, end_y)
switch_to
- 功能描述:切换到指定的上下文或窗口,这可以用于处理多窗口或多上下文的情况。
- 使用场景:在需要对特定窗口或上下文进行操作时。
- 代码示例:
driver.switch_to.context(context_name)
tap
- 功能描述:模拟手指点击屏幕操作,这可以用于模拟用户点击按钮或链接等操作。
- 使用场景:在需要模拟用户点击操作时。
- 代码示例:
driver.tap(x, y)
terminate_app
- 功能描述:结束指定的应用,这通常用于重置应用状态或清理测试环境。
- 使用场景:在需要关闭应用以进行新测试或清理资源时。
- 代码示例:
driver.terminate_app(app_id)
timeouts
- 功能描述:设置各种操作的超时时间,这可以用于配置元素查找、脚本执行等操作的等待时间。
- 使用场景:在需要调整默认等待时间以适应页面加载速度或网络延迟时。
- 代码示例:
driver.timeouts.implicitly_wait = timeout_value
title
- 功能描述:获取当前页面的标题,这通常用于验证页面内容或导航。
- 使用场景:在需要确认当前页面是否为预期页面时。
- 代码示例:
page_title = driver.title
toggle_location_services
- 功能描述:切换位置服务的开启和关闭,这可以用于测试基于位置的功能。
- 使用场景:在需要模拟位置服务开启或关闭状态下的测试时。
- 代码示例:
driver.toggle_location_services(True)
toggle_touch_id_enrollment
- 功能描述:切换Touch ID的注册状态,这可以用于测试指纹识别功能。
- 使用场景:在需要模拟Touch ID注册或注销状态时。
- 代码示例:
driver.toggle_touch_id_enrollment(True)
toggle_wifi
- 功能描述:切换Wi-Fi的开启和关闭,这可以用于测试应用在不同网络条件下的行为。
- 使用场景:在进行网络连接相关的测试时。
- 代码示例:
driver.toggle_wifi(True)
touch_id
- 功能描述:与Touch ID相关的操作,这可以用于模拟指纹识别过程。
- 使用场景:在需要测试指纹识别功能或进行身份验证测试时。
- 代码示例:
driver.touch_id(action)
unlock
- 功能描述:解锁设备屏幕,这通常用于在自动化测试中开始用户交互操作。
- 使用场景:在设备锁定状态下,需要进行操作前解锁屏幕。
- 代码示例:
driver.unlock()
unpin
- 功能描述:取消固定脚本,这可以用于移除之前固定并准备快速调用的脚本。
- 使用场景:在不再需要快速调用某个脚本或需要释放资源时。
- 代码示例:
driver.unpin('script_id')
update_settings
- 功能描述:更新设置信息,这可以用于修改WebDriver会话的配置。
- 使用场景:在需要在测试过程中动态调整设置时。
- 代码示例:
driver.update_settings(new_settings)
virtual_authenticator_id
- 功能描述:获取虚拟身份验证器的ID,这可以用于管理和引用虚拟身份验证器。
- 使用场景:在需要引用特定虚拟身份验证器进行测试时。
- 代码示例:
authenticator_id = driver.virtual_authenticator_id
wait_activity
- 功能描述:等待特定的活动(Activity)出现,这通常用于Android应用的UI自动化测试。
- 使用场景:在需要等待特定界面或操作流出现时。
- 代码示例:
driver.wait_activity(activity_name, timeout)
window_handles
- 功能描述:获取所有窗口的句柄,这可以用于操作多个窗口或上下文。
- 使用场景:在需要引用或切换到特定窗口进行操作时。
- 代码示例:
window_handles = driver.window_handles
Element方法大全
属性获取
- 获取元素的属性或状态信息:
accessible_name
: 获取元素的可访问性名称,通常用于辅助技术。aria_role
: 获取或设置元素的ARIA角色,以提供元素功能的信息。get_attribute
: 获取元素的指定HTML属性值。get_dom_attribute
: 获取元素的DOM属性值,这可能与get_attribute
获取的值不同。get_property
: 获取元素的指定JavaScript属性值。id
: 获取元素的ID。tag_name
: 获取元素的标签名。text
: 获取元素的文本内容。value_of_css_property
: 获取元素的CSS属性值。
状态检查
- 检查元素的显示状态或行为状态:
is_displayed
: 检查元素是否在页面上可见。is_enabled
: 检查元素是否处于可用(启用)状态。is_selected
: 检查元素(如选项或复选框)是否被选中。
交互操作
- 模拟用户与元素的交互:
click
: 模拟用户点击元素的操作。send_keys
: 向元素发送按键事件,模拟键盘输入。set_text
: 设置元素的文本内容,通常用于输入框。set_value
: 设置元素的值,通常用于表单控件。submit
: 提交表单或触发元素的提交事件。
元素定位
- 获取元素在页面上的位置或尺寸信息:
location
: 获取元素的位置信息,包括相对于文档左上角的坐标。location_in_view
: 获取元素在视口(当前浏览器窗口可见部分)内的位置信息。location_once_scrolled_into_view
: 获取元素在滚动到视口内后的位置信息。rect
: 获取元素的尺寸和位置信息,包括元素的边界矩形。size
: 获取元素的尺寸,包括宽度和高度。
元素搜索
- 在DOM树中查找元素:
find_element
: 在DOM树中查找第一个匹配指定条件的元素。find_elements
: 在DOM树中查找所有匹配指定条件的元素。parent
: 获取元素的直接父元素。
元素视觉
- 与元素的视觉表现相关的方法:
screenshot
: 对指定元素进行屏幕截图。screenshot_as_base64
: 对元素进行屏幕截图,并将截图以Base64编码的字符串形式返回。screenshot_as_png
: 对元素进行屏幕截图,并将截图以PNG格式返回。
特殊DOM操作
- 与Shadow DOM相关的操作:
shadow_root
: 获取与元素关联的Shadow DOM的根节点,用于操作封装的DOM结构。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧