Appium+python之APP自动化一

一、appium简介

1、什么是appium

  1. appium 是开源的移动端自动化测试框架;
  2. appium 可以测试原生的、混合的、以及移动端的 web 项目;
  3. appium 可以测试 ios,android 应用(当然了,还有 firefox os);
  4. appium 是跨平台的,可以用在 osx,windows 以及 linux 桌面系统上;

2、appium 的技术架构

  1. iOS:Apple’s UIAutomation
  2. Android 4.2+:Google’s UiAutomator
  3. Android 2.3+:Google’s Instrumentation. (Instrumentation support is provided by bundling a separate project, Selendroid)

3、appium 支持多平台、多语言

  • appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要重新编译或者修改自己的应用。

  • appium支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架.Appium实现了真正的跨平台自动化测试。

语言/框架 Github地址
Python https://github.com/appium/python-client
Java https://github.com/appium/java-client
Ruby https://github.com/appium/ruby_lib
JavaScript (Node.js) https://github.com/admc/wd
Objective C https://github.com/appium/selenium-objective-c
PHP https://github.com/appium/php-client
C# (.NET) https://github.com/appium/appium-dotnet-driver
RobotFramework https://github.com/jollychang/robotframework-appiumlibrary

4、appium 的工作原理

image

  • 首先,appium 支持多语言,因为它针对流的几种语言分别开发的相应的 appium 库。好处就是我们可以选择自己熟悉的语言编写 appium 脚本。
  • 其次,appium 支持多平台,包括 MAC 和 Windows。它针对这两大平台开发了 appium-Server。
  • 最后,appium 又同时支持 Android 和 iOS 两个操作系统。这就使得 appium 变得非常灵活。

(1)自动化脚本向AppiumServer发送注册参数(URL,platformName,platformVersion,deviceName,appPackage,appActivity)

(2)AppiumServer将bootstrap.jar包放入手机端中

(3)手机端用bootstrap启动手机端口(4724),并将端口返回给AppiumServer(相当于建立好了通信连接)

(4)自动化脚本发送请求(操作或命令或动作)给AppiumServer

(5)AppiumServer将请求解析并发送给bootstrap

(6)bootstrap将请求解析发给UIAutomator

(7)UIAutomator执行相应的操作并将结果返回给bootstrap

(8)bootstrap将响应结果返回给AppiumServer

(9)AppiumServer将响应结果返回到脚本

综上所述,AppiumServer像是一个请求者;bootstrap充当桥梁的角色,负责PC与电脑之间的通信;UIAutomator则是真正的执行者。

二、准备工具

appium是基于JDK+SDK环境来运行的
①jdk环境:jdk的安装与配置
②Android SDK:Android SDK的安装与配置
③python:python的安装与配置
④appium:下载地址
⑤夜神模拟器:下载地址
使用真机测试,忽略第⑤步

三、连接真机或者模拟器(二选一)

app自动化测试可借助模拟器或者真机测试,最好选择使用真机测试。
首先要使用adb命令连接设备(此处选择模拟器)

adb连接真机或模拟器参考:adb连接真机或模拟器

四、appium环境搭建(Android)

1、appium 的安装

①下载完成后,双击exe文件进行安装(此处下载的1.3.1版本)
image

②安装完成后,启动Appium,host和port默认的即可
image


③点击start server v1.7.2
image

如果此端口被占用:可以使用此命令检查端口是否被占用:netstat -ano | findstr 4723


④进入到appium界面中
image


⑤配置Appium检查器

Appium右上角有三个选项分别为:
image start inspector session 开始检查会话

image Get Raw Logs 获得原生日志

image Stop Server 停止服务

点击 start inspector session 选项,进入下图
image

⑥在Desired Capabilities选项中输入如下内容,如图:
image

image

1)deviceName:设备名称

获取方式:在cmd窗口输入adb devices (前提:已连接设备)
image
此处填写:127.0.0.1:62001

2)platformName:操作系统名称

可填写:Android和IOS
此处填写:Android

3)platformVersion:操作系统版本

夜神模拟器:【设置】->【关于平板电脑】->【Android版本】
image
此处填写:5.1.1

4)appPackage:待测app包名

此处用到的app(一笔记账):阿里云盘
https://www.aliyundrive.com/s/yREFAjBtNZi 提取码: 38et

aapt dump badging apk包路径 |findstr package
image
此处填写:com.mobivans.onestrokecharge

5)appActivity:app的程序主入口

aapt dump badging apk包路径 |findstr activity
image
此处填写:com.stub.stub01.Stub01

⑦点击右下角的 Start Session,会在设备中安装两个app(Appium Settings和Unlock)
启动成功后显示如下页面
image

注:点击 Start Session,出现如下错误,说明设备中未安装该app
image




Appium+python之APP自动化全集

2、Appium+python之APP自动化二(app启动)

3、Appium+python之APP自动化三(连接设备)

4、Appium+python之APP自动化四(安装app)

5、Appium+python之APP自动化五(卸载app)

posted @ 2023-01-05 11:19  ll=ll  阅读(1929)  评论(0编辑  收藏  举报