gpt4 book ai didi

appium - 如何为 Android 自动化设置 Appium 环境?

转载 作者:行者123 更新时间:2023-12-03 14:06:21 27 4
gpt4 key购买 nike

我在测试中担任 SD。我是 Appium 自动化工具的新手,这个工具对我来说设置环境非常棘手。

我引用了以下链接:http://unmesh.me/category/appium/

这个链接帮助我安装了Node.js和 appium 通过命令行。但我不确定这是正确的做法。

我从命令行收到以下消息:

mani-kandans-MacBook-Pro:platform-tools manikandan$ info: Welcome to Appium v0.8.2 (REV e9cc66197ad6a3496322bd77a8699509fc761b69)
info: Appium REST http interface listener started on 0.0.0.0:4723
info - socket.io started

在这之后我没有任何想法。如何编写测试用例并通过 Appium 运行?

如果您有兴趣分享您对 Appium 工具的了解。请指导我。
  • 如何安装 Appium?
  • 如何通过 Appium 工具运行测试用例?
  • 最佳答案

    第一部分:-。您似乎已经使用 node server.js 启动了 appium 服务器
    - 您可以前往 localhost:4723/wd/hub/status 查看服务器在您的浏览器中,这将返回服务器的一些详细信息。你已经这样做了。

    命令输出将如下所示,确认服务器已启动:

    info: Welcome to Appium v0.8.1 (REV ***********************************)
    info: Appium REST http interface listener started on 0.0.0.0:4723
    info - socket.io started

    第二部分:-。接下来,您将 selenium RC 用于 Python、Java 或 c# 或任何您选择的语言。我使用了 c# 并且可以提供示例,这应该与您的测试类似。

    要将 selenium 添加到 c# 类: using OpenQA.Selenium.Remote; 您将所有数据传递给 selenium 所需的功能对象。
    存在一些自定义所需的功能,例如:
  • 'app-package' 这是应用程序包的名称,例如 com.myapp.main,
  • 'app-activity' 这是要调用的应用程序主要事件,它也将启动应用程序。这通常是一个启动事件或主要事件,
  • 'wait-activity' 是 Appium 将在启动后检查的事件,这将是应用程序事件,但对我来说,如果对于某些测试,启动新事件而不是调用它是不同的,
  • 'version' 取安卓版本,
  • “设备 ID”将您连接的设备或 AVD 带到命令和应用程序,该命令和应用程序将具有您希望安装的 apk 的本地路径。这是在启动时签名并安装的,如果已经存在已退出的应用程序,它将为您跳过此步骤。
        DesiredCapabilities caps = new DesiredCapabilities();
    caps.SetCapability("app-package", "com.myapp.test");
    caps.SetCapability("browserName", "");
    caps.SetCapability("device", "Android");
    caps.SetCapability("app-activity", "com.myapp.SplashActivity");
    caps.SetCapability("takesScreenshot", true);
    caps.SetCapability("version", "4.1.2");
    caps.SetCapability("device ID", "uniquedeviceid");
    caps.SetCapability("app", @"C:\path to\app\on\pc\app.apk");

  • 在创建功能之后,您创建一个远程 Web 驱动程序对象,传递您使用的集线器 url,例如 http://localhost:4723/wd/hub以及您创建的所需功能。
    RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4723/wd/hub/"), caps);

    此行使用 Appium 服务器的 ip 或主机开始监听请求。
    对我来说,这一步标志着在连接的设备上安装和启动应用程序,希望这对你同样有效。
    这是您编写的 selenium 测试连接到 Appium 服务器的地方。

    现在使用创建的 driver对象,您可以访问 Appium 为 android 测试实现了许多替代方案的 selenium rc 命令。
    在这些过程中,您的 Appium 服务器控制台窗口应该会向您显示是否有任何问题。

    输出将采用颜色编码,以帮助识别此窗口中的故障,但您可以按照自己的方式处理这些故障,并在需要时输出到文件。

    多设备更新
    我不确定是否使用多个设备,我会考虑 selenium grid我之前尝试将 2 个设备添加到一台机器并进行测试时遇到了混淆,无论配置和命令中添加了设备 ID 为何,adb 都无法区分。
    Appium 团队一直在改进向服务器添加网格功能,我建议您查看 Appium Grid (链接已更新)

    对于我缺乏网格经验来进一步帮助您,我深表歉意。

    问候,布赖恩

    关于appium - 如何为 Android 自动化设置 Appium 环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17861998/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com