Appium常用API

Appium常用API,第1张

概述一.会话API启动会话desired_caps={'platformName':'Android','platformVersion':'7.0','driverName':'V889F','appPackage':'com.alibaba.mts.mtsdemoap

一.会话API@H_419_3@

启动会话@H_419_3@

 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)

 关闭会话@H_419_3@

self.driver.quit()

二、状态信息API@H_419_3@

 @H_419_3@

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

  @H_419_3@

activity=driver.current_activityprint(avtivity)

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

source=driver.page_sourceprint(source)

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

caps=driver.capabilitIEsdevice=caps.get("devicename")

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

driver=device_time

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

driver.get_window_size()

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

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

7、set_network_connection(connectionType):设置网络的连接(androID)@H_419_3@

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

   driver.set_network_connection(2)@H_419_3@

8、available_ime_engines:返回androID设备可用的输入法@H_419_3@

driver.available_ime_engines

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

driver.is_ime_active()

三、安装卸载启动API@H_419_3@

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

driver.reset()

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

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

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

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

4、install_app():安装app@H_419_3@

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

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

driver.close_app()

四、元素 *** 作API@H_419_3@

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

 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@H_419_3@

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

      3、.get_attribute("classname")  返回的是‘class’的值@H_419_3@

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

  element.clear() 

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

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

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

driver.pinch(element,300)

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

driver.zoom(element)

6、tap:模拟手指点击@H_419_3@

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

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

7、tag_name:获取控件的class@H_419_3@

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

8、text:获取控件的text@H_419_3@

driver.find_element_by_ID(u"com.androID.mms:ID/action_compose_new").text

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

driver.find_element_by_ID("com.androID.mms:ID/action_compose_new").is_displayed()    #返回True或False

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

ele_size=driver.find_element_by_ID("com.androID.mms:ID/action_compose_new").sizeprint(ele_size)

11、location:获取控件的位置@H_419_3@

driver.find_element_by_ID("com.androID.mms:ID/action_compose_new").location

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

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

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

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

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

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

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

15、press_keycode:发送按键码(androID仅有),具体按键码见:https://www.cnblogs.com/123blog/articles/12614628.html@H_419_3@

driver.press_keycode(3)  

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

driver.long_press_keycode(3) 

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

driver.current_context

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

driver.context

五、其他常见API@H_419_3@

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

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

  @H_419_3@

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

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

  更多的appiumAPI见appium文档@H_419_3@ 总结

以上是内存溢出为你收集整理的Appium常用API全部内容,希望文章能够帮你解决Appium常用API所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1065129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)