一键启动Appium自动化环境

简介: 一键启动Appium自动化环境

一、前置说明


  1. 本文一键启动Appium自动化环境,只适用于Windows环境;
  2. 请参照Python+Appium2.0的APP自动化环境搭建搭建Appium环境。
  3. 一键启动过程如下:
  • 启动模拟器,本例中为夜神模拟器
  • 开启Android设备远程调试,并连接设备
  • 启动uiautomatorviewer,用于定位元素
  • 启动Appium Server,用于自动化移动应用程序的测试


二、操作步骤


复制以下内容,另存为bat脚本:

start-appium-env.bat

:: =====================前置条件(开始)====================
:: 1.已成功搭Appium2.0环境,如何搭建请参考:https://mp.weixin.qq.com/s/4TMRmQMDu7-gn4Azpo4SXQ
:: 2.已成功搭Appium2.0环境,如何搭建请参考:https://mp.weixin.qq.com/s/4TMRmQMDu7-gn4Azpo4SXQ
:: 3.已成功搭Appium2.0环境,如何搭建请参考:https://mp.weixin.qq.com/s/4TMRmQMDu7-gn4Azpo4SXQ
:: =====================前置条件说明(结束)====================
:: =====================参数配置(开始)====================
:: 模拟器路径
set "emulatorPath=D:\ProgramFiles\Nox\bin\Nox.exe" 
:: 模拟器.exe文件名称
set "emulatorName=Nox.exe" 
:: 模拟器远程连接地址
set "remoteAndroid=127.0.0.1:62001"
:: uiautomatorviewer.bat的路径 
set "uiautomatorviewerPath=D:\ProgramFiles\Android\android-sdk\tools\uiautomatorviewer.bat"
:: =====================参数配置(结束)==================== 
:: 关闭命令回显,禁止显示执行的每条命令
@echo off
:: 将代码页设置为UTF-8, 使echo输出中文字符串
chcp 65001
:: 重启模拟器(避免模拟器原因,导致自动化脚本失败)
taskkill /F /IM %emulatorName%"
start "" "%emulatorPath%"
echo 模拟器已启动, 正在开启设备...
:: 开启adb server
adb kill-server
adb start-server
set "retryCount=0"
set "connectionSuccess="
:retry
:: 开启远程调试
adb connect %remoteAndroid% | findstr /C:"already connected to %remoteAndroid%"
:: 模拟器启动 Andorid 设备需要时间,在1分钟内重复尝试连接设备
if errorlevel 1 (
    set /a retryCount+=1
    if %retryCount% lss 6 (
        timeout /t 10 >nul
        goto retry
    ) else (
        echo 启动Android远程调试失败
        goto end
    )
)else (
  set "connectionSuccess=1"
)
adb devices
echo Android 设备开启成功,并已启动远程调试功能
:: 重启uiautomatorviewer(uiautomatorviewer用于定位元素,重启解决有时定位不到元素的问题)
taskkill /F /IM java.exe /FI "WINDOWTITLE eq UI Automator Viewer"
start /B "" ""D:\ProgramFiles\Android\android-sdk\tools\uiautomatorviewer.bat""
echo uiautomatorviewer已启动
:: 重启appium server(避免appium server原因,导致自动化脚本失败)
REM 查找占用端口号4723的进程(appium server的默认端口为4723),查杀之后再重新店动appium server
for /f "tokens=5" %%a in ('netstat -ano ^| find "4723"') do set "PID=%%a"
if defined PID (
    taskkill /F /PID %PID%
    appium
) else (
    appium
)
:end


三、Demo验证


脚本执行完成后,成功启动模拟器:

image.png

成功启动uiautomatorviewer:

image.png

成功启动Appium Server:

image.png

目录
相关文章
|
10天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
46 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
2月前
|
敏捷开发 Java 测试技术
探索自动化测试的奥秘:从Selenium到Appium
【9月更文挑战第14天】软件测试,这个看似枯燥乏味却至关重要的领域,正经历着一场革命。随着技术的进步,自动化测试工具如Selenium和Appium已成为质量保证的利器。本文将带你一探这些工具的神秘面纱,了解它们如何简化测试流程、提升效率,并确保软件产品的质量。准备好,我们将深入自动化测试的世界,解锁其背后的原理和实践技巧。
|
1月前
|
Ubuntu Java iOS开发
MacOS环境-手写操作系统-19-编译自动化
MacOS环境-手写操作系统-19-编译自动化
17 0
|
3月前
|
运维 监控 应用服务中间件
自动化运维:打造高效、稳定的系统环境
【8月更文挑战第30天】本文将探讨如何通过自动化运维技术,提升系统的稳定性和效率。我们将从基础概念出发,逐步深入到实践应用,分享一些实用的工具和技术,以及如何将这些工具和技术融入到日常的运维工作中。无论你是运维新手,还是有一定经验的老手,都能在这篇文章中找到有价值的信息。让我们一起探索自动化运维的世界,提升我们的工作效率,让系统运行得更加平稳。
|
2月前
|
存储 监控 安全
在自动化测试环境中,如何确保测试数据的安全性和隐私性
在自动化测试环境中,如何确保测试数据的安全性和隐私性
|
3月前
|
jenkins Linux 持续交付
在Linux中,如何使用Jenkins和Ansible进行虚拟化环境的自动化和持续集成/持续部署(CI/CD)?
在Linux中,如何使用Jenkins和Ansible进行虚拟化环境的自动化和持续集成/持续部署(CI/CD)?
|
3月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
116 1
|
3月前
|
运维 监控 持续交付
"揭秘Puppet:自动化运维的超级英雄,一键驾驭复杂IT环境,让运维繁琐瞬间灰飞烟灭,引领未来运维新纪元!"
【8月更文挑战第9天】Puppet作为自动化运维的杰出代表,凭借其强大的配置管理和高度可定制性,助力IT运维实现自动化与智能化转型。通过定义资源模型与使用声明式语言描述系统状态,Puppet能自动调整系统至期望状态,实现标准化运维流程。其工作流程包括定义-应用-报告三步,支持从服务器配置到复杂网络、数据库管理等多种场景。示例代码展示了如何自动化部署Apache服务器,体现了Puppet在实际操作中的高效与便捷。随着技术演进与社区壮大,Puppet将持续推动运维领域的创新发展。
71 6
|
3月前
|
Java 测试技术 API
探索自动化测试的奥秘:从Selenium到Appium
【8月更文挑战第31天】本文旨在引导读者理解自动化测试的重要性,并逐步深入介绍如何利用Selenium和Appium这两个强大的工具来提升测试效率和质量。文章不仅分享理论知识,还通过具体代码示例,展示如何在Web应用和移动应用测试中实施自动化策略。