Appium+Python+夜神模拟器的使用(上)

上部分已经将环境搭建好了

现在来简单使用下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

说明下badging后面的是安装的路径加安装包的完整名称
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那一套通过查找元素等定位方法来模拟点击输入等操作了。

你可能感兴趣的:(Appium+Python+夜神模拟器的使用(上))