zoukankan      html  css  js  c++  java
  • 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参数去安装

  • 相关阅读:
    机器学习之逻辑回归
    机器学习之线性回归与模型保存
    机器学习之决策树
    机器学习之贝叶斯算法
    机器学习之KNN算法
    算法基础与开发流程
    特征选择与特征降维
    特征预处理
    RSA加密算法和签名算法
    Java中使用OpenSSL生成的RSA公私钥
  • 原文地址:https://www.cnblogs.com/myal/p/10856368.html
Copyright © 2011-2022 走看看