上部分已经将环境搭建好了
现在来简单使用下appium
打开夜神模拟器,首先启动会以平板模式展示,可以在设置的高级设置里设置为手机模式,还有性能和分辨率等设置可以自行设置 image.png-
下面安装一个应用到模拟器上,可以将下载到本地的apk文件直接拖动到模拟器上,自动完成安装
image.png -
进入cmd输入: aapt dump badging D:\Apk_files\46f24ed824dfb1b2636a523bb878814a.apk.apk
获取安装包的appPackage:com.sankuai.meituan.takeoutnew和appActivity:com.sankuai.meituan.takeoutnew.ui.page.boot.WelcomeActivity,复制这两个name后的值复制下来保存,这两个名称在程序中要用到;(我这里的安装包是美团外卖的安装包)
image.png
image.png
-
同样在cmd下执行: adb devices 获取deviceName: 127.0.0.1:62001
image.png -
启动Appium,点击 Start Server
image.png
可以看到appium服务以及启动,正在监听4723端口
image.png
点击右上角的搜索按钮,在这里可以配置
image.png
在Desired Capabilities下添加以下四项值
platformName---设备平台。填Android或IOS
deviceName----adb devices 获取到的deviceName
appPackage----前面进入cmd使用aapt dump badging获取到的appPackage:com.sankuai.meituan.meituanwaimaibusiness
appActivity----前面进入cmd使用aapt dump badging获取到的appActivity:com.sankuai.meituan.shell.splash.SplashActivity
{
"platformName": "Android",
"deviceName": "127.0.0.1:62001",
"appPackage": "com.sankuai.meituan.takeoutnew",
"appActivity": "com.sankuai.meituan.takeoutnew.ui.page.boot.WelcomeActivity"
}
点击右下角的 save as 可以将配置信息另存为一个名字方便下次调试使用,这里另存为MeiTuan;然后点击 Start Session;可以看到模拟器自动打开了美团,appium上也显示了美团的界面
image.png
在新弹出的界面中可以看到,左侧是APP的画面,中间显示了当前页面的元素,可以利用Appium直接对其操作,比如审查元素,和chrome开发者工具一样使用,点击到某个位置该位置的元素就在中间高亮显示,滑动操作和录制功能(对操作进行录制,自动生成代码,非常方便),其他例如Send Keys(向输入框输入信息) ,tab(点击按钮),clear(清除输入框里的文本信息),另外可以直接在模拟器上操作然后点击appiumstart session之后的弹出的界面中间刷新按钮,实现同步;
image.png
- 下面使用Python配合appium来操作模拟器;先将上面例子的session关闭重启下appium,点击start session
from appium import webdriver
class MeiTuan:
def __init__(self):
self.desired_caps = {
'platformName': "Android", # 平台名称
'platformVersion': '5.1.1', # 夜神模拟器的版本号
'deviceName': '127.0.0.1:62001', # 夜神模拟器名称
'appPackage': 'com.sankuai.meituan.takeoutnew', # APP包名
'appActivity': 'com.sankuai.meituan.takeoutnew.ui.page.boot.WelcomeActivity',
}
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', self.desired_caps) # 建立 session
if __name__ == '__main__':
mei_tuan = MeiTuan()
点击运行,可以看到appium开始加载运行日志;同时夜神模拟器也重新启动了美团
配置信息可以加入一些其他的。比如
def __init__(self):
self.desired_caps = {
'automationName': 'UiAutomator1', # 指定测试引擎
'noReset': True, # 不重启APP状态
'platformName': "Android", # 平台名称
'platformVersion': '5.1.1', # 夜神模拟器的版本号
'deviceName': '127.0.0.1:62001', # 夜神模拟器名称
'appPackage': 'com.sankuai.meituan.takeoutnew', # APP包名
'appActivity': 'com.sankuai.meituan.takeoutnew.ui.page.boot.WelcomeActivity',
'newCommandTimeout': 3600, # appium接收命令最大时长,超过设置时长session自动退出,APP也退出了,默认是60秒
'unicodeKeyboard': True, # 使用unicode编码方式发送字符串
'resetKeyboard': True, # 将键盘隐藏起来
}
- 以上只是通过代码启动APP,接下来就可以使用selenium那一套通过查找元素等定位方法来模拟点击输入等操作了。
网友评论