美文网首页
Appium+Python+夜神模拟器的使用(上)

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

作者: 飞飞飞段啊 | 来源:发表于2019-12-10 20:01 被阅读0次

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

    现在来简单使用下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+夜神模拟器的使用(上)

          本文链接:https://www.haomeiwen.com/subject/qwbggctx.html