【问题标题】:How to do UI automation in android?如何在android中进行UI自动化?
【发布时间】:2020-06-23 04:02:33
【问题描述】:

是否有任何指南可用于遵循 UI 自动化,例如在 Android 中选择项目、编写文本、按下按钮。 请列出集成上述其中一项 UI 自动化的步骤。

谢谢

【问题讨论】:

    标签: android automation monkeyrunner


    【解决方案1】:

    您应该像python 脚本一样使用它。 示例:

    import sys
    import os
    import time
    import shlex
    import subprocess
    
    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
    device = MonkeyRunner.waitForConnection(99, ANDROID_SERIAL_NUMBER)
    
    def Click(device, left, top, duration = 0):
        if duration == 0:
            device.touch(left, top, MonkeyDevice.DOWN_AND_UP)
        else:
            device.touch(left, top, MonkeyDevice.DOWN)
            time.sleep(duration)
            device.touch(left, top, MonkeyDevice.UP)
    
    def Drag_example():
        device.drag((100, 200), (1500, 150), 1, 10) 
    
    def Settings_menu():
        package='com.android.settings'
        activity='.Settings'
        component_name=package + "/" + activity
        device.startActivity(component=component_name)
    Settings_menu();
    

    对于运行脚本使用: monkeyrunner script_name

    这里是: Click在x和y位置点击屏幕的功能;
    Drag_example简单的拖动示例
    Settings_menu简单的运行activity示例

    不要忘记将ANDROID_SERIAL_NUMBER 更改为您的序列号。
    您可以通过adb devices 命令获取它。

    更多信息可以阅读google documentation

    在Java中使用read this post

    【讨论】:

    • 对于python脚本,请指导我,在哪里编写代码,即IDE,例如现在我正在使用eclipse,现在这个脚本需要什么IDE?编写脚本后,我将如何运行它? ://
    • 您甚至可以在记事本中编写它。当我提供“monkeyrunner script_name”时,使用命令运行它。 Monkeyrunner 您可以在“sdk_directory/tools/monkeyrunner”中找到 Monkeyrunner 它的可执行文件。可能您不需要在前 5 行中使用 import。
    • 非常感谢! :) 记事本文件的扩展名应该是什么?要运行脚本,我应该去这个目录“Android\android-sdk\tools”吗?
    • 扩展无所谓,就让它成为 .py 就像 python 一样。你应该像这样运行你的脚本:“C:\sdk\tools\monkeyrunner.exe script.py”。
    • 运行脚本文件的问题:android-sdk\tools>monkeyrunner test.py.txt 无法打开指定的脚本文件用法:monkeyrunner [options] SCRIPT_FILE -s MonkeyServer IP 地址。 -p MonkeyServer TCP 端口。 -v MonkeyServer 日志记录级别(ALL、FINEST、FINER、FINE、CONFIG、INFO、WARNING、SEVERE、OFF)
    【解决方案2】:
    【解决方案3】:

    Automate 是一款可以完成您提到的所有工作以及更多其他工作的应用。您不需要笔记本电脑或 ADB 连接。此外,由于编程是块的形式并且大部分是同步的,因此不需要编码。

    Play Store link.

    【讨论】:

      【解决方案4】:

      这是我开发的用于自动化 Ebay 应用程序的示例项目,其中实现了上述所有要求的 UI 操作。

      https://github.com/Sivateja0804/EbayAutomationUsingEclipse

      通过代码库链接

      【讨论】:

        猜你喜欢
        • 2014-08-03
        • 2011-06-14
        • 2010-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-28
        • 1970-01-01
        • 2021-04-04
        相关资源
        最近更新 更多