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

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
7月前
|
Java API 开发工具
如何将python应用编译到android运行
【6月更文挑战第27天】本文介绍在Ubuntu 20上搭建Android开发环境,包括安装JRE/JDK,设置环境变量,添加i386架构,安装依赖和编译工具。并通过`p4a`命令行工具进行apk构建和清理。
118 6
如何将python应用编译到android运行
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
136 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
3月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
3月前
|
网络协议 Shell 网络安全
解决两个 Android 模拟器之间无法网络通信的问题
让同一个 PC 上运行的两个 Android 模拟器之间能相互通信,出(qiong)差(ren)的智慧。
40 3
|
4月前
|
敏捷开发 Java 测试技术
探索自动化测试的奥秘:从Selenium到Appium
【9月更文挑战第14天】软件测试,这个看似枯燥乏味却至关重要的领域,正经历着一场革命。随着技术的进步,自动化测试工具如Selenium和Appium已成为质量保证的利器。本文将带你一探这些工具的神秘面纱,了解它们如何简化测试流程、提升效率,并确保软件产品的质量。准备好,我们将深入自动化测试的世界,解锁其背后的原理和实践技巧。
|
5月前
|
Java 测试技术 API
探索自动化测试的奥秘:从Selenium到Appium
【8月更文挑战第31天】本文旨在引导读者理解自动化测试的重要性,并逐步深入介绍如何利用Selenium和Appium这两个强大的工具来提升测试效率和质量。文章不仅分享理论知识,还通过具体代码示例,展示如何在Web应用和移动应用测试中实施自动化策略。
|
5月前
|
测试技术 Android开发 iOS开发
探索自动化测试的奥秘:从Selenium到Appium
【8月更文挑战第31天】在软件测试的海洋中,自动化测试如同一艘快艇,带领我们高效地穿越波涛汹涌的手动测试海域。本文将带你从Selenium的网页自动化测试出发,一路驶向Appium的移动应用自动化测试岛屿,揭秘这两种工具如何改变软件测试的航向。你将看到代码示例的灯塔,指引你理解它们如何在实战中发挥作用,以及为什么掌握这些技能对于测试人员来说至关重要。
|
5月前
|
Java 测试技术 Android开发
探索自动化测试之美:从Selenium到Appium
【8月更文挑战第31天】在软件开发的世界中,测试是确保产品质量的关键步骤。随着技术的发展,自动化测试工具如Selenium和Appium成为了开发者的得力助手。本文将通过一个简单的代码示例,带领读者了解如何利用这些工具进行高效的自动化测试,确保软件的稳定性和可靠性,同时也让测试过程变得更加轻松有趣。
|
5月前
|
Shell 网络安全 Python
网络工程师如何在ensp模拟器上玩python自动化配置交换机。
网络工程师如何在ensp模拟器上玩python自动化配置交换机。
300 0
|
8月前
|
安全 物联网 测试技术
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。