美文网首页
appium+Python真机运行

appium+Python真机运行

作者: 猫猫猫性 | 来源:发表于2019-06-25 10:07 被阅读0次

    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+Python真机运行

          本文链接:https://www.haomeiwen.com/subject/pjnzqctx.html