美文网首页
Appium学习(3)——Appium Desktop

Appium学习(3)——Appium Desktop

作者: 静静地就好 | 来源:发表于2019-07-23 00:03 被阅读0次

      我们知道,Appium 测试中有个很重要的组件是 Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然后将不同编程语言比如Python编写的 Appium测试脚本进行解析,最后驱动移动设备来运行测试。但是,2015 年12月8日,Windows版本发布了AppiumForWindows_1_4_16_1.zip,之后Appium-Server没有更新了。所以,新的工具 Appium Desktop出现了, 它来继续 Appium Server的使命,进行Appium 测试。当然,你可以卸载之前安装的 Appium Server了。

      项目介绍:https://github.com/appium/appium-desktop

      Appium Desktop是一款适用于Mac,Windows和Linux的应用程序,它以美观,灵活的UI为您提供Appium自动化服务器的强大功能。此应用程序提供了下载和运行Appium自动化服务器的便捷方式,以及用于检查Android或iOS应用程序的工具。

    下载地址:https://github.com/appium/appium-desktop/releases

    图1 Appium-windows-1.13.0.exe

    1、下载成功之后,双击exe文件安装Appium-windows,安装成功之后出现以下界面:

    图2 安装成功Appium-windows

    2、双击图标,启动简单模式:

    图3 简单模式

    3、点击上面的启动按钮,它将在你指定的主机和端口上启动服务器,并打开一个显示服务器日志输出的新窗口:

    图4 服务器日志

    4、新建会话窗口,它允许你构建一组用于启动Appium会话的Appium所需功能。你可以针对当前运行的Appium Desktop服务器启动会话(默认设置),也可以针对各种其他端点启动会话,自定义服务器:

    图5 新建会话窗口

    5、Desired Capabilities,配置Appium会话的方式,它告诉Appium服务器你想要自动化哪种平台和应用程序。单击【另存为】按钮可为你的Desired Capabilities设置一个名称,进行保存。然后,你可以在【已保存的Desired Capabilities】选项卡下访问它,以便以后进行编辑或会话启动。单击【启动会话】可以启动Appium Desktop Inspector,Inspector可以直观地显示应用程序的状态,以及通过Appium在应用程序中执行某些交互的能力:

    参考文档:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

    图6 Desired Capabilities
    图7 保存的Desired Capabilities

    6、启动会话,打开Inspector,前提是你得先启动你的设备(真机或者模拟器):

    图8 启动会话

    官网介绍备注:启动Appium会话可能需要一些时间来加载,特别是在云服务上,所以请耐心等待。会话加载后,您应用的屏幕截图将显示在左侧。您可以将鼠标悬停在应用程序中的各种UI元素上,并突出显示它们。在Inspector窗口的中间是您的应用程序的层次结构,表示为XML。您可以通过单击它或单击屏幕截图视图中的元素来导航此树,然后会突出显示它们。当元素突出显示时,其信息将显示在Inspector右侧的详细视图中。此详细视图包含对元素采取的潜在操作以及元素属性的表,这些属性在确定如何使用特定的Appium定位器策略访问元素时非常有用。选择元素后,您还可以【点击】元素,或者【Send keys】到元素(如果它是文本字段)。当您对元素执行此类操作时,Inspector会将命令发送到Appium,后者将执行它。如果操作成功,将生成新的屏幕截图,您应该会看到应用程序的更新状态和XML。如果不成功,您将有机会看到错误消息:

    图9 点击元素
    图10 发送密钥

    7、Inspector窗口的顶部包含一个小工具栏,其中的图标表示能够在Inspector中执行某些操作,比如:

    #Back返回——call driver.back

    #Refresh刷新——刷新源码和屏幕截图

    #Recorder开始录制——打开录像机

    #Quit退出会话——调用driver.quit并关闭Inspector

    图11 Inspector工具栏

    8、Recorder是Appium Desktop带的一个非常基本的动作录制器,可以监视使用Appium Desktop执行的操作,并显示代表这些操作的特定于语言和框架的代码,然后可以将代码复制并粘贴到相应的Appium客户端代码中并用于测试。不过,Recorder的目标不是生成生产就绪的测试代码,它只是一个帮助探索Appium API的工具,并演示某些自动化行为如何与特定语言和Appium库中的方法调用相对应。Recorder开启时,Inspector将显示另一个窗口:

    图12 Recorder

      一开始,Recorder将不显示任何代码。我们必须采取一些操作比如【1+1=】,例如可以在应用程序中点击各种UI元素,或者在层次结构中,查找元素并【点击】它,或向其【发送keys】。执行【1+1=】操作时,代码将显示在Recorder窗口中,你可以在Recorder右上角的下拉菜单中选择特定的语言和框架:

    图13 Python代码

      而且,Recorder也提供样本代码,点击以下按钮就可以显示:

    图14 样本代码

      我们可以选择右上角的【复制】,然后可以将代码粘贴到Python文件中调试并运行它:

    # This sample code uses the Appium python client

    # pip install Appium-Python-Client

    # Then you can paste this into a file and simply run with Python

    from appium import webdriver

    caps = {}

    caps["platformName"] = "Android"

    caps["platformVersion"] = "6.0"

    caps["deviceName"] = "Android6.0"

    caps["appPackage"] = "com.android.calculator2"

    caps["appActivity"] = "Calculator"

    driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)

    el1 = driver.find_element_by_id("com.android.calculator2:id/digit_1")

    el1.click()

    el2 = driver.find_element_by_accessibility_id("plus")

    el2.click()

    el3 = driver.find_element_by_id("com.android.calculator2:id/digit_1")

    el3.click()

    el4 = driver.find_element_by_accessibility_id("equals")

    el4.click()

    driver.quit()

       最终我们可以看到,模拟器点击了1+1=2,然后退出:

    图15 运行结果

    9、官方结论:This is everything you need to know to use Appium Desktop successfully!Remember, Appium Desktop is not a replacement for understanding Appiumitself---it is simply a convenient tool for working with Appium on yourdesktop, and an Inspector for exploring your app. Have fun!

    意思就是:这是你成功使用Appium Desktop所需了解的一切!请记住,Appium Desktop不是了解Appium本身的替代品 - 它只是在桌面上使用Appium的便捷工具,也是用于探索应用程序的Inspector。玩得开心!

    相关文章

      网友评论

          本文标题:Appium学习(3)——Appium Desktop

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