Appium从环境搭建到放弃

历经一个星期左右断断续续的时间,终于搭建好Appium的测试环境。以下是一些简单的总结。
一、运行原理
Appium的运行原理可以查看这篇文章,我觉得讲解的比较清楚了
https://cloud.tencent.com/developer/article/1461360

二、环境搭建涉及的工具及简单介绍
注:为了加快使用npm命令的安装速度,建议修改安装镜像库为淘宝镜像库。命令:cnpm install --registry=https://registry.npm.taobao.org
工具包括:
1.android-sdk
安装可参考这篇文章https://blog.youkuaiyun.com/Poppy_tester/article/details/104020335
2.Node.js
必须安装的原因是Appium server是用node写的
3.jdk
android是java写的,所以也是必须的
4.appium
一般我们说的appium server就是他,可直接使用cnpm install appium安装
5.python
用来编写用例,必须要安装appium-python-client组件
6.appium-desktop
虽然appium server有自带的工具,但是很早就不维护了,所以一般都需要安装这个工具用来启动服务;这个工具还可以用来定位元素。下载地址:https://github.com/appium/appium-desktop/releases
7.appium-doctor
不是必须向,是用来检查依赖关系是否齐全的,建议安装
安装命令:cnpm install appium-doctor -g
检查关系命令:appium-doctor

环境成功搭建成功就已经是成功的一半了,加油ヾ(◍°∇°◍)ノ゙

遇到的问题
1.之前已经安装了python3.7,但是安装appium的时候自动装了一个python3.8,打开pycharm的时候默认使用的之前的3.7的环境,导致无法导入appium。这个问题就需要自己检查一下当前project对应的python版本和该python环境是否有安装appium-python-client
2.如果要使用模拟器测试,建议安装一下
3.安装完之后会桌面会多一个appium的快捷方式,这个可能会让你有点疑惑是做什么的。实际上这个并不需要关心,appium服务的启动一般是使用appium-desktop,直接忽略这个图标就行
在这里插入图片描述

### 推荐可用于控制操作的App界面Demo 基于用户的需求,这里推荐几个适用于控制操作的App界面Demo。这些Demo涵盖了多种场景下的交互设计和技术实现方法,能够帮助开发者快速搭建具有高可用性和良好用户体验的应用程序。 --- #### 1. **VA虚拟应用平台 DemoApp** VA虚拟应用平台提供的DemoApp是一款功能全面的演示工具[^1]。其主要特点包括: - 实现了客户端与服务器之间的无缝交互。 - 可以模拟任何应用软件的操作流程,验证部署环境是否正常工作。 - 界面简洁直观,适合初学者体验虚拟化技术的核心原理。 - 特别适合作为控制系统的基础框架,尤其是在需要远程操控设备的情况下。 #### 应用场景 如果目标是开发一款支持云端管理的控制类App,则可以借鉴DemoApp的设计思路,重点在于如何通过轻量级接口完成复杂的任务调度和数据同步。 --- #### 2. **Android仿微信主界面Demo** 这款Demo展示了现代化移动端应用的经典布局结构[^3]。虽然它是针对社交聊天应用而设计的,但也可以稍作修改来适应工业控制领域的需求。核心特性如下: - 使用`RelativeLayout`作为基础容器,灵活安排各个子视图的位置关系。 - 中间区域采用`Fragment`动态加载不同类型的控制面板,便于扩展新功能模块。 - 底部导航栏由水平排列的`LinearLayout`构成,方便切换不同的操作模式。 ```xml <!-- 主界面XML示例 --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Toolbar顶部操作栏 --> <Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" /> <!-- 中间内容区 --> <FrameLayout android:id="@+id/content_frame" android:layout_below="@id/toolbar" android:layout_above="@id/bottom_navigation" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> <!-- 底部导航栏 --> <LinearLayout android:id="@+id/bottom_navigation" android:orientation="horizontal" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- 自定义控件占位符 --> <Button android:text="Home"/> <Button android:text="Settings"/> <Button android:text="Control"/> </LinearLayout> </RelativeLayout> ``` 此外,还可以引入第三方库(如Material Design Components)进一步提升视觉效果。 --- #### 3. **Uni-App时间选择器Demo** Uni-App的时间选择器组件提供了一套简单易用的API接口,非常适合集成到各类控制型App当中[^4]。以下是它的基本配置参数及其用途: - `show`: 控制弹窗显示与否的状态开关。 - `v-model`: 绑定选定时刻的具体数值,默认格式遵循ISO标准。 - `mode`: 指定日期还是时间维度的选择形式;此处设为`datetime`即可覆盖两者需求。 - `closeOnClickOverlay`: 是否允许点击背景蒙层隐藏窗口。 - `@confirm/@cancel`: 分别监听最终提交动作或中途放弃行为的发生时机。 示例代码片段如下所示: ```vue <template> <view class="container"> <button @click="togglePicker">选择时间和日期</button> <u-datetime-picker v-if="isPickerVisible" :model-value="selectedTime" mode="datetime" close-on-click-overlay="true" @confirm="onConfirmSelection" @cancel="hidePicker"> </u-datetime-picker> </view> </template> <script> export default { data() { return { isPickerVisible: false, selectedTime: new Date().toISOString(), }; }, methods: { togglePicker() { this.isPickerVisible = !this.isPickerVisible; }, onConfirmSelection(event) { console.log(`已确认时间为${event.value}`); }, hidePicker() { this.isPickerVisible = false; } } }; </script> ``` 对于涉及定时任务规划的产品而言,这种预制好的解决方案无疑大大降低了研发成本。 --- #### 4. **自动化测试框架 Appium Inspector** 尽管严格意义上讲这不是一个成品化的UI模板,但它却能极大地方便我们探索现有原生应用内部构造,并据此定制专属样式[^2]。借助命令行工具链完成必要的依赖安装后,只需运行几条简单的语句就能激活图形化调试界面: ```bash # 初始化全局环境变量 npm install --location=global appium # 添加安卓专用驱动插件 npm install appium-uiautomator2-driver # 获取最新版Inspector包体链接 curl https://github.com/appium/appium-inspector/releases/latest/download/installer.exe -o installer.exe && chmod +x ./installer.exe ``` 执行完毕以上步骤之后,双击可执行文件启动GUI进程,随后按照提示导入待分析APK文档,很快就会呈现出完整的DOM树形结构供参考学习之用了! --- ### 总结 综上所述,无论是追求极致性能表现的传统Native途径抑或是兼顾跨平台一致性的Hybrid路线,市面上均存在大量优质的开源项目可供采纳模仿。希望上述列举的内容能够对你有所启发! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值