一:APP自动化测试框架比较

跨应用:比如在测试抖音的同时还想测试微信

Hybrid:混合应用程序

二:Appium自动化测试框架

官网:http://appium.io/

优点:

1:跨架构、支持原生、混合以及web移动应用

2:跨平台,Android&IOS

3:跨语言,Java、Python、Ruby

下载安装:

这里我是通过翻qiang下载的

安装后打开就是这玩意

当然下载了这个还不行,还要去配置JDK,eclipse,模拟器,Android SDK(我直接用android studio)

这里可能会存在夜神内置的adb和SDK的adb冲突,可以把SDK的adb替换到夜神中(我没弄这个)

复制SDK里面的,改名字成这个,然后黏贴进去

Appium  Client下载:https://github.com/appium/java-client

三:Appium组件

Appium Server:实际上是一个web接口服务器,使用node.js实现

Appium GUI:Appium Desktop的前身,目前已经停止维护,封装的Appium Server是1.4.16(不推荐使用)

Appium Desktop:内嵌Appium Server,提供了GUI界面(就是我上面下载那个,它集成了node.js,所以不用安装node.js)

Appium  Client:客户端向Appium Server发起请求,可以使用不同语言实现,如Java

四:基本配置

简单了解一下

simple配置(简单)

advanced配置(高级)

presets(预置配置)

我这配置一个

这里对安卓测试

运行,因为appium是工作在本地下的,所以为127.0.0.1,默认监听端口默认就行

最后一行说明appium工作已经开启

五:开启探测会话

这是启动测试app要的一些信息,appium主要用来探测app的元素信息

我这用的是夜神模拟器

deviceName   127.0.0.1:62001  

所以这样填,用来找到测试的设备

确认测试的平台,比如安卓或者IOS

platformName   Android

确定测试的app,也就是包

怎么查询?可以通过这种方式,进入sdk里面,路径(我的是Android studio):E:\android-studio-bundle-145.3276617-windows\sdk\build-tools\24.0.2

选中上面的地址,输入cmd

输入这些内容后,比如我是要测试抖音,找到apk拉进去就行了,它会帮你填充apk的路径,回车

这个就是包名字(其实也可以通过之前adb那种方式去查)

appPackage    com.ss.android.ugc.aweme

启动应用程序,要加这个app的入口,在上面那里也可以找到,不过我看抖音的时候没看到

像微信可以看到

也可以用这种方式,模拟器启动这个app,命令行输入adb shell dumpsys window w | findstr \/ | findstr name=(方法很多,可以去百度看看)

appActivity     com.ss.android.ugc.aweme.splash.SplashActivity

看一下,没问题就保存,下次就不用再次输入

这里可以看到

然后报错了,大概的意思是说环境变量有问题

看了下日志:

因为我这是使用android studio的sdk,之前在配置adb的时候也弄了这个

E:\android-studio-bundle-145.3276617-windows\sdk\platform-tools

在这里要重新改造一下

在系统变量新增一个环境变量,就是要这个名字,让appium能识别(如果java识别不了,也可以改成JAVA_HOME这个名字)

在path加上这两个

%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

在这里我怕adb不行了,测试一下有没有问题,发现没问题

重启一下appium,发现识别成功

回到之前运行,发现又报错了

看日志出现这个

error: pkg: /data/local/tmp/appium_cache/7280876e456c1bb793964772b5bcb2ac96ecfcc4.apk

Trying to proxy a session command without session id

Could not find 'apksigner.jar'

安装这个后,我发现这个问题没了:Could not find 'apksigner.jar'

于是我看最新的日志

[2020-06-17 03:18:09][ADB] Install command stdout: pkg: /data/local/tmp/appium_cache/7280876e456c1bb793964772b5bcb2ac96ecfcc4.apk
[2020-06-17 03:18:09][ADB] Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES][2020-06-17 03:18:09][UiAutomator2] Did not get confirmation UiAutomator2 deleteSession worked; Error was: UnknownError: An unknown server-side error occurred while processing the command. Original error: Trying to proxy a session command without session id
[2020-06-17 03:18:09][ADB] Running 'E:\android-studio-bundle-145.3276617-windows\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell am force-stop com.tencent.mm'Encountered internal error running command: Error: pkg: /data/local/tmp/appium_cache/7280876e456c1bb793964772b5bcb2ac96ecfcc4.apk
[2020-06-17 03:18:10][MJSONWP] Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

想了一下,跑去试试是不是SDK的问题,于是我更新了这两个

后面发现同样的问题还是存在,于是我查了很久,忽然想到我这个appium软件是最新版本的,于是我想是不是有变动

于是我就这个方向翻墙去查(太难了,英文不过关的我),终于被我查到了问题

我夜神模拟器的安卓版本是5.1.1,一般是使用UIAutomator1的,比较新的一些安卓系统可能使用的是UIAutomator2,我想是不是1.7以后版本的appium默认是使用了UIAutomator2,于是我加了这个配置

