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推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
4月前
|
Java API 开发工具
如何将python应用编译到android运行
【6月更文挑战第27天】本文介绍在Ubuntu 20上搭建Android开发环境,包括安装JRE/JDK,设置环境变量,添加i386架构,安装依赖和编译工具。并通过`p4a`命令行工具进行apk构建和清理。
66 6
如何将python应用编译到android运行
|
23天前
|
安全 JavaScript 前端开发
自动化测试的魔法:如何用Python编写你的第一个测试脚本
【8月更文挑战第41天】在软件的世界里,质量是王道。而自动化测试,就像是维护这个王国的骑士,确保我们的软件产品坚不可摧。本文将引导你进入自动化测试的奇妙世界,教你如何使用Python这把强大的魔法杖,编写出能够守护你代码安全的第一道防护咒语。让我们一起开启这场魔法之旅吧!
|
28天前
|
测试技术 API Python
python在自动化测试中的经典例子
python在自动化测试中的经典例子
28 12
|
1月前
|
IDE 测试技术 持续交付
Python自动化测试与单元测试框架:提升代码质量与效率
【9月更文挑战第3天】随着软件行业的迅速发展,代码质量和开发效率变得至关重要。本文探讨了Python在自动化及单元测试中的应用,介绍了Selenium、Appium、pytest等自动化测试框架,以及Python标准库中的unittest单元测试框架。通过详细阐述各框架的特点与使用方法,本文旨在帮助开发者掌握编写高效测试用例的技巧,提升代码质量与开发效率。同时,文章还提出了制定测试计划、持续集成与测试等实践建议,助力项目成功。
53 5
|
2月前
|
测试技术 API 开发者
Python 魔法:打造你的第一个天气查询小工具自动化测试框架的构建与实践
【8月更文挑战第31天】在这篇文章中,我们将一起踏上编程的奇妙旅程。想象一下,只需几行代码,就能让计算机告诉你明天是否要带伞。是的,你没有听错,我们将用Python这把钥匙,解锁天气预报的秘密。不论你是编程新手还是想拓展技能的老手,这篇文章都会为你带来新的视角和灵感。所以,拿起你的键盘,让我们一起创造属于自己的天气小工具吧!
|
2月前
|
测试技术 Python
python自动化测试中装饰器@ddt与@data源码深入解析
综上所述,使用 `@ddt`和 `@data`可以大大简化写作测试用例的过程,让我们能专注于测试逻辑的本身,而无需编写重复的测试方法。通过讲解了 `@ddt`和 `@data`源码的关键部分,我们可以更深入地理解其背后的工作原理。
30 1
|
20天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
14 0
|
2月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
67 1
|
2月前
|
Web App开发 数据采集 测试技术
五分钟轻松掌握 Python 自动化测试 Selenium
本文主要介绍了 Selenium 相关内容,主要涉及 Selenium 知识面,从开始的 Python 小案例,到后面的 API 全面了解,以及 Selenium 的常用功能,到最后的 XPATH 以及爬虫的认知。这些内容已经能够全面,且具有实践性。
|
2月前
|
IDE 测试技术 持续交付
Python自动化测试与单元测试框架:提升代码质量与效率
随着软件行业的发展,代码质量和效率变得至关重要。自动化测试与单元测试是保证质量、提升效率的关键。Python凭借其简洁强大及丰富的测试框架(如Selenium、Appium、pytest和unittest等),成为了实施自动化测试的理想选择。本文将深入探讨这些框架的应用,帮助读者掌握编写高质量测试用例的方法,并通过持续集成等策略提升开发流程的效率与质量。
45 4
下一篇
无影云桌面