首页 > 其他分享 >02.环境安装与使用

02.环境安装与使用

时间:2023-12-17 12:33:55浏览次数:34  
标签:02 Appium iOS 环境 appium adb Android 安装 工具

目前 mobile 自动化解决方案

iOSAndroid
Calabash-iOS calabash-Android
Frank MonkeyTalk
UIAutomation Robotium
iOS-driver UIAutomator
KeepItFunctional Selendroid
Macaca Macaca
Appium Appium

 

自动化工具选择

工具名称被测系统脚本语言是否支持 H5是否支持跨应用工具稳定性是否为 sdk 自带
MonkeyRunner Android   Y N 稳定 Y
Monkey Android Java N N 稳定 Y
Uiautomator2 Android Java Y Y 稳定 Y
Uiautomation iOS 弃用        
Adb-For-Test Android Java/Python Y Y 稳定 Y
Appium Android,iOS Java/Python/JS/C# Y Y 一般 N

选择条件

 
  • 单平台测试/多平台测试?
  • 是否多设备同时测试?
  • 不局限测试环境,任何版本、任何环境都可以测试?
  • 最擅长开发语言
  • 当前市面是否有满足项目需求的测试工具?是否需二次开发?

应用划分

 
  • 原生应用

    • 用 android 或 iOS 编写的应用
  • 移动网页应用

    • 网页应用,类似于 iOS 中 safari 或者 QQ 浏览器
  • 混合应用

    • 包裹 webview 的应用

什么是 Appium

 
  • appium 简介

  • 移动端的自动化测试框架

  • 第三方自动化工具

  • app 自动化测试

  • 开源的、跨平台的

    • ios、Android、Window、Mac、

什么是 Appium

 
  • appium 简介

  • Client/Server Architecture:c/s 架构

  • 脚本多语言支持

    • Java、Python、ruby、PHP、JavaScript、C#
  • 生态丰富,社区强大

Appium 原理

 
@startuml
scale 3
left to right direction
package CTO {
  actor 脚本
}
package 总监{
  usecase "Appium Module"

}
package 项目经理 {
  usecase "app"

}
CTO ---> 总监
总监 ---> 项目经理
项目经理 ---> 总监
总监 ---> CTO
@enduml

Appium 通信原理

 

Appium Server

  • server 里面不只有 webDriver「安卓 driver、 iOSdriver」还有各种工作引擎

Appium 工作引擎

 
PlatformDriverPlatform VersionsAppium Version
iOS XCUITest「推荐」 iOS 9.3+ Appium 1.6+
  UIAutomation「弃用」 iOS 9.3- All
Android UiAutomator All Appium 1.14+
  UiAutomator2「推荐」 Android5.0+ Appium 1.6+
  Espresso   Appium 1.9+
Mac appium-mac-driver Mac OS X 10.7 Appium 1.6.4+
Windows windows Windows 10 Appium 1.6+

Appium 生态工具

 
  • 命令行工具
    • adb
    • ideviceinstaller
  • Appium Desktop
    • Appium Server GUI
    • Appium Inspector
  • Appium Client
  • AppCrawler

Android 命令行工具

 
  • 管理移动端设备上应用程序的安装与卸载,以及查看相关信息

  • adb

    • 安卓系统的命令行控制工具
    • 获取安卓端的各种数据和控制
    • sdk 自带工具
    adb devices #显示当前所连接设备的udid

iOS 命令行工具

 
  • ideviceinstaller

    • iOS 系统的命令行控制工具
    • 获取 iOS 端的各种数据和控制
    idevice_id -l #显示当前所连接设备的 udid

Appium Desktop

 
  • 内嵌了 Appium Server

  • Appium Server GUI

    • Appium 核心工具,命令行工具
  • Appium Inspector

    • 1.22 版本后,和 desktop 分开

Appium Client

 
  • 各种语言的客户端封装库、用于连接 Appium Server

AppCrawler

  • 自动化遍历工具,底层也是 Appium

Appium 安装-简化版

  • jdk
  • adb
  • appium desktop
  • https://ceshiren.com/t/topic/2270

jdk

  • 11
java -version

sdk

  • 第一种方式:简装版

    • 文件直接解压缩
      • 文件路径全英文不带空格
    • 配置环境变量
  • 第二种方式:android studio

    • https://ceshiren.com/t/topic/4001
  • 验证

    adb version

Appium Desktop

  • github 下载版本 1.19.1 不分开

  • release

  • 无需环境变量配置

