appium+Python真机运行

appium+Python真机运行


一,打开手机的USB调试模式


二,连接手机到电脑

将手机用数据线连接到电脑,并授权USB调试模式。查看连接的效果,在cmd下运行命令:adb devices查看UDID,如下图所示:

如果有输出,就表示连接成功。


三,启动Appium服务

打开appium-desktop







四,测试脚本的编写及运行

真机运行的测试脚本与模拟器上几乎是相同的,就是有些儿配置不太一样。具体脚本demo如下demo.py:

import time       #导入timefrom appium import webdriver   #导入appiumdesired_caps = {}desired_caps['platformName'] = 'Android'  #测试的手机是Androiddesired_caps['deviceName'] = '127.0.0.1:7555'    #设备名称desired_caps['platforVersion'] = '6.0.1'   #设备系统版本desired_caps['app'] = r'C:\Users\Administrator\Desktop\comqinheispeak_3.4.3.12202a.apk'    #app路径desired_caps['appPackage'] = 'com.qinhe.ispeak'  #app包名desired_caps['appActivity'] = 'com.qinhe.ispeak.AppStartActivity'   

desired_caps["unicodeKeyboard"] = "True"desired_caps["resetKeyboard"] = "True"desired_caps['noReset'] = 'True'driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)   #启动apptime.sleep(5)   #启动app时,需要一定时间进入引导页,所以必须设置等待时间,不然下面会一直报错定位不到元素

 

注:在测试用例运行过程中,正常情况下手机会自动安装Settings和Unlock,有些手机有兼容性问题,Settings和Unlock程序打不开,所以每次运行脚本都会提示安装,按提示允许安装就可以。


Appium的Desired Capabilities是扩展了webdriver的Desired Capabilities的,下面的一些通用配置是需要指定的: 

[if !supportLists]· [endif]automationName:使用哪种自动化引擎。appium(默认)还是Selendroid?

[if !supportLists]· [endif]platformName:使用哪种移动平台。iOS, Android, orFirefoxOS?

[if !supportLists]· [endif]deviceName:启动哪种设备,是真机还是模拟器?iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, etc...

[if !supportLists]· [endif]app:应用的绝对路径,注意一定是绝对路径。如果指定了appPackage和appActivity的话,这个属性是可以不设置的。另外这个属性和browserName属性是冲突的。

[if !supportLists]· [endif]browserName:移动浏览器的名称。比如Safari' for iOS and 'Chrome', 'Chromium', or 'Browser' for Android;与app属性互斥。

[if !supportLists]· [endif]udid:物理机的id。比如1ae203187fc012g。


下面这些属性是android平台特定的: 

[if !supportLists]· [endif]appActivity:待测试的app的Activity名字。比如MainActivity, .Settings。注意,原生app的话要在activity前加个"."。

[if !supportLists]· [endif]appPackage:待测试的app的java package。比如com.example.android.myApp, com.android.settings。

 

获取Android app的appActivity

网上有写很多方法https://testerhome.com/topics/1030,评论区还有补充

我用的是把apk后缀改为zip格式,打开压缩包后再打开AndroidManifest.xml文件。找到manifest和activity地方,就是包名跟activity名。 


运行python

 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Appium介绍 Appium是一个开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,...
    Hello桃sir阅读 27,535评论 0 30
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,021评论 1 45
  • 目录 安卓主流的自动化测试框架及对比.................................... 2 ...
    323e134d370d阅读 6,865评论 0 7
  • 岁月重重,又是一秋。寄人相思雁不归,何为归客?昨日难逢今时缘,一步匆匆,三生为梦。明白也好,浑噩也罢!生生世世...
    竹鸿初阅读 1,820评论 0 2
  • 请深爱是吗?可是现在的我是绝对配不上你的。我在为生存而挣扎,而您在享受投资的乐趣。我知道您在快乐的生活着,并且每天...
    玉清爵阅读 2,784评论 0 0