解放双手,提高生产力,这款神器你值得拥有

来源:Python 技术「ID: pythonall」

从石器时代开始,原始人来已经开始学会制造并使用工具,以满足自己的生活所需,这也是人类和动物最本质的区别,人类懂得制造并使用工具而动物不会。

21 世纪的现代社会更是如此,企业与企业之间是人才的竞争,而人的竞争力则严重依赖其会使用工具的多少以及熟练程度,毕竟古人有云:「君子生非异也,善假于物也」。

软件测试作为软件发布前的最后一个环节,起着至关重要的作用。虽然在很多公司里相对于开发来讲,公司对测试岗都不太重视,但这绝对不能掩盖其地位的重要性,稍有疏漏,就可能给公司带来巨大的损失。

纵观国内各公司大部分的测试工作依然都是手动完成的,这不仅是对人力资源的巨大浪费,同时还伴随着巨大的潜在风险。因为人有时候会犯错,而机器则不会。所以我们要尽可能的把可以自动化的操作交给机器去完成,从而解放我们的双手,去做一些更有意义的事情。

什么是 Appium

Appium 是一个开源的移动端自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且其是跨平台的,可用于 iOS 和 Android 操作系统。这也就意味着你可以针对不同的平台使用同一套 Api 来编写测试程序,以提高代码的服用行和可维护性。

设计思想

为了更好的应对千变万化的需求,Appium 没有和某一门具体的语言绑死,开发者可以使用自己最熟悉的任何语言来使用该框架。Appium 之所以这么灵活完全得益于其优秀的设计思路,该框架使用 client-server 的设计模式,只要 server 端可以收到 client 端发送过来的请求,那么 client 端用什么语言来实现其实意义已经不大了,无关紧要。

这样的设计思想带来了巨大的好处,其一就是使框架可以做到支持多语言,其二则是可以把 server 端放在任何机器上,即使是云服务器上也完全没有问题。

入门

想必在程序圈儿的你肯定对 Hello World 不陌生,每当我们学习一个新的技术的时候基本都会写一个 Hello World 的 demo 来快速熟悉该技术,同样,今天我就带着大家做一个入门 Appium。

首先我们把环境搭建起来,依次安装下列软件。

  • Android Studio
  • JDK
  • Python 3.8
  • PyCharm
  • 网易模拟器
  • Appium 桌面版

之所以需要安装 Android Studio 完全是因为链接安卓模拟器调试 App 程序时会用到 Android SDK,而 Android Studio 附带了 Andoid SDK,固直接安装 Android Studio。另外我们选择 Appium 桌面版,是因为桌面版附带可视化操作界面,对新手比较友好。

其中前四个大家可能都比较熟悉,自行安装即可。Appium 则需从 https://github.com/appium/appium-desktop/releases/tag/v1.18.3 下载对应的版本直接安装就可以了。

安装完成后启动 Appium,Host 和 Port 默认即可,接着点击下面的配置按钮进入配置页,设置完成 Android Home 和 Java Home 后直接启动 Server 就可以了。

当看到如下界面时,恭喜你,Server 已经启动成功了。

启动成功

接下来,我们开始完善 client 端,其实就是代码而已,直接调用 Api 即可。因为我们是要通过 Appium 来操控模拟器上的 App,所以需要先将模拟器启动。命令行输入 adb devices 如果看到以下信息,则说明模拟器是正常的。

接着就是编写 client 端代码了,

from appium import webdriver

desired_capabilities = {
    "platformName": "Android", # 操作系统
    "deviceName": "emulator-5554", # 设备 ID
    "platformVersion": "6.0.1", # 设备版本号
    "appPackage": "com.tencent.mm", # app 包名
    "appActivity": "com.tencent.mm.ui.LauncherUI", # app 启动时主 Activity
    'noReset': True # 是否保留 session 信息 可以避免重新登录
}

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_capabilities)
print('链接到安卓模拟器')

有了以上信息之后,我们就可以通过程序直接链接到模拟器,然后自动启动微信 App 了。

那么启动了微信 App 之后我们还可以做什么操作呢?基本上我们手动可以做的操作,程序都可以替我们完成。

(0)

相关推荐

  • Appium+python自动化22-Android夜神模拟器

    前言 Android SDK虽然也自带了模拟器,但是那速度会让你怀疑人生,并且不稳定经常卡死异常.夜神模拟器可以说是android模拟器里面的一个神器. 一.环境安装 1.官网下载地址:[https: ...

  • Appium原理与安装 | 白月黑羽教Python

    本教程讲解如何使用Appium进行手机应用的自动化. 学习本课程前,强烈推荐先学习 Selenium Web 自动化课程 Appium 用途和特点 点击这里,边看视频讲解,边学习以下内容 Appium ...

  • 1、运行appium第一个脚本

    测试环境 · Win 10 64bit · Python 3.5 · Appium 1.7.2 · Andriod 5.1.1 模拟器& Android 5.1 MX4 · 测试App:考研帮 ...

  • appium+python自动化45-nox连不上问题解决

    前言 最新下了个最新版的夜神模拟器,然后adb devices发现连不上模拟器了,报adb server version (36) doesn't match this client (39); ki ...

  • appium+python自动化60-appium命令行参数

    Appium服务器参数 许多Appium 1.5服务器参数已被弃用,以支持-default-capabilities标志. 用法: node . [flags] help 1.cmd端口输入,appi ...

  • Appium+python自动化21-DesiredCapabilities详解

    前言 Appium Desired Capabilities里面配置的参数还是蛮多的,android和ios的又有很多不一样地方,另外还能起到浏览器,做wap的自动化测试. Desired Capab ...

  • 【Android】使用Android Studio调试apk文件

    一.反编译apk文件 这里,我直接使用Android Killer来对apk文件进行反编译: 二.导入源码 打开AS,导入Androidkiller反编译完毕后生成的源码: 导入完成: 此时,代码文件 ...

  • 《appium自动化入门-python》PDF版-YOYO出品

    关于appium自动化的资料断断续续也写了差不多一年的时间,前段时间一直在写selenium和python接口相关的,好在前面2本已经完结,现在有时间更新appium的文档了,让appium的爱好者久 ...

  • (3条消息) ADB 工作原理 & 常用命令

    目录 adb(Android Debug Bridge):安卓调试桥 定义: 工作原理: 常用命令 1.adb help: 2.adb devices: 2.1.adb devices -l: 3.a ...

  • 【自动化测试】自动化测试框架与工具

    文章目录 1)什么是自动化测试框架? 1.1 什么是框架? 1.2 什么是自动化测试框架? 1.2.1 优点: 1.2.2 框架的基本组件 1.需要配置文件管理: 2.业务逻辑代码和测试脚本分离 3. ...