- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Appium+python自动化之连接模拟器并启动淘宝APP(超详解)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
简介 。
这篇宏哥就带着小伙伴们分享一下如何连接模拟器(电脑版的虚拟手机),然后再安装一款app-淘宝为例.
1、appium+pycharm+连接夜神模拟器并启动淘宝app(推荐) 。
1、首先打开pycharm并写好代码,这里以淘宝apk作为测试demo,淘宝apk我是放在电脑桌面(或者放置同代码同个目录下)。如下图所示 。
其中|:driver = webdriver.remote('http://127.0.0.1:4723/wd/hub',desired_caps) #这个地址是怎么来的呢?,见appium设置项,如下图所示 。
2、打开appium并点击右上角三角符号,如下图所示 。
3、打开夜神模拟器,如下图所示 。
4、打开cmd,进入夜神模拟器的安装路径下:d:\software\nox\nox\bin,运行指令:nox_adb.exe connect 127.0.0.1:62001和指令adb devices查看设备名,如下图所示 。
5、运行pycharm代码,并查看结果,如下图所示(暂时不理会出错问题,后续会讲解)但是在模拟器看到新增了两个小机器人,就表示已经成功了:
6、参考代码 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# coding=utf-8
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
created on 2019-6-17
@author: 北京-宏哥 qq交流群:707699217
project:学习和使用python代码appium+pycharm+连接夜神模拟器
'''
# 3.导入模块
from
appium
import
webdriver
import
time
desired_caps
=
{}
desired_caps[
'platformname'
]
=
'android'
#android的apk还是ios的ipa
desired_caps[
'platformversion'
]
=
'4.4.2'
#android系统的版本号
desired_caps[
'devicename'
]
=
'127.0.0.1:62001'
#手机设备名称,通过adb devices 查看
desired_caps[
'apppackage'
]
=
'com.taobao.taobao'
#apk的包名
desired_caps[
'appactivity'
]
=
'com.taobao.tao.welcome.welcome'
#apk的launcheractivity
# desired_caps['unicodekeyboard'] = true # 使用unicodekeyboard的编码方式来发送字符串
# desired_caps['resetkeyboard'] = true # # 将键盘给隐藏起来
driver
=
webdriver.remote(
'http://127.0.0.1:4723/wd/hub'
, desired_caps)
##启动服务器地址,后面跟的是手机信息
|
2、appium+pycharm+连接avd模拟器(不推荐) 。
1、第1、二步和连接夜神模拟器一样.
2、启动avd模拟器(这个上一篇(传送门)都给小伙伴们演示过了,不清楚的返回头复习一下,即可。相当简单的) 。
3、 我们在进行测试的时候,我们肯定需要查看设备连接是否成功,设备的信息是否能够获取。adb devices 就可以实现,直接在命令行控制台中输入“ adb devices ”,我们就可以看见如图连接成功:
4、修改代码,将一些模拟器的信息修给了即可 。
5、未运行代码前的google自带的avd模拟器 。
6、运行代码后的运行结果 。
(1)avd模拟器:
稍等一会,淘宝app自动启动了:
同意协议,淘宝app就可以在avd模拟器上,启动起来进入主页 。
(2)代码运行结果:
(3)appium运行结果:
(7)参考代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# coding=utf-8
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
created on 2019-6-17
@author: 北京-宏哥 qq交流群:707699217
project:学习和使用python代码appium+pycharm+连接夜神模拟器
'''
# 3.导入模块
from
appium
import
webdriver
import
time
desired_caps
=
{}
desired_caps[
'platformname'
]
=
'android'
#android的apk还是ios的ipa
desired_caps[
'platformversion'
]
=
'8.0'
#android系统的版本号
desired_caps[
'devicename'
]
=
'emulator-5554'
#手机设备名称,通过adb devices 查看
desired_caps[
'apppackage'
]
=
'com.taobao.taobao'
#apk的包名
desired_caps[
'appactivity'
]
=
'com.taobao.tao.welcome.welcome'
#apk的launcheractivity
# desired_caps['unicodekeyboard'] = true #使用unicodekeyboard的编码方式来发送字符串
# desired_caps['resetkeyboard'] = true #将键盘给隐藏起来
driver
=
webdriver.remote(
'http://127.0.0.1:4723/wd/hub'
, desired_caps)
#启动服务器地址,后面跟的是手机信息
|
好了,到此夜神模拟器和avd模拟器启动淘宝app,已经全部演示完成,大功告成,降龙十八掌已全部打完,打完收回来。额。。。。。还差一掌才十七掌(亢龙有悔) 。
3、小结(亢龙有悔) 。
亢龙有悔,将前边十七掌合起来总结一下:
1、介绍一下, 标记的信息,如何填写和查找 ! 。
devicename:这个是设备名称,可以选择模拟器设置的属性中的imei填入,或者手机名称 。
udid:这里填写上边让你记住的东西,如果使用其他模拟器或者真机等连接,同样的位置,记下就行 。
apppackage和appactivity,教大家一个相对简单的方法来获取,当然也可以采取反编译(app压缩成rar或者zip,然后打开看xml文件)的手段,总之,方法很多! 。
进入sdk\build-tools\版本号 的目录下(配置系统变量后就尅不用进入了),cmd命令:
aapt dump badging c:\apps\xxxxx.apk (路径\app包名,也就是安装包在你电脑的位置) 。
看下,上边标记的就是我们要的两个值! 。
至于下边的 url 是固定格式,不要研究为什么(千年的王八的蛋,万年龟的屁股——喝一口水淡(蛋)定一下,这是规定(龟腚))! 。
开始运行报错了,最后通过上边的方法查看是因为appactivity错误了,修改版本号和appactivity后还是继续报错,说:安装包不存在,然后在appium中配置 。
配置好以后,按上边的步骤运行代码,可以看到appium日志没有报错、运行代码没有报错、成功的将淘宝的安装包安装在夜神模拟器上了 。
2、遇到的坑1:在cmd指令中输入appium,提示如下图所示 。
解决方式:降低nodejs的版本,参考链接:
3、遇到的坑2:运行appium提示error: couldn't start appium rest http interface listener. requested port is already in use. please make sure there's no other instance of appium running already. 。
解决方式:因为端口被node占用,可以用如下退出node,找出pid命令::netstat -ano|findstr "7922" (这个4723是被占用的端口,我们需要先找该占用该端口程序的pid)。停止pid命令:taskkill /pid[进程码] -t(结束该进程) -f(强制结束该进程以及所有子进程).
不知道端口占用的小伙伴们可以看宏哥的这篇查看端口占用的博文:传送门 。
总结 。
以上所述是小编给大家介绍的appium+python自动化之连接模拟器并启动淘宝app(超详解),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!原文链接:https://www.cnblogs.com/du-hong/p/11022247.html 。
最后此篇关于Appium+python自动化之连接模拟器并启动淘宝APP(超详解)的文章就讲到这里了,如果你想了解更多关于Appium+python自动化之连接模拟器并启动淘宝APP(超详解)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在识别“Appium”中突出显示的元素时收到以下消息。 Appium: 1.7.1设备:iPhone X(12.0 和模拟器)Java 客户端: 1.6.1Xcode:V 10 交互不适用于此元素。
我在 IOS 和 Android 的移动自动化中使用了 Appium。我想知道提供 Calabash 的优势,以及这两种工具生成的脚本是否有共同点? 我已经点击了这个链接:Appium VS Cala
由于 swipe() 已弃用,我无法从左向右滑动屏幕。我的应用程序中有 4 个横幅,我想滑动以查看所有横幅。 最佳答案 这适用于所有方向: 枚举: public enum DIRECTION {
在进行 Appium 测试时,我单击退出应用程序的按钮,如何检查应用程序是否正在运行或我们返回主屏幕。是否有任何方法可以仅通过包名称查找元素列表。 最佳答案 import io.appium.java
我试过命令: npm -install -g appium@1.6 但是当我重新启动 Appium 时,它仍然是 1.5.3 版本。 最佳答案 有两种不同类型的 appium 工具可用 Appium
Mac书空气 Java 1.8 Appium桌面版1.8.1 大家好, 我正在构建一个 TestNG 框架,并且我想以编程方式启动我的 appium 桌面服务器以进行测试。所以我决定做的是创建一个 j
打开终端 (cmd) 并运行 appium-doctor 后,我收到以下警告: WARN AppiumDoctor ✖ opencv4nodejs cannot be found. WARN Appi
这里是移动自动化的新手。我正在尝试使用 Touch Action 执行以下代码来执行滑动操作以导航到第 2 页,但滑动不起作用。 AndroidDriver driver=new AndroidDri
我有一个 iOS 应用程序,它在单个页面上有很多输入字段。我想自动执行这些输入,我知道如何滚动到这些元素和所有内容,但我对部分显示的元素有疑问。 有两种情况下部分显示的元素会导致问题: 第一种情况是当
我正在使用 eclipse 学习 appium,但在启动我的模拟器时卡住了。我尝试了不同的方法,例如在文件夹结构中四处移动文件,但我一直收到 文件不存在或不可访问 我尝试搜索答案,但没有任何帮助。 p
我的应用程序需要多个应用程序权限。我需要通过允许或拒绝不同的权限来检查我的应用程序的行为。如何从 appium 启用/禁用应用程序权限以创建多个场景? 例如,假设我的应用程序需要权限:permissi
我正在使用 Appium 版本 V1.15.0 并且已经使用默认主机:0.0.0.0 和端口:4723 成功启动服务器 但是现在当我尝试启动服务器时,它显示了这个错误“Error Starting A
我在一家提供 wifi 的公司工作。我有一些接入点设置,我想编写一些模拟连接到这些接入点的自动化测试。 所以我的测试将是这样的: 发射装置 转到设备上的 wifi 设置 选择要连接的wifi 验证设备
我在用 : Xcode 10.1 Os Version : 12.1 iPhone 6 我确实按照所有必需的步骤来设置构建和所有内容,但是在尝试使用 xcode build 构建项目时仍然出现错误。
我正在使用 appium 工具测试我的应用程序。在测试过程中,android应用程序在启动器事件附近崩溃,仅在8以下版本的某些设备上显示以下错误。如何解决? An unknown server-sid
我试图运行测试ipa。但是 appium 在循环中重新启动应用程序并产生此错误。 [INST STDERR] Instruments Trace Error : Target failed to ru
我想知道是否有人知道在运行 Appium 测试时使用什么 Java/Groovy 库/工具来嗅探、记录和处理 native 应用程序的 HTTP 流量?有没有人在特定情况下使用 Browser Mob
我在测试中担任 SD。我是 Appium 自动化工具的新手,这个工具对我来说设置环境非常棘手。 我引用了以下链接:http://unmesh.me/category/appium/ 这个链接帮助我安装
正在测试 Android 和 iOS 应用程序。这是我的应用程序的配置屏幕,出现一个 OTP 用例,停止对应用程序的进一步测试。用例是。 当用户在应用程序的起始页面输入手机号码时,指令为 。点击发送按
我已经安装了 appium doctor 并且在 mac 上没有错误地安装了它。但是,当我使用命令“appium-doctor -h”进行检查时。它给出了以下异常。你能告诉我这里出了什么问题吗: ap
我是一名优秀的程序员,十分优秀!