验证

  • 使用安卓端验证相关环境是否安装成功

      1. 命令行验证 jdk、adb
      1. 打开 Appium Desktop,点击 start server 不报错
      1. 准备安卓设备(真机/模拟器)连接电脑
      1. adb 命令查看设备是否连接
      1. 编写启动配置,启动 app 不报错

模拟器竖屏

  • [l] mumu 设置竖屏 

参数查看

  • 查看设备 ID

    adb devices
  • 查看设备的 Android 系统版本

    adb shell getprop ro.build.version.release
  • 查看想要启动 app 的包名

    adb shell pm list packages
  • 查看想要启动 app 的启动页面

    adb shell monkey -p ${package.name} -vvv 1

启动参数

{
  "platformName": "Android",
  "appium:platformVersion": "6.0",
  "appium:deviceName": "emulator-5554",
  "appium:appPackage": "com.android.settings",
  "appium:appActivity": ".Settings"
}

标签:02,Appium,iOS,环境,appium,adb,Android,安装,工具
From: https://www.cnblogs.com/csfsz/p/17908931.html

相关文章

  • 2022年RHCE认证考题解析最新版—RH294环境【转】
    由于本人10.17已成功考过CSA,经过两周所学的ansible并结合题库整理出来的CE解析版我也是11月月底就要考了,不过这套解析也是可以满足今年的redhat8题库文中可能涉及一些命令的参数解释,如有不懂的伙伴可参考我的笔记Ansibleps:一切模板似的题库考试,都需要经过大脑的理解方可顺利上......
  • Qt 5.9.6+VS2019 community 环境配置
    介绍GCCminGW安装Qt5.9.6安装VS2019community略配置VS2019community在VS的管理拓展里面下载Qtvisualstudiotools如果下得很慢就手动下载vsaddin......
  • VMware workstation中安装的centos虚拟机ip自动获取可以上网,设置静态ip不能上网问题解
    一、需求   linux中我们会设置hosts文件,这会涉及ip和域名的设置,但是如果虚拟机自动获取ip地址的话,这就意味着之前设置的hosts文件需要重新修改,所以我们需要设置虚拟机为静态ip地址。二、故障现象   我linux虚拟机最开始是自动获取的ip地址,用的nat模式,是可以上网的,......
  • java接口自动化系列(02):测试数据文件设计
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/15867903.html说明本次分享的是测试数据存excel中,后续分享测试数据存yaml中测试用例数据示例解释:标题行每个单词首字母大写,因为代码里面反射会用到解释:字段数据Url:只写路径,不需要写ip、端口RequestType:目......
  • DOCKER20231217: 容器引擎Docker
       1.1Docker简介 1.1.1什么是Docker?一种轻量级的操作系统虚拟化技术,基于Go语言实现的开源容器项目,诞生于2013年,最初发起者是dotCloud公司(现DockerInc)Docker容器化虚拟技术vs传统虚拟机技术特性容器虚拟机启动秒级分钟级硬盘使用一般为MB一般为G......
  • 性能测试复习准备——linux环境下——常用命令简记
       firewalldfirewall-cmd常用命令网址:https://www.cnblogs.com/klvchen/p/10063875.html#开启防火墙systemctlstartfirewalld.service#防火墙开机启动systemctlenablefirewalld.service#关闭防火墙systemctlstopfirewalld.service#查看防火墙状态......
  • 2023-2024-1 20231310《计算机基础与程序设计》第12周学习总结
    作业信息作业属于的课程<班级链接>(2022-2023-1-计算机基础与程序设计)作业要求<作业要求>(2022-2023-1计算机基础与程序设计第一周作业)作业目标《C语言程序设计》第11章作业正文https://www.cnblogs.com/wang-hoNbang/p/17908886.html教材学习内容总结《C......
  • 2023-12-16 每天一练
    LeetCode每日一题2276.统计区间中的整数数目题目给你区间的空集,请你设计并实现满足要求的数据结构:新增:添加一个区间到这个区间集合中。统计:计算出现在至少一个区间中的整数个数。实现CountIntervals类:CountIntervals()使用区间的空集初始化对象voidadd(intl......
  • 2023-2024-1 20231410刘珈岐《计算机基础与程序设计》第12周学习总结
    2023-2024-120231410刘珈岐《计算机基础与程序设计》第12周学习总结作业信息这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13008)这个作业的......
  • 个人报告20211303
    个人报告(20211303李天赐):a)列出自己的贡献:小组整体工作的推进和程序设计思路的确立,完成了前期代码结构搭建和初步撰写。b)列出设计中遇到的问题及解决方法(1)思路问题:--问题描述:在我们最开始设计程序的时候,先打算拿TLS协议中的三次握手协议的过程来练手,通过显示handshake这个信息......