今天跟大家讲解一个Appium和Python App自动化的脚本。
【1】打开你的夜神模拟器(或者连接你的手机)

【2】打开桌面的Appium

【3】下载你要测的App的apk文件,放到桌面
【4】拖动你的apk安装包到夜神模拟器里,然后模拟器会提示你安装。安装。原来的apk文件先不要删
【5】进入cmd
【6】先输入adb devices,查看设备号(后面会用到)

【7】查看apk文件的属性,复制它的路径比如船长这里用的是Tencent 新闻客户端,先复制位置 1:

【8】回到cmd里,输入如下命令:

aapt dump badging 粘贴你复制的路径1 / 粘贴你复制的路径 2,回车:

这里就看到安装包的内容了,很多都是要用到的:
【9】进入你的pycharm,写代码:

# coding: utf-8from appium import webdriverfrom time import sleep

desired_caps = {'platformName': 'Android',                'deviceName': '127.0.0.1:62001',                'platformVersion': '23',                'appPackage': 'com.tencent.news',                'appActivity': 'com.tencent.news.activity.SplashActivity',                'unicodeKeyboard': True,                'resetKeyboard': True}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

参数介绍:

  • platformName

平台名:安卓或者iOS

  • deviceName

设备名:我们在adb devices看到的那个

  • platformVersion

平台版本:切换到Appium,看:

这里有答案。

  • appPackage

App包名
回到cmd,刚才输入的aapt dump badging ...路径...不是打印了一堆信息吗,现在去看:

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1085991341,还会有同行一起技术交流。
这个package:name=后面单引号的内容就是appPackage(App包名)

  • appActivity
    进入App后的Activity(App专用语)
    往下翻,直到找到launchable-activity:
  • unicodeKeyboard

如果Unicodekeyboard为true,那么在开始运行脚本的时候,会帮你安装appium自带的输入法,这个输入法是没有UI的

  • resetKeyboard

只有当你的用例是正常执行完毕,没被外界打断的情况下,而且resetkeyboard也为true的情况下,appium会帮你复原输入法
【10】最后两个参数是可选项
【11】执行python代码
【12】看夜神模拟器,会自动打开模拟器上你安装的腾讯新闻客户端

到此,你的第一个Appium代码就算完成了。以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

Appium + Python App自动化第一个脚本的更多相关文章

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

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

  2. Appium + Python App自动化(2)第一个脚本

    [1]打开你的夜神模拟器(或者连接你的手机) [2]打开桌面的Appium [3]下载你要测的App的apk文件,放到桌面 [4]拖动你的apk安装包到夜神模拟器里,然后模拟器会提示你安装.安装.原来 ...

  3. (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告

    前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...

  4. (appium+python)UI自动化_02_appium启动手机app

    前提:需先安装配置好appium+python自动化环境,已配置好环境的小伙伴可以参考以下步骤启动Android app,具体步骤如下: 一.USB连接手机 (1)手机USB连接电脑 (2)手机打开开 ...

  5. [小菜随笔]新手使用appium+python进行自动化测试过程中webdriver.Remote报错的错误分析方法(带实例)

    很多人刚开始使用python+appium去执行APP自动化的时候经常会遇到webdriver.Remote,报错位置指向都是driver = webdriver.Remote('http://127 ...

  6. (appium+python)UI自动化_07_app UI自动化实例【叮咚搜索加车为例】

    前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是 ...

  7. appium python ios 自动化

    mac下搭建appium python selenium来针对ios应用进行自动化测试,并不是官网上的例子,自己程序调试成功. 前言:因为appium的安装前要先确定nodejs的安装.python的 ...

  8. (appium+python)UI自动化_08_unittest编写测试用例

    前言 unittest是python自带的单元测试框架,类似于Junit(Java单元测试框架).支持自动化测试,可编写测试前置&后置条件,并且可批量运行测试用例并生成测试报告. 使用unit ...

  9. (appium+python)UI自动化_10_adb常用命令

    前言 adb(Android Debug Bridge)工具是android-sdk里的一个工具,是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互.在app自动化测试过程中,有时要用到adb命 ...

随机推荐

  1. Blob分析之 ball.hdev

    * ball.hdev: Inspection of Ball Bonding * 关闭窗体更新 dev_update_window ('off')*关闭窗体dev_close_window ()*打 ...

  2. 关于c/c++中的二维数组与指针

    设a是一个一维数组的数组名,则a表示其第一个元素的地址(即&a[0]),而&a表示整个数组的地址!尽管两者值相同(&a[0]==&a),因此&a是地址,*(&a ...

  3. Centos8最小化部署安装OpenStack Ussuri

    #!/bin/bash #Centos8最小化部署安装OpenStack Ussuri #共两台主机,分别是一台控制节点,一台计算节点 #.控制节点内存4096M.双网卡,分别为eth0:10.0.0 ...

  4. requests入门实践02_下载斗图拉最新表情包

    新版本移步:https://www.cnblogs.com/zy7y/p/13376228.html 下载斗图拉最新表情包 要爬取的目标所在网址:http://www.doutula.com/phot ...

  5. for…of使用

    3.for…of使用 3.1 for…of使用 for...of 一种用于遍历数据结构的方法.它可遍历的对象包括数组,对象,字符串,set和map结构等具有iterator 接口的数据结构. 我们先来 ...

  6. 网易云音乐ncm格式分析以及ncm与mp3格式转换

    目录 NCM格式分析 音频知识简介 两种可能 GitHub项目 格式分析 总体结构 密钥问题 代码分析 main函数 导入模块 dump函数 参考资料 代码完整版 转换工具 ncmdump ncmdu ...

  7. java 匿名对象与内部类

    一 匿名对象 1.匿名对象的概念 匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 例如: public class Person{ public void eat(){ ...

  8. MySQL“被动”性能优化汇总!

    年少不知优化苦,遇坑方知优化难. --村口王大爷 本文内容导图如下: 我之前有很多文章都在讲性能优化的问题,比如下面这些: <switch 的性能提升了 3 倍,我只用了这一招!> < ...

  9. Qt之先用了再说系列-定时器的用法

    Qt 定时器是一个比好用的东西,在此就地简单记录一下使用的方式: 1.首先包含头文件 #include <QTimer> 2.具体用法有几种,我就写其中2种吧 1>执行一次 这种方式 ...

  10. 关于setTimeout的用法注意事项

    setTimeout setTimeout的定义:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. setTimeout的用法:setTimeout(代码片段,执行代码等待的毫 ...