Appium基础

Appium自动化测试基础

介绍

中文文档网址:http://appium.io/docs/cn/about-appium/intro/

1、启动项配置

参数参考:https://blog.csdn.net/ljl6158999/article/details/80594521

基础操作api

获取应用包名应用名

adb shell "dumpsys window | grep mFocusedApp"

1、应用内跳转页面

driver.start_activity("包名","应用名")

2、获取应用包名 | 应用名

print(driver.current_package)
print(driver.current_activity)

3、关闭 close_app() | 退出 quit()

driver.close_app()
driver.quit()

4、判断app是否安装

if driver.is_app_installed("com.aw.project.aldi"):
    driver.remove_app("com.aw.project.aldi")
else:
    driver.install_app(r"D:\DiskTop\ALDI_ACO_V8.7.0.6.apk")

5、进入后台返回前台

driver.backgroud_app("放置后台时间,单位秒")

元素定位api

1、元素定位

driver.find_element_by_id()
driver.find_element_by_class_name()
driver.find_element_by_xpath()
driver.find_elements_by_id()
driver.find_elements_by_class_name()
driver.find_elements_by_xpath()

2、显示等待 | 隐式等待

隐式等待

driver.implicitly_with(时间,单位秒)

显示等待

WebDriverWait(driver, 超时时间, 间隔执行).until(lambda x:x.element)

元素操作api

1、点击 | 输入 | 清空

  • send_keys()默认不输入中文,使用时需配置参数

    desired_caps['unicodeKeyboard'] = True
    desired_caps['resetKeyboard'] = True
    
element.click()
element.send_keys(value)
element.clear()

2、获取文本 | 获取位置 | 获取大小

element.text
element.location
element.size

3、获取元素属性值

  • value=“text” 返回 text 值
  • value=“name” 返回 content-desc/text 值
  • value=“className” 返回 class 值,api=>18支持
  • value=“resourceid” 返回 resource-id 值,api=>18支持
element.get_attribute("enable")
element.get_attribute("text")
element.get_attribute("name")
element.get_attribute("className")
element.get_attribute("resourcedId")

4、滑动 swipe() | scroll() | drage_and_drop()

driver.swipe(x,y,x1,y1,持续时间:d.单位毫秒)
driver.scroll(element1,element2)
driver.drag_and_drop(element1,element2)

高级手势TouchAction

1、轻敲 tap()

TouchAction(driver).tap(element).perform()
TouchAction(driver).tap(x=x, y=y, count=1).perform()

2、按下 press()| 抬起 release()

TouchAction(driver).press(element | x,y).perform()
TouchAction(driver).release().perform()

按下后抬起

TouchAction(driver).press(element | x,y).release().perform()

3、等待 wait() | 长按 long_press()

TouchAction(driver).press(element | x,y).wait(2).perform()
TouchAction(dricer).long_press(element,duration=2000).perform()

4、移动 move_to()

TouchAction(driver).press(100,100).move_to(100,200).perform()

手机操作API

1.获取设备分辨率 get_window_size()

driver.get_window_size()		#{'height': 2560, 'width': 1440}
driver.get_window_size()['width']	# 1440

2、手机截图 get_screenshot_as_file()

driver.get_screenshot_as_file('fileName.png')

3、获取网络属性 network_connection()

Value (Alias)      | Data | Wifi | Airplane Mode
-------------------------------------------------
0 (None)           | 0    | 0    | 0
1 (Airplane Mode)  | 0    | 0    | 1
2 (Wifi only)      | 0    | 1    | 0
4 (Data only)      | 1    | 0    | 0
6 (All network on) | 1    | 1    | 0

from appium.webdriver.connectiontype import ConnectionType

class ConnectionType(object):
    NO_CONNECTION = 0
    AIRPLANE_MODE = 1
    WIFI_ONLY = 2
    DATA_ONLY = 4
    ALL_NETWORK_ON = 6
driver.network_connection()
driver.set_network_connection(int:i)

4、发送键到设备 press_keycode()

https://blog.csdn.net/feizhixuan46789/article/details/16801429

codenameNum
KEYCODE_CALL拨号键5
KEYCODE_ENDCALL挂机键6
KEYCODE_HOME按键Home3
KEYCODE_MENU菜单键82
KEYCODE_BACK返回键4
KEYCODE_SEARCH搜索键84
KEYCODE_CAMERA拍照键27
KEYCODE_FOCUS拍照对焦键80
KEYCODE_POWER电源键26
KEYCODE_NOTIFICATION通知键83
KEYCODE_MUTE话筒静音键91
KEYCODE_VOLUME_MUTE扬声器静音键164
KEYCODE_VOLUME_UP音量增加键24
KEYCODE_VOLUME_DOWN音量减小键25
driver.press_keycode(keycode)

5、操作通知栏

  • 打开通知栏

    driver.open_notifications()
    
  • 关闭通知栏

    官方未提供关闭api,可使用返回键或滑动关闭
    driver.press_keycode(4)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值