appium+Python真机运行

appium+Python真机运行


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


二,连接手机到电脑

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

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


appium+Python真机运行_第1张图片

三,启动Appium服务

打开appium-desktop



appium+Python真机运行_第2张图片





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

真机运行的测试脚本与模拟器上几乎是相同的,就是有些儿配置不太一样。具体脚本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名。 


appium+Python真机运行_第3张图片

运行python

 

appium+Python真机运行_第4张图片

你可能感兴趣的:(appium+Python真机运行)