自动化测试是测试人员必备的一项技能,所谓的自动化就是通过代码完成了手工的操作,今天就总结下如何通过python启动app

环境条件

1.安装python:下载地址

2.安装JDK:下载地址

3.安装Android-SDK:详情见appium---Android-SDK安装

4.安装appium:详情见appium---命令行启动appium,也可以安装客户端的方法不统一,客户端下载链接;注:Android版本为7.0以上请安装appium版本1.7以上版本

5.安装Node.js:下载地址

6.安装Appium-Python-Client

# 使用pip安装appium
pip install Appium-Python-Client

启动条件

通过代码启动app需要知道app的包名和launcherActivity

方法一:
# 通过aapt查看包名,Activity
aapt dump badging apk路径 aapt 是Android Asset Packaging Tool的缩写,是编译和打包资源的工具,在SDK的build-tools目录下。目前只用到ppat查看apk的包名和Activity

方法二:
# 通过adb命令查看
# 点击运行的app查看日志
adb lagcat |find "START"

代码实现

1.platformName:测试版本(IOS/Android)

2.deviceName:手机设备名称,通过adb devices查看

3.platformVersion:Android版本号

4.appPackage:apk包名

5.appActivity:apk的launcherActivity

127.0.0.1:4723/wb/hub:本地地址+appium端口号;appium端口号可以改变

6.启动appium

打开cmd,输入appium启动命令行

7.启动app

运行代码后,就会发现手机上的软件进行了启动

appium---启动app的更多相关文章

  1. appium启动app(ios)

    Appium启动APP至少需要7个参数 ​ 'platformVersion','deviceName'.'udid'.'bundleId'.'platformName'.'automationNam ...

  2. appium启动app(android)

    android ​ Appium 启动APP至少需要5个参数 ​ 'platformVersion','deviceName'.'appPackage'.'appActivity'.'platform ...

  3. appium启动APP配置参数:

    一.Android启动app   python启动脚本如下:   from appium import webdriver   desired_caps = {} desired_caps['plat ...

  4. Appium启动app

    首先要获取包名,然后获取launcherActivity.获取这两个关键东西的方法很多,这里就不一一多说,小伙伴们可以各显神通.小编这里主要给大家推荐一个sdk自带的实用工具aapt. aapt即An ...

  5. appium启动APP时避免重新安装的问题

    from appium import webdriverfrom time import sleepimport os #获取apk的绝对路径desired_cups = {}#设备平台desired ...

  6. Python+Appium自动化测试(2)-appium连接真机启动app

    app自动化测试的第一步,是启动被测app.appium环境搭建好后,我们就可以连接真机启动app了.环境为windows,Appium1.18.0,Android手机,被测app为今日头条app,让 ...

  7. appium启动ios系统上面的app需求的参数

    Appium启动APP至少需要7个参数  'platformVersion','deviceName'.'udid'.'bundleId'.'platformName'.'automationName ...

  8. Appium启动报Permission Denial的问题

    前言 在Android真机上跑自动化脚本时,发现在启动App时报java.lang.SecurityException: Permission Denial: starting Intent : 原先 ...

  9. Appium学习路—脚本篇(启动app)

    启动之前的准备   1.脚本执行前,需要先启动appium的server端, 启动server方法: 打开appium客户端,点击右上角的Launch     2.iOS的测试只能在mac本上做   ...

  10. Appium+Python app自动化测试之脚本启动和停止Appium服务

    研究了一段时间的Appium android app的自动化测试,工作中需要连接多台手机终端同时执行测试用例,我实现的方式是获取用例中需要执行用例的设备id个数以及实际连接到的设备数(通过adb de ...

随机推荐

  1. JavaScript 的基本语法

    说明:此类博客来自以下链接,对原内容做了标注重点知识,此处仅供自己学习参考! 来源:https://wangdoc.com/javascript/basic/introduction.html 1. ...

  2. 使用Maven构建Spring Security应用

    1.概述 本文将解释如何使用Maven构建Spring Security应用程序.将讨论使用Spring Security依赖项的特定用例.最新的Spring Security版本可以在Maven C ...

  3. react中创建组件以及使用

    组件基本使用import React, { Component } from 'react'; // 在组件头部引用 class Home extends Component { // 创建类 ren ...

  4. FZU 2218【状压】

    题意: 给出长为n的字符串,含有前k种小写字母,求两个不含重复元素的连续子串,使得他们的长度乘积最大. 思路: 字符种类16 ->(套路) 状压 暴力2000*2000得所有连续子串的长度,得每 ...

  5. MySQL学习中,遇到的问题记录

    一.安装mysql时,报错:1045 原因:因为之前安装过mysql,之后再安装会出现这个问题. 解决: 删除之前的残留就好了 方法:清除mysql之前的历史残留

  6. Unity5.5 Lighting Scene

    参考:https://docs.unity3d.com/Manual/GlobalIllumination.html Environment Lighting(环境光) Skybox: 天空盒材质,这 ...

  7. Git 深度学习填坑之旅二(文件三种状态、打标签)

    0x01 三种状态 Git 有三种状态,你的文件可能处于其中之一: 已提交(committed).已修改(modified)和已暂存(staged). 已提交表示数据已经安全的保存在本地数据库中. 已 ...

  8. 配置vmware的固定ip

    一 .概述 为什么要配置固定IP呀?这个很容易解释啊,因为配置集群要设置固定IP(主结点需要管理子结点,通过固定IP识别机器),因为你访问虚拟机方便(不固定IP访问前还需要先查下虚拟机当前分配IP,比 ...

  9. 小知识点:linux下的mv命令怎么用?

    linux下的mv命令怎么用? mv a.txt b.txt  将a.txt 改名为b.txtmv a.txt /mnt/b.txt    同时更改路径为/mnt/mv a.txt /opt/ftp/ ...

  10. HTTP2 Sampler for JMeter

    今天开发大大说能不能帮忙压一下HTTP2的链接,便去查了一下相关的东西. HTTP 2.0 的出现,相比于 HTTP 1.x ,大幅度的提升了 web 性能.在与 HTTP/1.1 完全语义兼容的基础 ...