automationName    UiAutomator1

然后运行,发现报错不一样了,现在是报这个错误

Encountered internal error running command: Error: Could not find package com.tencent.mm on the device

百度翻译了一下,应该是我微信的包没有安装到模拟器上,可以直接拉包进模拟器,就能安装了

但不知道为毛,我的微信安装不了,于是我用adb命令安装,也安装不了

于是算了,装了个抖音去试试,运行是没问题的了(能调起抖音app来运行)

看了一下日志也没问题

附加:在踩坑过程中也用了这些去查看,当然也不知道有没有前置作用

(1)安装appium-doctor

它是用来检测环境的,使用 npm --registry http://registry.npm.taobao.org install appium-doctor -g

看着好像没问题

(2)Python库安装

pip install appium-python-client

验证一下

也可以直接在pycharm工具里面输入from app(这时候有提示,说明安装成功)

APP自动化测试(一)-appium相关推荐

  1. APP自动化测试-12.Appium日志分析(原理)

    APP自动化测试-12.Appium日志分析 文章目录 APP自动化测试-12.Appium日志分析 前言 一.应用启动 二.元素定位与操作 总结 前言 以Android原生应用为例,记录使用appi ...

  2. APP自动化测试-10.Appium中Desired Capabilities常用参数

    APP自动化测试-10.Appium中Desired Capabilities常用参数 文章目录 APP自动化测试-10.Appium中Desired Capabilities常用参数 前言 一.通用 ...

  3. 2022软件测试技能 APP自动化测试 Python+Appium+Uiautomator2 实战教程

    系列文章目录 提示:阅读本章之前,请先阅读目录 文章目录 系列文章目录 前言 一.Appium 原理 二.环境搭建,一键搞定 1. 安装Java JDK 2. Android SDK 安装与配置 3. ...

  4. android app自动化测试框架Appium资料整理

    by Ruiming.Lv 1   自动化测试 1.1    自动化测试简介 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.从广义上来讲,一切通过工具(程序)的方式来代替或辅助手工测试的 ...

  5. App自动化测试-原理与安装-Appium+Python+网易mumu模拟器

    App自动化测试(学习笔记一)--Appium原理与安装 APP自动化初始 Appium原理 Appium安装 Java jdk 1.8版本 Android sdk appium desktop ap ...

  6. python app自动化测试框架_appium+python,app自动化测试框架

    基于appium的app自动化测试框架 基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于we ...

  7. appium的python教程_移动App Appium自动化测试教程Appium+Python 【2018年新】_IT教程网...

    资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 1-3 移 ...

  8. pythonapp自动化_移动App Appium自动化测试教程Appium+Python 【2018年新】

    资源介绍 资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 ...

  9. APP自动化测试系列之Appium介绍及运行原理

    VOL 161 23 2020-09 今天距2021年99天 这是ITester软件测试小栈第161次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 0 ...

  10. APP自动化测试系列之Appium环境安装

    VOL 158 16 2020-09 今天距2021年106天 这是ITester软件测试小栈第158次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

最新文章

  1. Linux Rootkit 系列五:感染系统关键内核模块实现持久化
  2. 题目1102:最小面积子矩阵
  3. uva-11111-栈
  4. 地球环绕 html5,玩转html5(五)---月球绕着地球转,地球绕着太阳转
  5. mybatis的二级缓存
  6. 使用phpstudy搭建渗透测试靶场环境
  7. NIOS II软核处理器
  8. 北大提出Gate Decorator,利用LSTM思想来做CNN剪枝
  9. Python案例:查询城市天气并绘制最高气温与最低气温折线图
  10. python数值运算代码_Python数值
  11. CentOS7命令自动补全
  12. 实习成长之路——设计模式四:如何做到“对扩展开放、修改关闭”?扩展和修改各指什么?
  13. 华为手机邮箱发件服务器端口设置,华为手机设置-华为手机POP3设置
  14. 8.2学长讲解(数论入门)
  15. 在线Cron表达式生成器,定时任务表达式生成器
  16. 象棋马走日正解判定表实现步数计算
  17. 免费简单的为域名申请SSL证书
  18. python爬虫之selenium的使用
  19. 2009年北京航空航天大学上机题
  20. 探究 PHP_CodeSniffer 的代码静态分析原理

热门文章

  1. 三天时间, 无线破解从入门到放弃
  2. Java的自学之旅10
  3. 58——FFA-Net: Feature Fusion Attention Network for Single Image Dehazing
  4. 沟通的技巧--爱因斯坦如何向老太太解释相对论
  5. 用python将txt文本中的数据导入excel
  6. 微信小程序:修改按钮BUTTON尺寸
  7. 十大盗版软件你用了几个?
  8. 2020年房价趋势_2020年最大的设计趋势
  9. 仿知音漫客漫画APP--MVP模式
  10. APISpace 行驶证OCR 方便好用