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

相关推荐
“AI国潮设计-小江”12 小时前
《Python+SDXL实战:用ControlNet精准控制“英歌舞翻糖吐司”构图,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc
wenwen_chao12 小时前
Python学习与开发资源合集:实用技巧与工具推荐
python
for_ever_love__13 小时前
函数——参数、lambda、*args与作用域
python·函数·大模型开发·编程基础
东莞市云毅网络有限公司13 小时前
企业资料时效性判定:Last-Modified、正文日期与版本字段三路交叉
python·sqlite·自动化运维·geo·数据监测
Query*13 小时前
深入浅出LangGraph【一】_基础篇
python·ai·langchain
XiaoMaqqqq14 小时前
市面上正规的IP驱动产业新场景新工具哪家强
运维·python·网络协议·tcp/ip
许彰午14 小时前
01-Oracle数据库简介与版本选择
数据库·oracle
菜鸟~noob23314 小时前
【电子战】第三季预告—波武器与电子系统强力毁伤
开发语言·数据库·matlab·电子战
ShyanZh14 小时前
【Python3基础】19-Socket 与 TCP、UDP 编程
python·网络协议·tcp/ip·udp
惊讶的猫15 小时前
工具选对之后还不够:商城 Agent 的参数与权限治理
开发语言·python