我们知道,Appium 测试中有个很重要的组件是 Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然后将不同编程语言比如Python编写的 Appium测试脚本进行解析,最后驱动移动设备来运行测试。但是,2015 年12月8日,Windows版本发布了AppiumForWindows_1_4_16_1.zip,之后Appium-Server没有更新了。所以,新的工具 Appium Desktop出现了, 它来继续 Appium Server的使命,进行Appium 测试。当然,你可以卸载之前安装的 Appium Server了。
Appium Desktop是一款适用于Mac,Windows和Linux的应用程序,它以美观,灵活的UI为您提供Appium自动化服务器的强大功能。此应用程序提供了下载和运行Appium自动化服务器的便捷方式,以及用于检查Android或iOS应用程序的工具。
图1 Appium-windows-1.13.0.exe
图2 安装成功Appium-windows1、下载成功之后,双击exe文件安装Appium-windows,安装成功之后出现以下界面:
图3 简单模式2、双击图标,启动简单模式:
图4 服务器日志3、点击上面的启动按钮,它将在你指定的主机和端口上启动服务器,并打开一个显示服务器日志输出的新窗口:
图5 新建会话窗口4、新建会话窗口,它允许你构建一组用于启动Appium会话的Appium所需功能。你可以针对当前运行的Appium Desktop服务器启动会话(默认设置),也可以针对各种其他端点启动会话,自定义服务器:
图6 Desired Capabilities5、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
图7 保存的Desired Capabilities
图8 启动会话6、启动会话,打开Inspector,前提是你得先启动你的设备(真机或者模拟器):
图9 点击元素官网介绍备注:启动Appium会话可能需要一些时间来加载,特别是在云服务上,所以请耐心等待。会话加载后,您应用的屏幕截图将显示在左侧。您可以将鼠标悬停在应用程序中的各种UI元素上,并突出显示它们。在Inspector窗口的中间是您的应用程序的层次结构,表示为XML。您可以通过单击它或单击屏幕截图视图中的元素来导航此树,然后会突出显示它们。当元素突出显示时,其信息将显示在Inspector右侧的详细视图中。此详细视图包含对元素采取的潜在操作以及元素属性的表,这些属性在确定如何使用特定的Appium定位器策略访问元素时非常有用。选择元素后,您还可以【点击】元素,或者【Send keys】到元素(如果它是文本字段)。当您对元素执行此类操作时,Inspector会将命令发送到Appium,后者将执行它。如果操作成功,将生成新的屏幕截图,您应该会看到应用程序的更新状态和XML。如果不成功,您将有机会看到错误消息:
图10 发送密钥
图11 Inspector工具栏7、Inspector窗口的顶部包含一个小工具栏,其中的图标表示能够在Inspector中执行某些操作,比如:
#Back返回——call driver.back
#Refresh刷新——刷新源码和屏幕截图
#Recorder开始录制——打开录像机
#Quit退出会话——调用driver.quit并关闭Inspector
图12 Recorder8、Recorder是Appium Desktop带的一个非常基本的动作录制器,可以监视使用Appium Desktop执行的操作,并显示代表这些操作的特定于语言和框架的代码,然后可以将代码复制并粘贴到相应的Appium客户端代码中并用于测试。不过,Recorder的目标不是生成生产就绪的测试代码,它只是一个帮助探索Appium API的工具,并演示某些自动化行为如何与特定语言和Appium库中的方法调用相对应。Recorder开启时,Inspector将显示另一个窗口:
一开始,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。玩得开心!
网友评论