Appium+python+雷电模拟器自动化测试入门

一.进入命令行

方法一:

win+R

再输入cmd即可进入命令行

方法二:

直接在桌面左下角搜索cmd,回车即可进入命令行

二.检查环境配置

  1. 检查java环境即jdk
    在命令行中输入java -version;如下图所示,jdk环境则安装成功;
  2. 检查android-sdk环境
    在命令行中输入adb version;如下图所示,Android-sdk'环境则安装成功;

3.检查appium和雷电模拟器是否安装

三.案例-appium桌面连接手机定位元素

  1. 打开appium,登录,点击start Server即可
  2. 打开雷电模拟器,登录
  3. 回到appium
  4. 中英文都是一一对应的
    如上图,填写platformName、deviceName、appPackage、appActivity。

platformName:平台名称。该处是Android

deviceName:设备号。cmd通过adb devices得到。

appPackage和appActivity也是通过adb命令得到:adb shell dumpsys window | findstr "mCurrentFocus"

如果devices有多个,可以通过adb -s deviceName shell dumpsys window | findstr "mCurrentFocus",其中deviceName替换成你的设备名称。

如果devices有多个,可以通过adb -s deviceName shell dumpsys window | findstr "mCurrentFocus",其中deviceName替换成你的设备名称。

  1. 配置好之后点击Start Session

  2. 如下图,可以对雷电模拟器上的页面进行元素定位

    点击刷新,左侧模拟器页面会同步页面

四.案例-通过python连接appium服务端,并对手机进行操作

python 复制代码
# coding: utf-8
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy

desired_caps = {'platformName': 'Android',
                'platformVersion': '9.0.0',
                'deviceName': 'emulator-5554',     #设备名来自adb devices
                "appPackage": "com.android.launcher3",
                "appActivity": "com.android.launcher3.Launcher",
                "autoGrantPermissions": True}

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

#打开微信APP
driver.find_element(by=AppiumBy.ACCESSIBILITY_ID,value='微信').click()
driver.implicitly_wait(15)
#点击注册
driver.find_element(AppiumBy.ID,'com.tencent.mm:id/mjy').click()
------------------------------------------------

以上内容,除了开头的环境配置部分,其他皆来源于CSDN博主「一只干测试的兔子」的原创文章。

版权声明:本文为CSDN博主「一只干测试的兔子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/norma_chai/article/details/146096579

相关推荐
IvorySQL1 小时前
PG 日报|新增 VACUUM 全维度统计信息补丁迭代
数据库·人工智能·postgresql·ivorysql
白露与泡影4 小时前
Redis 缓存实战:雪崩、穿透、击穿一次讲透
数据库·redis·缓存
yaoxin5211234 小时前
462. Java 反射 - 获取声明类与封闭类
java·开发语言·python
赵渝强老师5 小时前
【赵渝强老师】使用Oracle可传输的表空间迁移数据
数据库·oracle
中微极客5 小时前
解锁LLM开发全栈能力:Python + LangChain + RAG 工程实战指南
人工智能·python·langchain
hhzz5 小时前
Barbershop:基于GAN和分割Mask的图像合成技术——从理论到实战全解析
图像处理·人工智能·python·深度学习·计算机视觉
IpdataCloud6 小时前
跨区服玩家延迟高怎么办?用IP离线库自动分配到最近服务器
数据库·tcp/ip·github·php·ip
Ulyanov6 小时前
雷达导引头Python仿真框架:GPU加速、6-DOF模型与半实物仿真接口
开发语言·python·雷达信号处理·雷达导引头
wuqingshun3141597 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
列逍7 小时前
博客系统测试
自动化测试·python·性能测试