appium的客户端(WebDriver)提供的接口按做用大体能够分为控件的查找、手势才作和系统操做。html
WebDriver支持ID、Xpath、Class Name、Accessbility id和UIAutomator来查找控件。java
find_element_by_id(self,id_)
find_elements_by_id(self,id_)
(返回list)driver.find_element_by_id("com.thinkive.future.dev.standard:id/iv_quotation_futures_search")
find_element_by_xpath(self,xpath)
find_elements_by_xpath(self,xpath)
(返回list)driver.find_element_by_xpath(@resource_id, "com.thinkive.future.dev.standard:id/iv_quotation_futures_search"
find_element_by_class_name(self,name)
find_elements_by_class_name(self,name)
(返回list)android.view.Text
<div class='test-demo'>...</div.>
driver.find_element_by_class("android.view.Text")
find_element_by_name(self,name)
find_elements_by_name(self,name)
(返回list)driver.find_element_by_class("登陆")
find_element_by_accessibility_id(self,id)
find_elements_by_accessibility_id(self,id)
(返回list)driver.find_element_by_accessibility_id("请登陆")
find_element_by_android_uiautomator(self, uia_string)
self.device.find_element_by_android_uiautomator('text(\"列表\")')
driver.find_element_by_android_uiautomator('new UiSelector().text("18513199586")').clear()
API | 方法描述 |
---|---|
text(self) | element.text 获取控件的文本信息 |
click(self) | element.click 点击控件 |
clear(self) | element.click 清空文本控件的内容 |
get_attribute(self,name) | element.get_attribute(“enabled”) 获取控件的enabled属性。至关于is_enabled() |
is_enabled(self) | 判断控件是否可用,如可用返回true |
is_selected(self) | 判断控件是否被选中, 如选中返回true |
is_displayed(self) | 判断控件是否显示,如显示返回true |
send_keys(self,*value) | 模拟键盘输入到控件中 |
swipe(self,start_x, start_y, end_x, end_y, duration=None)
tap(self,positions,duration=None)
driver.tap([(100,20),(100,60),(100,100)],500)
flick(self,element=None, precent=200, step=50)
driver.flick(element)
zoom(self,element=None, precent=200, step=50)
driver.zoom(element)
zoom(self,element=None, precent=200, step=50)
driver.zoom(element)
scroll(self, origin_el, destination_el)
driver.zoom(element)
drag_and_drop(self, origin_el, destination_el)
driver.zoom(element)
API | 方法描述 |
---|---|
contexts(self) | 获取当前会话Session全部可用的上下文 |
context(self) | 获取当前会话Session正在使用的上下文 |
current_context(self) | |
keyevent(self, keycode, metastate=None) | 模拟发送一个硬件码到手机。具体键值可参考http://cs.szpt.edu.cn/android/reference/android/view/KeyEvent.html |
press_keycode(self, keycode,metastate=None) | 模拟发送一个硬件码到手机 |
long_press_keycode(self, keycode,metastate=None) | 模拟发送一个长案件吗到手机 |
current_activity(self) | 获取当前正在显示的Activity信息 |
start_activity(self, app_package, app_activity, **opts) | 启动某个Activity,若是该Activity不属于另外一个未启动的程序,那么该程序将被启动,而后改Activity被打开。参考adb shell am start |
close_app(self) | 若是Desired Capabilities指定的应用程序正在运行,则关闭该程序 |
launch_app(self) | 在测试设备上启动Desired Capabilities中指定的应用程序 |
reset(self) | 终止当前被测程序到初始状态 |
shake(self) | 模拟晃动手机事件 |
install_app(self, app_path) | 将app_path路径的应用安装到实际上,此处的app_path指PC端path,须要包含目录和文件名。 |
is_app_install(self, bundle_id) | 判断应用程序是否安装。在android手机上,bundle_id表示应用的完整包名。 |
background_app(self, seconds) | 将被测应用程序放到后台运行一段事件,seconds为持续的秒数 |
set_network_connection(self, connectionType) | 设置网络。 |
get_screenshot_as_file(self, filename) | 将手机屏幕截图并保存电脑上的文件,filename为文件的路径和名称。 |
pull_file(self, path) | 拉取手机上的一个文件,并以Base64格式编码返回文件数据,path为手机上的文件路径 |
push_file(self, path, base64data) | 将一个Base64格式编码的数据推送到手机的文件路径,path为手机上的文件路径,base64data为要推送的数据 |
get_window_size(self) | 获取手机的分辨率。通常配合swipe使用。driver.get_window_size()[‘width’];driver.get_window_size()[‘height’] |