Appium学习(3)——Appium Desktop

  我们知道,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

Appium学习(3)——Appium Desktop_第1张图片
图1 Appium-windows-1.13.0.exe

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

Appium学习(3)——Appium Desktop_第2张图片
图2 安装成功Appium-windows

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

Appium学习(3)——Appium Desktop_第3张图片
图3 简单模式

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

Appium学习(3)——Appium Desktop_第4张图片
图4 服务器日志

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

Appium学习(3)——Appium Desktop_第5张图片
图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

Appium学习(3)——Appium Desktop_第6张图片
图6 Desired Capabilities
Appium学习(3)——Appium Desktop_第7张图片
图7 保存的Desired Capabilities

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

Appium学习(3)——Appium Desktop_第8张图片
图8 启动会话

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

Appium学习(3)——Appium Desktop_第9张图片
图9 点击元素
Appium学习(3)——Appium Desktop_第10张图片
图10 发送密钥

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

#Back返回——call driver.back

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

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

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

Appium学习(3)——Appium Desktop_第11张图片
图11 Inspector工具栏

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

Appium学习(3)——Appium Desktop_第12张图片
图12 Recorder

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

Appium学习(3)——Appium Desktop_第13张图片
图13 Python代码

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

Appium学习(3)——Appium Desktop_第14张图片
图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,然后退出:

Appium学习(3)——Appium Desktop_第15张图片
图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_第16张图片

你可能感兴趣的:(Appium学习(3)——Appium Desktop)