举个华为计算器的栗子「Appium环境配置与调试​」

2024-02-25 16:20

本文主要是介绍举个华为计算器的栗子「Appium环境配置与调试​」,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

坚持原创输出,点击蓝字关注我吧

作者:清菡
博客:知乎、云+社区、博客园等各大平台都有。

目录

  • 一、Appium 概述

    • 1.混合应用

  • 二、安装 Appium

    • 1.下载地址

    • 2.Appium 有客户端(python 库)和服务端(Appium apk)

  • 三、Appium 环境搭建

    • 1.java1.8+版本

    • 2.Android SDK

    • 3.Appium Desktop

    • 4.Appium Client

    • 5.Android 驱动

    • 6.安卓模拟器

  • 四、调试

一、Appium 概述

1.混合应用

1.豆瓣上的文章都是 Html 网页,是放在 App 里面的。
2.用安卓系统的原生控件和 Web 网页组合在一起的。

「控件就是页面的元素。」

二、安装 Appium

1.下载地址

https://github.com/appium/appium-desktop/releases

2.Appium 有客户端(python 库)和服务端(Appium apk)。

Appium 是开源的,python、java、c#等都支持。但是作为一个中间角色,它既跟代码进行交互,也跟设备进行交互。

作为中间程序,它需要处理代码发送过来的所有命令。代码发送过来的请求、命令,那它就是 ip 地址和端口这样的一种服务形式。桌面程序就是一个服务端,必须启动 Server。

点击下 Start Server 这个按钮,提示你已经启动了。ip 是本机的 ip,端口号默认是 4723 可以修改。需要自己手动启动让这个中间程序在线,你才可以用 Python 代码实时向它发送命令,只有它启动了才能接收到你的请求。

Appium 和设备间要进行各种交互,不仅限于打开、安装、卸载 app、通知设置、系统设置等。appium desktop 借助 SDK 中的一个开发工具:安卓 sdk,需要安装 jdk 的版本不低于 1.8。

不需要下载安卓 sdk 里面的全部工具,只需要下载 Android ADT 就好了。「ADT 的全称就是安卓开发工具。」

三、Appium 环境搭建

我网盘里已经下载好全部的包:

链接:https://pan.baidu.com/s/1QaDMKqsyGafNEnctHnXx8A 提取码:wvtz

  1. java1.8+版本

  2. Android SDK

  3. Appium Desktop

  4. Appium Client

  5. Android 驱动

1.java1.8+版本

下载 jdk 之后,得到一个 exe 文件,双击进行安装就可以,安装过程中可以更改 jdk 的安装路径,可以根据自己的喜好进行更改,我自己喜欢默认路径安装。

安装完成之后,就需要配置 jdk 的环境变量了。

我的电脑->属性->高级系统设置->环境变量->系统变量,添加三个系统变量,如果已经有的话,直接编辑添加变量值就 OK;

JAVA_HOME

E:\Program Files\Java\jdk1.7.0_71(这是你自己刚才在安装的时候,选择的 JDK 安装路径)

Path

%Java_Home%\bin;%Java_Home%\jre\bin;(如果你的 JRE 选择了其他的路径,第一个分号之后应该是..\Jre\Bin 的路径)

CLASSPATH

.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar

配置好环境变量之后,可以在 cmd 中输入 java,出现扬子鳄调试信息等,那就是配置成功了。

如果你的电脑安装 jdk,输入Java -version就能看到 jdk 版本,无需再次安装。

2.Android SDK

安卓 sdk 和 java jdk 相同,去环境变量中添加以下变量:

新建系统变量:

ANDROID_HOME

D:\adt-bundle-windows-x86_64-20140702\sdk(以你安装目录为准,确认里面有 tools 和 add-ons 等多个文件夹)

用户变量:

PATH

%ANDROID_HOME%\platform-tools;

系统变量:

path

D:\adt-bundle-windows-x86_64-20140702\sdk\platform-tools;D:\adt-bundle-windows-x86_64-20140702\sdk\tools;

输入adb version

3.Appium Desktop

直接双击安装即可。

4.Appium Client

安装 nodejs 需配置环境变量,环境变量里新建 NODE_PATH,变量值是把 nodejs 的安装路径配置进去。

「安装 nodejs 靠谱链接:」

https://www.cnblogs.com/li150dan/p/10451772.html

安装时已经勾选了 Add to path 了。

「然后使用命令安装 appium:」

npm install -g appium

通过上面这个命令安装的时候,下载很慢,经常失败或者卡住,可以使用 cnpm 进行安装:

npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm install -g appium

「安装完成后,命令行输入 appium 即可启动 appium 服务。但是录制肯定要启动 appium 界面的那个 Start Server 。必须关闭命令行启动的 appium 服务,因为只能选择一个启动方式。」

Appium 客户端(python 库)

「Appium 目前已有的客户端有:」

ruby、python、java、c#、js、PHP、robotframework

Python 客户端库运行如下 pip 命令安装:

pip install appium-python-client

到此,其实 appium 的环境已经搭建完毕。

5.Android 驱动

1.将手机用数据线连接电脑,打开手机开发者模式下的调试模式,然后在电脑上 cmd 窗口输入 adb devices ,能够输出设备的信息即可。
2.获取要测试的当前打开 app 的应用包名和 activity 名称:

adb shell dumpsys window w |findstr \/ |findstr name=

「注意:先打开你要录制的软件再输入这个命令查看。」

这样就能显示该软件的信息将它写入代码中。

6.安卓模拟器

安卓模拟器是能在 PC 平台模拟安卓手机系统的模拟器软件。比较常用的安卓模拟器有:夜神、海马、逍遥、genymotion 等。

模拟器默认是有 root 权限的。

「夜神模拟器:」

windows 平台双击安装。

地址:https://www.yeshen.com

usb 调试模式只针对真机不针对模拟器。

自己的安卓手机需要开启调试模式(开发者模式)。

四、调试

「代码如下:」

{"platformName": "Android","platformVersion": "10","deviceName": "2NSDU20410017297","appPackage": "com.huawei.calculator","appActivity": "com.huawei.calculator.Calculator"
}

点击 start session 后,手机弹出安装 2 个软件,直接安装即可,不用管它。

我是先打开计算器,然后录制的:

「录制出来的脚本如下:」

MobileElement el3 = (MobileElement) driver.findElementById("com.huawei.calculator:id/digit_8");
el3.click();
MobileElement el4 = (MobileElement) driver.findElementByAccessibilityId("乘");
el4.click();
MobileElement el5 = (MobileElement) driver.findElementById("com.huawei.calculator:id/digit_6");
el5.click();
MobileElement el6 = (MobileElement) driver.findElementByAccessibilityId("等于");
el6.click();

运行上面的脚本,就会看到通过代码可以启动华为手机上的计算器进行相关的操作 。

「注意:调试的过程中不要退出正在调试的软件。」


公众号「清菡软件测试」首发,更多原创文章:清菡软件测试 84+原创文章,欢迎关注、交流,禁止第三方擅自转载。

精彩推荐

怎么安装配置ADB环境?

使用Typora+PicGo配置Gitee图床
持续集成有什么好处?快来看鸭
避免栽坑之掌握Jenkins工作原理
Jenkins读取Allure结果出报告
Jenkins持续集成「配置Slave」
pytest的fixture怎么用?
pytest环境准备与入门
Python基础汇总
通读《图解HTTP》脑图

感谢支持清菡原创,欢迎点击在看和转发!

清菡软件测试 提了一个问题

对本篇文章的评价?

参与讨论

这篇关于举个华为计算器的栗子「Appium环境配置与调试​」的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/746032

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器