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

相关推荐
weixin_580614007 分钟前
如何提取SQL日期中的年份_使用YEAR或EXTRACT函数
jvm·数据库·python
2301_8135995514 分钟前
SQL生产环境规范_数据库使用最佳实践
jvm·数据库·python
李可以量化14 分钟前
QMT 量化实战:用 Python 实现线性回归通道,精准识别趋势中的支撑与压力(下)
python·qmt·量化 qmt ptrade
a95114164222 分钟前
Go 中通过 channel 传递切片时的数据竞争与深拷贝解决方案
jvm·数据库·python
Dxy123931021622 分钟前
Python 使用正则表达式将多个空格替换为一个空格
开发语言·python·正则表达式
qq_1898070329 分钟前
如何修改RAC数据库名_NID工具在集群环境下的改名步骤
jvm·数据库·python
aXin_ya39 分钟前
Redis 高级篇(最佳实践)
数据库·redis·缓存
zhangchaoxies1 小时前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
Luca_kill1 小时前
MCP数据采集革命:从传统爬虫到智能代理的技术进化
爬虫·python·ai·数据采集·mcp·webscraping·集蜂云
zhangchaoxies1 小时前
CSS如何实现响应式弹性网格布局_配合media query修改flex-wrap属性
jvm·数据库·python