android常用api大全,Appium常用API

一.会话API

启动会话

desired_caps = {

'platformName': 'Android',

'platformVersion': '7.0',

'driverName': 'V889F',

'appPackage': 'com.alibaba.mts.mtsdemoapp',

'appWaitPackage': 'com.alibaba.mts.mtsdemoapp',

'app': 'D:/home/mdp/result/GroovyTest/case1/task.apk',

'newCommandTimeout': 30,

'automationName': 'Appium'

}

self.driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub/',desired_caps)

关闭会话

self.driver.quit()

二、状态信息API

1、current_activity:获取当前正在运行的activity名称

activity=driver.current_activity

print(avtivity)

2、page_source:得到当前页面的结构图

source=driver.page_source

print(source)

3、Capabities:得到桑倩的deviceName等配置信息,还可以通过此方法得到其余的配置,如platformVersion、APPpackage等等

caps=driver.capabilities

device=caps.get("deviceName")

4.其他信息获取类API,如时间

driver=device_time

5、get_window_size():获取手机屏幕宽、高

driver.get_window_size()

6、network_connection:返回网络的连接类型

#''返回一个指定网络连接类型的整数位掩码(android)'''

driver.network_connection

7、set_network_connection(connectionType):设置网络的连接(android)

'''    Possible values:

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               '''

driver.set_network_connection(2)

8、available_ime_engines:返回android设备可用的输入法

driver.available_ime_engines

9、is_ime_active():检查设备是否有输入法服务活动,返回真/假。

driver.is_ime_active()

三、安装卸载启动API

1.reset():重置应用的数据,有些场景我们需要清除应用的数据,相当于第一次安装时候的状态;比如:第一次启动app的引导页、登录等等

driver.reset()

2、Start_activity :开启某个activity实现跳转

driver.start_activity("com.taobao.taobao","com.taobao.taobao.avtivity.MainActivity")

3、Is_app _installed():检测某个app是否安装返回的是布尔值,在android在传参为包名,在ios中传参为BundleID

driver.is_app_installed("com.taobao.taobao")

4、install_app():安装app

driver.install_app("C:\Users\Administrator\Desktop\study\xxxxxxxx.apk")

5、close_app():关闭应用,一般我们测试结束后,比如tearDown方法中取调用执行

driver.close_app()

四、元素操作API

1.get_attribute:获取控件的给定属性或属性

driver.find_element_by_id("com.android.mms:id/action_compose_new").get_attribute("enabled")

注意点:1、checkable、checked、clickable、enabled、focusable、focused、scollable、long-clickable、password、selected,返回的是布尔值,True或False

2、.get_attribute("name")  返回的是‘content_desc’的值

3、.get_attribute("className")  返回的是‘class’的值

2、clear:如果是文本输入元素,就清除文本,对其他元素没有影响

element.clear()

3、swipe:通过传递坐标信息即可完成从A点滑动至B点,滑动时间为毫秒

driver.swipe(410,1012,410,328,500)

4、pinch:在元素上执行模拟双指捏(缩小操作),默认时间为200毫秒也可指定时间

driver.pinch(element,300)

5、zoom:同pinch相反,是在元素上执行放大操作,默认时间为200毫秒也可指定时间

driver.zoom(element)

6、tap:模拟手指点击

'''说明:模拟手指点击(最多五个手指),可设置按住时间长度(毫秒),用法:driver.tap([(x,y),(x1,y1)],500)''',和click比较对于只有一个手指的操作和click相同,如果超过一个手指就不同

driver.tap([(218,687),]) #一个手指点击

driver.tap([(100,20),(100,40),(100,60),(100,80),(100,100),500)#5个手指点击

7、tag_name:获取控件的class

driver.find_element_by_accessibility_id(u"菜单").tag_name

8、text:获取控件的text

driver.find_element_by_id(u"com.android.mms:id/action_compose_new").text

9、is_displayed:判断该控件是否对用户可见

driver.find_element_by_id("com.android.mms:id/action_compose_new").is_displayed() #返回True或False

10、size:获取控件的大小,一般在九宫格等里面会使用到。

ele_size=driver.find_element_by_id("com.android.mms:id/action_compose_new").size

print(ele_size)

11、location:获取控件的位置

driver.find_element_by_id("com.android.mms:id/action_compose_new").location

12、scroll:从元素origin_el滚动至元素destination_el

'''说明:scroll为横滚动,并且元素不能再同一页面上'''

driver.scroll(self.driver.find_element_by_name(u"分类文件"), self.driver.find_element_by_name(u"本地"))

13、drag_and_drop:将元素origin_el拖到目标元素destination_el

driver.drag_and_drop(self.driver.find_element_by_name(u"主题"), self.driver.find_element_by_name(u"QQ音乐"))

14、flick:按住A点后快速滑动至B点

driver.flick(502,955,486,407)

driver.press_keycode(3)

16、long_press_keycode:发送一个长按的按键码(长按某键)

driver.long_press_keycode(3)

17、current_context:返回当前会话的当前上下文

driver.current_context

18、context:返回当前会话的当前上下文

driver.context

五、其他常见API

1.get_screenshot_as_file():如果测试用例执行失败我们可能需要保存截图到测试报告中,通过此方法可以获取到运行失败的错误截图。一般可以封装在basepage中调用。

driver.get_screenshot_as_file("D:\\autotest\testresult\{0}_{1}.img".format(case_module,time.str_time(time_format)))

2.background_app:将应用切换到后台,然后可以让其在指定时间内回到前台,或者让它一直在后台。

driver.background_app(5)#置于后台,持续5秒

driver.background_app(-1)#持续置于后台运行

更多的appiumAPI见appium文档

标签:Appium,app,driver,常用,element,API,android,com,id

来源: https://www.cnblogs.com/123blog/p/12609528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值