首页 > 其他分享 >appium

appium

时间:2024-11-08 15:41:09浏览次数:5  
标签:appium java app server adb 模拟器

appUI自动化

1、appium介绍
	appium是一个自动化app的工具,继承了selenium
	http://appium.io
	appium概念
2、 appium自动化环境搭建
	1、java环境,JDK,设置java环境变量
		查看当前java版本 java -version
		查看当前Java安装路径:where java
		java-1.8的版本,java根目录设置系统环境变量,JAVA_HOME,
		要在系统弹窗内能查到:set JAVA_HOME
	2、安装Android SDK
		D:\fengkunlei\Android SDK Windows
		https://www.androiddevtools.cn/#
		下载解压后根目录下,打开SDK Manager.exe文件勾选配置 install
		设置环境变量,将解压后的文件路径,以下面的形式放置到系统环境变量的path里
		配置完成后,要在系统弹窗命令行内能查到版本:adb version
			%ANDROID_HOME%\tools
			%ANDROID_HOME%\platform-tools
			%ANDROID_HOME%\build-tools\21.0.2
	3、安装模拟器,或者真机
		安装完成后,连接模拟器:命令行运行:adb devices
			List of devices attached
			123456789ABCDEF device
		输出上面内容,表示连接成功
	4、adb常用命令
		1.打印当前连接的所有模拟器或者设备
			adb devices
		2.连接设备
			adb connect <host>[:<port>]
		3.终止adb服务进程
			adb ki11-server
		4.开启adb服务进程
			adb start-server
		5.安装app	xxx.apk:包名
			adb insta1l xxx.apk
		6.删除app		xxx.apk:包名
			adb uninsta1l xxx.apk
		7.打印设备上安装的app包名
			打印报名
			adb she1l pm list packages
			打印安装路径+包名
			adb shell pm list packages -f
		8.查看当前正在运行的包名
			adb shell dumpsys window | findstr 关键字
		9.进入设备控制台
			进入:adb she11
			退出:exit
		10.查询当前页面 activity位置  可以获取appActivity,查询app的初始化页面,也就是第一个页面   
			adb shell dumpsys activity activities
		11.查询入口activity还可以使用aapt 命令,命令语法如下:
			aapt dump badging app包文件(apk文件)
		
	5、Appium 服务器
		Appium 是用 Node.js 写的服务器。它可以从源码构建安装或者从 NPM 直接安装:
			$ npm instal1 -g appium
			$ appium
		Appium 客户端
		有多个客户端程序库I(lava、Ruby、Pvthon、PHP、lavaScript和C#的)支持Appium对 WebDriver 协议的扩展,
		你需要用这些客户端程序库代替通常的WebDriver 客户端。在这里浏览所有程序库的列表。
		AppiumDesctop
		有 Appium 服务器的图形界面包装器可以下载。
		它们打包了 Appium 服务器运行需要的所有东西,所以你不需要为 Node 而烦恼。
		它们还提供一个Inspector 使你可以查看你应用的层级结构,这在写测试时很方便。
		  https://github.com/appium/appium-desktop/releases
	6、appium自动化流程
		1.appium启动一个http服务,默认监听在4723端口用接受appium客户端发送的指令
		2.appium客户端发送请求与appium服务建立一个会话,需要携带必要的Desired Capabilities 参数
		3.appium 检查启动参数
		4. 	 	启动adb服务进程,默认端口5037
		5.检查连接设备和平台版本
		6.安装appum.setti
		7.ngs并启动
		8.端口转发建立UiAutomator2 Server的socket连接,adb所在平台8200端口(可以通过参数systemPort设置),设备平台6790
		9.安装检查 io,appium,uiautomator2.server和io,appium.uiautomator2.server.test和appiumuiautomator2-server-debug-androidTest
		10.Starting UlAutomator2 server,等待3秒
		11.向8200端口发送get请求,获取UlAutomator2 server的状态
		12.如果UlAutomator2 server在线,向8200端口发送post请求传递创建会话参数
	

desired capabilities
上面appium的介绍中,我们了解到,desired capabilities是一些发送给appium服务器的键值对集合,告诉服务器我们想要启动什么类型的会话。这里我们主要用到如下键值对
键值 描述
platformName 使用的手机操作系统 ios,Android,或者使用的手机操作系统
platformVersion 手机操作系统的版本 例如:5.1.1
deviceName 使用的手机或模拟器类型 使用 adb devices 命令可以返回一个有效的设备列表
appPackage 运行的 Android 应用的包名 例如:com.tencent.mm
appActivity Activity 的名字是指从你的包中所要启动的androidacticity。 他通常需要再前面添加 例如.ui.LauncheruI
noReset 重置app里的数据 默认为false

重置策略

自动化平台 默认 fullReset noReset
ios (包括xCuITest) 测试完成后关闭模拟器。不销毁模拟器。不从真机上卸载应用。 测试完成后卸载应用,模拟器测试结束后销毁模拟酯。 测试结束后不销毁或者关闭模拟器。启动测试运行在任意正在运行的模拟器或者插入的真机。
Android 测试结束后停止应用,清理应用数据,不卸载应用包。 测试结束后停止应用,清理应用数据,卸载应用包。 不停止应用,不清理应用数据,不卸载应用包。

标签:appium,java,app,server,adb,模拟器
From: https://www.cnblogs.com/fengkunlei/p/18535235

相关文章

  • appium+python自动化代码示例
    fromselenium.webdriver.common.byimportByimporttime#设置Appium连接参数caps={"platformName":"Android","platformVersion":"7.1.2",#根据夜神模拟器的Android版本进行修改"deviceName":"127.0.0.......
  • Appium+python框架搭建
    一、Appium-Python-Client①安装依赖库也就大家说的客户端,这里的客户端指的是我编辑代码的界面,因为代码界面我要引入webdriver所以叫客户端,其实本质是一个依赖库跟selenium差不多②安装的命令:pipinstallAppium-Python-Client(python环境所以安装python包)③Appium-Python-Clien......
  • 元素定位、规避监控、APP自动化测试(Appium)等
    元素定位我们通过webdriver打开一个网络页面,目的是为了操作当前页面已完成浏览器中的一些UI测试步骤,所以必然需要操作网页。而网页的内容组成是由HTML标签(element,也叫元素),所以基于selenium操作网页实际上本质就是操作元素。那么要操作元素就必须先获取元素对象。selenium中关于元......
  • appium学习记录
    免责声明        本文内容仅供参考,将appuim与爬虫技术相结合可能违反某些app的使用条款和法律法规。作者不对因此产生的法律问题或技术风险负责。建议读者在进行爬取操作前,充分了解相关法律法规并确保合规。1、初识appium背景:部分APP需要反编译,分析加密算法后,再获......
  • 使用Appium执行自动化测试遇到的问题记录
    ‌Appium‌是一个开源的移动端自动化测试框架,它支持原生的、混合的以及移动端的web项目测试,并且能够测试iOS和Android应用程序。在使用中有时会遇到问题,特此记录:问题一:设备:Android一加问题描述:adb连接成功,执行测试脚本时AppiumDesktopsession报如下错误:settingsdeleteg......
  • day23-测试自动化之Appium的滑动和拖拽事件、高级手势ActionChains、手机操作API
    目录一、滑动和拖拽事件    1.1.应用场景    1.2.swipe滑动事件    1.3.scroll滑动事件    1.4.drag_and_drop拖拽事件    1.5.滑动和拖拽事件的选择二、高级手势ActionChains    2.1.应用场景    2.2.使用......
  • Appium IOS启动成功日志
    1.清理了xcode环境,重新安装xcode,appium,xcuitest,删掉钥匙密钥的AppleW……证书,手动配置webdriver,然后appium启动,appiuminspector配置{"platformName":"iOS","appium:platformVersion":"17.5","appium:deviceName":"iPhonezt&q......
  • Appium各种定位及操作
    前提设置:fromappiumimportwebdriver#模拟器/真机已经被电脑识别到(adbdevices)#字典#1、设置终端参数项desired_caps={"platformName":"Android","platformVersion":"6.1.1","appPackage":"com.ss.android.ar......
  • Appium+python自动化(四十二)- 寿终正寝完结篇 - 结尾有惊喜,过时不候(超详解)
    1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台。今天这篇分享讲解完。Appium自动化测试框架就要告一段落了。2.执行测试用例&报告生成 测试报告,宏哥已经讲解了testng、HTMLTestRunner、allure等等,今天就在讲解一个新的测试报告BSTest......
  • appium自动化测试报错:Unable to launch com.facebook.WebDriverAgentRunner.maukkaki.
    嗨,我是兰若,今天在编写自动化测试用例的时候,appiuminspector报错:Unabletolaunchcom.facebook.WebDriverAgentRunner.maukkaki.xctrunner1、当时首先想到的就是检查WebDriverAgent的构建和安装是否正常,后来发现这块的安装是完全按照官方文档进行的,并且彼时我的手机上已经......