• Python3+Appium学习笔记03-启动app


    这个是appium相关的官方api地址:http://appium.io/docs/en/about-appium/api/

    如同selenium进行自动化测试时,需要先创建一个浏览器实例一样。在使用appium进行自动化测试时,需要先创建一个被测app的实例。下图是官网给的示例,emmm貌似开头重复了。

    所以创建一个app实例是通过Remote()方法来的,其中第一个参数是appium服务端的地址,第二个参数是具体的请求内容

    看文档好像是一个post请求,这个请求内容是一个json格式的请求实体

    官网的示例只给了一些必须的参数。很多其他的参数我也没在官网看到。如果有需要可以百度一下。感觉知道几个必须的暂时够用了

    platformName 被测试设备的系统

    platformVersion 被测试设备系统版本号

    deviceName 被测试设备的设备名

    上面三个字段应该是必传字段

    autoLaunch 是否自动安装并启动应用 

    app apk安装路径

    appPackage apk包名

    appActivity apk入口

    对于安卓机器来说,app这个参数就是重新装apk并启动。appPackage和appActivity就是从手机已有的应用启动。官方建议将这三个参数都传。app参数的优先级貌似高于另外两个。

    接下来看下怎么获取相关参数的数据

    deviceName可以通过cmd命令行输入adb devices命令来获得

    appPackage和appActivity获取的方式很多。网上有很多方式介绍。推荐较多的是通过aapt去从apk包里找出相应信息。但是返回的信息较多。

    我使用的方式是手机连接电脑,然后打开你想要测试的应用。cmd中输入命令adb shell "dumpsys activity | grep mFocusedActivity"   比如打开淘宝

    第一个com.taobao.taobao是包名。第二个com.taobao.tao.TBMainActivity就是入口

    接下来看下代码效果

    1.首先打开appium

    2.点击启动服务器

    3.如果是通过代码的话,到这一步就可以了。如果想通过appium desktop去启用的话可以点启动会话按钮,把相应参数添加进去就可以了

    4.代码需要请求的服务器地址

    5.具体代码

    from appium import webdriver
    
    desired_caps = {
        'platformName': 'Android',
        'platformVersion': '7.1.2',
        'deviceName': '1b6ca8f',
        'appPackage': 'com.taobao.taobao',
        'appActivity': 'com.taobao.tao.TBMainActivity'
    }
    webdriver.Remote('127.0.0.1:4723/wd/hub', desired_caps)

    我这边是启动成功了,第一次使用时,应该会在手机上请求安装一个Appium settings的app。另外就是启动app时会有一些授权提示,比如定位信息等。这些只能手动点下。貌似还没有办法代码通过。

    也可以试下app参数去安装

  • 相关阅读:
    204. Count Primes (Integer)
    203. Remove Linked List Elements (List)
    202. Happy Number (INT)
    201. Bitwise AND of Numbers Range (Bit)
    200. Number of Islands (Graph)
    199. Binary Tree Right Side View (Tree, Stack)
    198. House Robber(Array; DP)
    191. Number of 1 Bits (Int; Bit)
    190. Reverse Bits (Int; Bit)
    189. Rotate Array(Array)
  • 原文地址:https://www.cnblogs.com/myal/p/10856368.html
Copyright © 2020-2023  润新知