appium+python+夜神模拟器 自动化测试(1)

1.原理

2.环境准备

3.测试--打开酷狗音乐


1.原理

自动化脚本——发送指令——appiumsrever——转发指令——AndroidSDK环境—操作手机终端——被测手机终端(模拟机/真机)

2.环境准备

  • 安装Java,配置环境变量
  • 安装Androidsdk,配置环境变量
  • 安装appium server
  • 安装夜神模拟器
  • 安装appium-python-client

1.下载Java环境(Java8)

          Java Downloads | Oracle

 配置环境变量

 

点击“确认”,一直点击确认,关闭所有系统设置窗口

win+r 打开窗口,输入Java -version 查看环境是否配置成功

需要配置两个Java环境的,可以使用下面的方法

 由于电脑上Jenkins 需要Java11 的环境 ,而AndroidSDK需要Java8 ,所以我配置了两个环境

通过%JAVA_HOME%内的参数改变环境变量

2.下载AndroidSDK,并配置环境变量

下载地址:https://www.androiddevtools.cn

下载版本

下载完成后解压到没有中文的目录下

运行 

 运行后如下图,选择下方✔的工具,进行安装,安装过程比较缓慢

配置adb环境变量

新建系统变量--ANDROID_HOME

 path添加系统变量

 一直点击“确认”,直到关闭高级设置,验证配置是否成功

win+r 输入--adb,出现下方信息,证明安装成功 

3.安装appium server

 

 

4. 安装夜神模拟器

夜神安卓模拟器-安卓模拟器电脑版下载_安卓手游模拟器_手机模拟器_官网

下载后需要打开开发者选项

 连续5次点击版本号

 

出现“开发者选项”这样就是开启了

通过adb连接模拟器验证  adb connect 127.0.0.1:62001

查看连接的设备  adb devices

查看连接的设备信息  adb devices -l

获取包名--1--adb shell dumpsys window | findstr mCurrentFocus 

模拟器打开app-命令框输入指令,只能查到包名,不能获取启动页信息

 com.kugou.android 就是包名

获取包名和启动页2-- adb logcat ActivityManager:I | find "cmp"

 /前面是包名,后面是启动页

5.python中安装appium,(调用客户端库和 Appium Server 进行通信)

通过指令---pip install appium-python-client

环境配置完成后,就可以写脚本测试

3.测试--打开酷狗音乐

编写以下代码,然后运行

from appium import webdriver
import time

# 连接移动设备所必须的参数
desired_caps = {}

# 当前要测试的设备的名称
desired_caps["deviceName"] = "127.0.0.1:62001"
# 系统
desired_caps["platformName"] = "Android"
# 系统的版本
desired_caps["platformVersion"] = "7.1.2"
# 要启动app的名称(包名)
desired_caps["appPackage"] = "com.kugou.android"
# 要启动的app的哪个界面
desired_caps["appActivity"] = ".app.splash.SplashActivity bnds"

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

time.sleep(10)
print(driver.page_source)

# 关闭app
driver.close_app()
# 释放资源
driver.quit()

dirveri中地址为固定的,4723是appium首页的端口号

运行python ,然后能打开酷狗就证明是成功了!

可喜可贺,运行成功啦!!

appium日志分析

  1. 自动化脚本发送HTTP请求,请求参数:终端请求参数
  2. 创建会话
  3. 确认终端设备是否连接,并确认安卓版本,确认设置参数与终端参数是否一致
  4. appium会推送一个包“appiumBootstrap.jar”,模拟器上 api包 :appium server指令进行接受,操控手机端
  5. 相应的http请求
  6. 下一http请求

注意!!

之前运行过程中一直报错

 尝试杀掉占用的端口号,没用,最后是通过文件替换解决的

经查找后通过  把将SDK中的adb.exe文件复制到夜神安装目录中,然后要将夜神中的nox_adb.exe文件内容也换成SDK中adb文件的内容,然后就运行成功了

应该是版本号不一致造成的,如果大家在运行中出现这种的报错,可以先替换sdk

总之, 大功告成,接下来就可以开启app自动化学习之路了!!

                               

第一次写,记录练习的步骤,若有错误之处,还请小伙伴们指正哟,谢谢!

参考博主:Python+Appium从安装到第一个小练习(保姆级别教程)_桂圆干龙眼的博客-CSDN博客


 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值