APPium自动化启动手机应用笔记

简介:

java启动方法

1、需要安装JAR


2、启动如下:

public class InitDriver {

public static AndroidDriver<AndroidElement> initDriver() throws Exception{

File app=new File("自己安装包.apk");

DesiredCapabilities caps=new DesiredCapabilities();

caps.setCapability(MobileCapabilityType.DEVICE_NAME, "Android");

caps.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());

caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium");

caps.setCapability(MobileCapabilityType.UDID, "127.0.0.1:62001");

caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 600);

//caps.setCapability(MobileCapabilityType.FULL_RESET, true);

caps.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "");

caps.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "签名");

caps.setCapability(AndroidMobileCapabilityType.UNICODE_KEYBOARD, true);

caps.setCapability(AndroidMobileCapabilityType.RESET_KEYBOARD, true);

caps.setCapability(AndroidMobileCapabilityType.NO_SIGN, true);

AndroidDriver<AndroidElement> driver=new AndroidDriver<AndroidElement>(

new URL("http://127.0.0.1:4723/wd/hub"), caps);

return driver;

}

}

三、获取报名与签名命令:

aapt d badging Desktop\xxxxx.apk |findstr "package launchable-activity"

如:

aapt d badging Desktop\Toon-beijing-test.apk |findstr "package launchable-activity"

package: name='包名' versionCode='1709111541' versionName='1.8.0' platformBuildVersionName='7.1.1'

launchable-activity: name='签名'  label='' icon=''


四appium启动方式:

appium -a 127.0.0.1 -p 4723  –U  4ca1558c  --no-reset

五:DesiredCapabilities的参数配置和含义


1、本地安装apk包的文件路径设置,不需要安装就不用设置   

   File classpathRoot = new File(System.getProperty("user.dir"));
   File appDir = new File(classpathRoot, "apps");
   File app = new File(appDir, "kingyee.apk");

2、在当前session前不重置app状态

capabilities.setCapability("noReset", true);

3、测试的web浏览器,如果是测app则忽略

capabilities.setCapability(CapabilityType.BROWSER_NAME, "");

4、平台设置iOSAndroid, or FirefoxOS

capabilities.setCapability("platformName", "Android");

5、设备序列号设置
capabilities.setCapability("deviceName", "Baytrail515B4E05");

6、系统版本号设置
capabilities.setCapability("platformVersion", "4.4.4");

7、避免重新签名

capabilities.setCapability("noSign","true");

8、支持中文输入
capabilities.setCapability("unicodeKeyboard","True");

9、重置输入法到原有状态
capabilities.setCapability("resetKeyboard","True");

10、设置apk的包名
capabilities.setCapability("appPackage", "com.kingyee.m");

11、设置启动Activity
capabilities.setCapability("appActivity", "com.kingyee.m.Start");










本文转自 知止内明 51CTO博客,原文链接:http://blog.51cto.com/357712148/1968237,如需转载请自行联系原作者
目录
相关文章
|
24天前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
1月前
|
运维 应用服务中间件 Linux
自动化运维的利器:Ansible在配置管理中的应用
【10月更文挑战第39天】本文旨在通过深入浅出的方式,向读者展示如何利用Ansible这一强大的自动化工具来优化日常的运维工作。我们将从基础概念讲起,逐步深入到实战操作,不仅涵盖Ansible的核心功能,还会分享一些高级技巧和最佳实践。无论你是初学者还是有经验的运维人员,这篇文章都会为你提供有价值的信息,帮助你提升工作效率。
|
1天前
|
存储 缓存 运维
阿里云先知安全沙龙(上海站)——后渗透阶段主机关键信息自动化狩猎的实现与应用
本文介绍了在后渗透测试中使用LSTAR工具和PowerShell脚本进行RDP状态查询、端口获取及凭据收集的过程,强调了高强度实战场景下的OPSEC需求。通过MITRE ATT&CK框架的应用,详细阐述了凭证访问、发现和收集等关键技术,确保攻击者能够隐蔽、持续且高效地渗透目标系统,最终获取核心数据或控制权。文中还展示了SharpHunter等工具的自动化实现,进一步提升了操作的安全性和效率。
|
21天前
|
运维 监控 持续交付
自动化运维在现代数据中心的应用与实践####
本文探讨了自动化运维技术在现代数据中心中的应用现状与实践案例,分析了其如何提升运维效率、降低成本并增强系统稳定性。通过具体实例,展示了自动化工具如Ansible、Puppet及Docker在环境配置、软件部署、故障恢复等方面的实际应用效果,为读者提供了一套可参考的实施框架。 ####
|
1月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
112 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
jenkins 测试技术 持续交付
探索自动化测试在持续集成中的应用与挑战
本文深入探讨了自动化测试在现代软件开发流程,特别是持续集成(CI)环境中的关键作用。通过分析自动化测试的优势、实施策略以及面临的主要挑战,旨在为开发团队提供实用的指导和建议。文章不仅概述了自动化测试的基本原理和最佳实践,还详细讨论了如何克服实施过程中遇到的技术难题和管理障碍,以实现更高效、更可靠的软件交付。
|
29天前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试框架在软件开发中的应用与挑战##
本文将深入探讨自动化测试框架在现代软件开发过程中的应用,分析其优势与面临的挑战。通过具体案例分析,揭示如何有效整合自动化测试以提升软件质量和开发效率。 ##
|
1月前
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。
|
1月前
|
敏捷开发 监控 jenkins
探索自动化测试框架在敏捷开发中的应用与优化##
本文深入探讨了自动化测试框架在现代敏捷软件开发流程中的关键作用,分析了其面临的挑战及优化策略。通过对比传统测试方法,阐述了自动化测试如何加速软件迭代周期,提升产品质量,并针对实施过程中的常见问题提出了解决方案。旨在为读者提供一套高效、可扩展的自动化测试实践指南。 ##
43 9