Python+Appium自动化测试(15)-使用Android模拟器(详细)(二)

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 夜神模拟器


二,夜神模拟器


1,下载、安装


1.1,下载。官网下载地址:https://www.yeshen.com/

1.2,安装。可自定义安装路径,过程简单。安装完成后电脑桌面会出现两个快捷方式,如下:

微信图片_20220424200650.png

打开夜神模拟器,界面如下。默认是横屏,点击图中1、2可切换成竖屏。

微信图片_20220424200654.png

1.3,设置。关闭夜神模拟器,打开夜神多开器,可以对模拟器进行设置,点击如下设置按钮。

微信图片_20220424200658.png

进入设置页面,可进行相应的设置,如下图是我的设置。

微信图片_20220424200701.png

在夜神多开器里,还可以如下选择android版本安装更多的模拟器。

微信图片_20220424200705.png

夜神多开器更多的功能不赘述。


2,获取模拟器的设备id


2.1,电脑安装Android SDK并配置好环境变量,没有安装的话可以查看博客appium环境搭建

2.2,打开模拟器,输入命令adb devices,会发现找不到连接的模拟器设备。

微信图片_20220424200709.png

2.3,这个时候,首先要确认SDK与夜神模拟器的adb版本是否一致,不一致则需替换成一致。

Android SDK的adb版本,输入命令:adb version

微信图片_20220424200712.png

cd进入夜神模拟器安装路径的bin,输入命令nox_adb version查看

微信图片_20220424200715.png

显然SDK中的adb版本更高,需要替换成一样的版本(选择更高的版本)。

替换方法:删除夜神模拟器安装路径中bin文件夹里的nox_adb.exe,再将Android SDK里的adb.exe复制到夜神模拟器安装路径的bin文件夹中,重命名为nox_adb。

2.4,替换完成后,重新打开模拟器,且重新打开cmd命令窗,再次输入命令adb devices,查看设备id成功。如下:

微信图片_20220424200718.png3,安装APP

将下载好的apk文件拖动到模拟器界面,即进行安装。也可以在其自带的游戏中心APP里面搜索应用安装。


4,python+appium启动夜神模拟器中的APP


4.1,获取夜神模模拟器的设备信息,以及被测app的信息(以今日头条APP为例)。获取方法跟博客appium连接真机启动app中第二部分的方法一样。

4.2,根据获取到的参数信息,编写示例脚本如下:

# -*- coding:utf-8 -*-
# @author: 给你一页白纸
from appium import webdriver
desired_caps = {
    "platformName": "Android",
    "platformVersion": "7.1.2",
    "deviceName": "VOG_AL10",
    "appPackage": "com.ss.android.article.news",
    "appActivity": ".activity.MainActivity",
    "unicodeKeyboard": True,
    "resetKeyboard": True,
    "noReset": True,
}
# 启动app
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

启动appium服务,再运行脚本,可以看到今日头条app被启动。


三,总结


1,Genymotion的缺点


1.1,Genymotion支持到了Android 10版本的模拟器,但因为暂时只找到了支持Android 8.0的Genymotion-ARM-Translation,所以可用的也就只到Android 8.0,有兴趣的可以去网上查找支持更高版本的ARM转换工具。

1.2,Genymotion模拟器安装应用市场的app,打开后会出现闪退,而且几乎是所有的APP。


2,夜神模拟器的缺点


2.1,夜神模拟器暂时最高只有Android 7的版本,但现在的Android手机基本都是Android 9以上的版本。

综上,可以根据自己的喜好与方便程度选择,脚本调试的时候可能使用模拟器方便一点,但实际自动化测试过程中还是推荐使用真机,使用真机请参考博客appium连接真机启动app

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
16天前
|
测试技术 Go Python
在python中测试应用
【6月更文挑战第29天】本文介绍Python的unittest是内置的单元测试框架,适合线性控制流的代码测试。并举实例说明,如何组织测试代码,如何构造脚手架和测试套件。
29 6
在python中测试应用
|
12天前
|
测试技术 Python
|
9天前
|
Java 测试技术 开发者
Python:使用标准库编写单元测试
在现代软件开发中,编写单元测试是确保代码质量和可靠性的重要步骤。Python 提供了一个内置的单元测试框架,称为 unittest,它可以帮助开发者方便地编写和运行测试。本文将详细介绍如何使用 unittest 编写单元测试。
|
13天前
|
测试技术 API 持续交付
【Python自动化测试】文章探讨了Python在测试领域的关键作用,分为三部分
【7月更文挑战第2天】【Python自动化测试】文章探讨了Python在测试领域的关键作用,分为三部分:1) 自动化测试的重要性与Python的易用性、库支持、跨平台和社区优势;2) Unittest作为标准测试框架的基础用法,及Pytest的灵活性与强大功能;3) 实践中包括Selenium的Web UI测试、Requests的API测试,强调测试隔离、持续集成等最佳实践。Python助力高效稳定的软件测试。
24 2
|
17天前
|
消息中间件 缓存 中间件
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
|
17天前
|
测试技术
Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)
Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)
|
17天前
|
测试技术 Python
python接口自动化测试 - unittest框架suite、runner详细使用
python接口自动化测试 - unittest框架suite、runner详细使用
|
2月前
|
测试技术 API Python
Appium控件交互策略:优化自动化测试效率的关键方法
该文介绍了如何使用Selenium与APP进行交互,包括点击、输入和状态判断等操作。例如,通过element.click()点击控件,element.send_keys()输入文本,以及element.is_displayed()检查元素是否可见。还展示了如何获取元素属性,如resource-id、text和class,并提供了Python代码示例来定位并操作APP元素,如滑动条的显示、可点击性检测及点击滑动条中心位置。在编写测试脚本时,应注意元素定位和状态验证以确保测试稳定性。
56 1
|
10月前
|
测试技术 Python
Appium自动化框架从0到1之 执行测试用例& 生成测试报告&发送邮件
Appium自动化框架从0到1之 执行测试用例& 生成测试报告&发送邮件
128 1
|
10月前
|
JSON Java 测试技术
Python + Appium 自动化操作微信入门
Python + Appium 自动化操作微信入门
182 0