【Mac + Appium + Python3.6(六)】之安装Android模拟器(Genymotion)并运行模拟器进行自动化

 

环境:

  • MacOS:10.13.6
  • Virtualbox:5.2.22
  • Genymotion:genymotion-2.12.2

 

本文Virtualbox、Genymotion下载地址:

链接:https://pan.baidu.com/s/1ACubK3jiCdKBxZ-oiJVLTg  密码:5nt5

 

一、下载Virtualbox(Genymotion的运行需要依赖VirtualBox)

①官网地址下载:https://www.virtualbox.org/wiki/Downloads

②参考上面链接下载

安装过程中安装失败,如图:

参考:《macOS 10.13 安装Virtualbox失败

原因:virtualbox在安装的时候需要安装内核扩展(Kernel extenstion),而macOS 10.13 High Sierra的新安全特性会阻止外部内核扩展的安装,所以安装总是会被系统拦截。 

解决办法

打开“系统偏好设置”->“安全性与隐私”->“通用”->点击“允许”

再次安装,显示成功!

 

二、安装genymotion

官网下载地址

两种方式:

①先登录,没账号先注册,才能下载

②直接下载参考文章开头链接:下载完成后安装并启动登录:用的网友提供的账号密码(账号 : csdntest 密码 : admin123456)

 

 设置SDK:/Users/xxx/xxx/android-sdk-macosx

个人使用 

 

 添加虚拟设备

安装虚拟机: 

 

 启动虚拟设备:

打开终端,输入:

$ adb devices
List of devices attached
192.168.56.101:5555    device

三、appium-desktop结合虚拟机进行自动化

接下来有几个adb设备的命令操作:

复制代码
# 进入手机应用交互
adb shell

# 当前虚拟设备启动的app
ps

# 当前虚拟设备的目录
ls

# 当前虚拟设备连接多少对外的服务
netstat -tn

# 当前虚拟设备监听端口
netstat -tln

# 退出
exit
复制代码

然后下载或者要测试的aapk软件,下面介绍查看aapk的命令:

但是aapt不存在,解决办法为:《Mac环境下adb、aapt环境配置和常用指令》、《-bash: aapt: command not found

复制代码
# 查看包的内容
aapt dump badging xxx.apk | less

# 查看aapt命令
aapt 2>&1 |less

# 列举包有什么文件
aapt list xxx.apk |less    #/lib:查看lib下是不是【armeabi】、【x86】,x86的apk可以安装在模拟器中

# 解压apk
unzip ../xxx.apk

# 研发设置各种各样字符串的资源
aapt dump strings xxx.apk

# 进入Android里
cd $ANDROID_HOME

# 回到原目录
cd $OLDPWD
复制代码

 

 

复制代码
# 在模拟器中安装apk软件
*先cd到xxx.apk的路径下
$ adb install xxx.apk 或者  adb install -r /xxx/xxx/xxx.apk
xxx.apk: 1 file ...ed. 4.6 MB/s (8097679 bytes in 1.692s) pkg: /data/local/tmp/xxx.apk Success

# 卸载模拟器中的apk

 adb uninstall com.xueqiu.android

# 删除存在的包再安装
adb install -r xxx.apk

# 查看模拟器设备的信息
adb logcat

# 模糊搜索
adb logcat | grep -i activitymanager.*cmp=
#
adb logcat | grep --line-buffered  -i activitymanager.*cmp= | awk '{print $(NF-6)}'

# 查看模拟器中apk包的版本
adb shell dumpsys package com.xueqiu.android | less
version

# 或
adb shell dumpsys package com.xueqiu.android | grep version
 
复制代码

 

打开软件,下面cmp是需要的参数:

11-22 01:49:04.484   626   638 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000
 cmp=cn.sqm.citymine_safety/.activity.LauncherActivity (has extras)} from uid 10008 on display 0

下面才开始结合appium-desktop设置参数:

参考官方地址:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

 

{
  ①"deviceName": "192.168.56.101:5555",      
  ②"platformName": "Andriod",
  ③"appPackage": "cn.sqm.citymine_safety",
  ④"appActivity": ".activity.LauncherActivity"
}

①设备号通过adb devices获取

②平台名

③④通过 adb logcat中的cmp获取,上面刚讲的。

取Launcher后面的cmp{}. 

最后点击session启动app,并且可以定位元素写代码了,如下:

 

 

 

 

参考:

Genymotion 2.8.1 安装以及破解》 

【已解决】关于Mac上的Genymotion模拟器的几个问题》 

Mac环境下安装Genymotion

MAC上安装Genymotion的正确姿势

posted @   Owen_ET  阅读(2004)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
  1. 1 イエスタデイ(翻自 Official髭男dism) 茶泡饭,春茶,kobasolo
  2. 2 模様 (TV size ver.) Ivy to Fraudulent Game
  3. 3 河口恭吾
  4. 4 愛してる 高鈴
  5. 5 一生所爱 卢冠廷,莫文蔚
  6. 6 世间美好与你环环相扣 柏松
  7. 7 理想三旬 陈鸿宇
  8. 8 不浪漫罪名 王杰
  9. 9 樱花树下 张敬轩
  10. 10 因为你在 达闻西乐队,福禄寿FloruitShow
  11. 11 悬溺 葛东琪
不浪漫罪名 - 王杰
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 陈少琪

作曲 : 王杰

没有花 这刹那被破坏吗

没有花 这刹那被破坏吗

无野火都会温暖吗

无烟花一起庆祝好吗

若爱恋 彷似戏剧那样假

若爱恋 彷似戏剧那样假

如布景一切都美化

连相拥都参照主角吗

你说我未能定时 令你每天欢笑一次

你说我未能定时 令你每天欢笑一次

我没说出一句美丽台词

是你心中一种缺陷定义

流进了眼角里的刺

为何不浪漫亦是罪名 为何不轰烈是件坏事情

为何不浪漫亦是罪名 为何不轰烈是件坏事情

从来未察觉我每个动作 没有声都有爱你的铁证

为何苦不浪漫亦是罪名 为何总等待着特别事情

从来未察觉我语气动听 在我呼吸声早已说明

甚么都会用一生保证

没有花 这刹那被破坏吗

没有花 这刹那被破坏吗

无野火都会温暖吗

无烟花一起庆祝好吗

若爱恋 彷似戏剧那样假

若爱恋 彷似戏剧那样假

如布景一切都美化

连相拥都参照主角吗

你说我未能定时 令你每天欢笑一次

你说我未能定时 令你每天欢笑一次

我没说出一句美丽台词

是你心中一种缺陷定义

流进了眼角里的刺

为何不浪漫亦是罪名 为何不轰烈是件坏事情

为何不浪漫亦是罪名 为何不轰烈是件坏事情

从来未察觉我每个动作 没有声都有爱你的铁证

为何苦不浪漫亦是罪名 为何总等待著特别事情

从来未察觉我语气动听 在我呼吸声早已说明

什么都会用一生保证

为何不浪漫亦是罪名 为何不轰烈是件坏事情

为何不浪漫亦是罪名 为何不轰烈是件坏事情

从来未察觉我每个动作 没有声都有爱你的铁证

为何苦不浪漫亦是罪名 为何总等待著特别事情

从来未察觉我语气动听 在我呼吸声早已说明

什么都会用一生保证

点击右上角即可分享
微信分享提示