Appium学习-关于Inspector

背景

既然开始折腾IOS了,那么第一步是把Demo跑起来看效果,《Appium学习-初窥》文中已经把官方的Demo跑起来了。现在要接下来做其他的事

Inspector问题

Inspector是Appium客户端给的一个工具,用来探测IOS的元素布局。当然Android也是可以用的,不过Android一般使用uiautomatorviewer。

不过我在使用的时候遇到了这么一个问题:

Could not start a new session

Be sure the Appium server is running with an application opened by using the “App Path” parameter in Appium.app (along with package and activity for Android) or by connecting with selenium client and supplying this in the desired capabilities object.

挺奇怪的,我的Appium是最新版的,Xcode是最新的,包括模拟器也都是最新的,为什么会报这个奇怪的错。看这个报错的意思,是因为我没有在App Path上配置我的App,但是我已经做了相关配置,而且在跑Demo的时候也没有遇到这样的问题。

解决方案

有问题当然是找万能的Google。不过在搜的过程中,虽然有很多人遇到类似的问题,不过基本上都是端口没有配置对。基本上找不到可以解决问题的方案。

最后没办法,只能自己硬着头皮去看日志了。日志很长,我就不全部贴了,贴一个关键的地方。

[MJSONWP] Calling AppiumDriver.createSession() with args: [{“platformName”:”iOS”,”platformVersion”:”8.4”,”app”:”/Users/SvenWeng/Library/Developer/Xcode/DerivedData/HLSC_iOS-bdhwxwdycvlcikacthovhpujxicb/Bui…

[Appium] Creating new IosDriver session

[Appium] Capabilities:

[Appium] platformName: ‘iOS’

[Appium] platformVersion: ‘8.4’

[Appium] app: ‘/Users/SvenWeng/Library/Developer/Xcode/DerivedData/HLSC_iOS-bdhwxwdycvlcikacthovhpujxicb/Build/Products/Debug-iphonesimulator/HLSC_iOS.app’

[Appium] automationName: ‘Appium’

[Appium] deviceName: ‘iPhone 5s’

[Appium] showIOSLog: true

[debug] [iOS] Not auto-detecting udid.

[BaseDriver] Using local app ‘/Users/SvenWeng/Library/Developer/Xcode/DerivedData/HLSC_iOS-bdhwxwdycvlcikacthovhpujxicb/Build/Products/Debug-iphonesimulator/HLSC_iOS.app’

[debug] [Instruments] Available devices: Apple TV 1080p (9.2) [44F8DE38-FF72-45B7-9ACA-3F672B6379F1] (Simulator),iPad 2 (9.3) [816AE53B-02BA-4DE2-9BB3-55DDAF2783B1] (Simulator),iPad Air (9.3) [CD83EDC1-16EE-46A0-BC05-2AF844F9021D] (Simulator),iPad Air 2 (9.3) [F830CC23-169D-4785-9867-EFE168E91FCD] (Simulator),iPad Pro (9.3) [1376C2E1-A56F-4E43-AF59-A4EEB981DC63] (Simulator),iPad Retina (9.3) [926EEE63-64C6-4C82-ADE4-E0A3E6E87D0D] (Simulator),iPhone 4s (9.3) [0A818680-510E-4971-A61C-6959AA8257C1] (Simulator),iPhone 5 (9.3) [663A8C62-2E93-438F-970C-FFB4BF7D549B] (Simulator),iPhone 5s (9.3) [39D1C620-D85C-4DC7-9F52-6E765A5CD764] (Simulator),iPhone 6 (9.3) [AF7A72E9-E886-438E-80D7-BAF53AEDFFD5] (Simulator),iPhone 6 Plus (9.3) [E23435AA-1E56-4503-A3D8-C8E313412EB7] (Simulator),iPhone 6s (9.3) [0DFB756B-A5A0-48AE-BB02-6A5BAF32BA89] (Simulator),iPhone 6s (9.3) + Apple Watch - 38mm (2.2) [8F013A8C-94B3-4A86-8573-FDE9D36A1DEC] (Simulator),iPhone 6s Plus (9.3) [126374FA-1277-4CCE-9AA0-3255E9D5C378] (Simulator),iPhone 6s Plus (9.3) + Apple Watch - 42mm (2.2) [DA74EE00-66F5-41F8-B659-995D49354E8F] (Simulator)

[iOS] Error: Could not find a device to launch. You requested ‘iPhone 5s (8.4)’, but the available devices were: [“Apple TV 1080p (9.2) [44F8DE38-FF72-45B7-9ACA-3F672B6379F1] (Simulator)”,”iPad 2 (9.3) [816AE53B-02BA-4DE2-9BB3-55DDAF2783B1] (Simulator)”,”iPad Air (9.3) [CD83EDC1-16EE-46A0-BC05-2AF844F9021D] (Simulator)”,”iPad Air 2 (9.3) [F830CC23-169D-4785-9867-EFE168E91FCD] (Simulator)”,”iPad Pro (9.3) [1376C2E1-A56F-4E43-AF59-A4EEB981DC63] (Simulator)”,”iPad Retina (9.3) [926EEE63-64C6-4C82-ADE4-E0A3E6E87D0D] (Simulator)”,”iPhone 4s (9.3) [0A818680-510E-4971-A61C-6959AA8257C1] (Simulator)”,”iPhone 5 (9.3) [663A8C62-2E93-438F-970C-FFB4BF7D549B] (Simulator)”,”iPhone 5s (9.3) [39D1C620-D85C-4DC7-9F52-6E765A5CD764] (Simulator)”,”iPhone 6 (9.3) [AF7A72E9-E886-438E-80D7-BAF53AEDFFD5] (Simulator)”,”iPhone 6 Plus (9.3) [E23435AA-1E56-4503-A3D8-C8E313412EB7] (Simulator)”,”iPhone 6s (9.3) [0DFB756B-A5A0-48AE-BB02-6A5BAF32BA89] (Simulator)”,”iPhone 6s (9.3) + Apple Watch - 38mm (2.2) [8F013A8C-94B3-4A86-8573-FDE9D36A1DEC] (Simulator)”,”iPhone 6s Plus (9.3) [126374FA-1277-4CCE-9AA0-3255E9D5C378] (Simulator)”,”iPhone 6s Plus (9.3) + Apple Watch - 42mm (2.2) [DA74EE00-66F5-41F8-B659-995D49354E8F] (Simulator)”]

自己看日志来解决问题是最好的了。以上日志能很清楚的说明问题。

第一段说明了启动Inspector的配置,其中的关键就是版本给的是8.4.

第二段日志说明了没有指定udid,也就是说我们用的是模拟器来测试,给了一段模拟器app的地址

第三段日志列出了我的mac上所有的可用的模拟器。

第四段给了一个报错。找不到对应的设备启动,设备信息在第一段指定的,版本号是8.4的iphone5s模拟器,但是我的设备只有9.3版本。

看到这里,基本上问题就明朗了。版本不对导致的问题。Appium客户端的Inspector最高只支持8.4的版本。那么只要去Xcode下载8.4版本模拟器就行了。成功的效果图如下:

最后

总结一下,遇到问题还是先看日志比较靠谱,虽然日志看起来东西很多,很繁琐,但是往往能帮助你解决问题的地方,还是这些日志。

时间: 2024-08-06 13:43:23

Appium学习-关于Inspector的相关文章

Appium学习实践(四)结构优化

随着我们测试脚本中的用例越来越多,我们不可能将所有的用例都放在同一个脚本中,所以我们需要优化我们的结构.将脚本放在一个文件夹中,再通过别的脚本来执行脚本.这样,我们也可以有选择性的执行我们的脚本 先来看一下现在的目录结构 测试脚本统一放到了test_case文件夹中,注意这个文件夹中要添加一个__init__.py的文件,只要是这个名字就行了,内容为空 因为我们要导入这个文件夹中的module,所以我们先构建一个package,而package必须包含一个__init__.py文件 然后来看下我

Appium 三种wait方法(appium 学习之改造轮子)

前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:http://www.cnblogs.com/tobecrazy/p/4579631.html appium实现截图和清空EditText:  http://www.cnblogs.com/tobecrazy/p/4592405.html 学过selenium的都知道,一般等待元素加载有三种办法: sle

Appium学习路—Android定位元素与操作

一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Inspector:Appium自带的一个功能,只有mac下可以使用该功能 下面是用monitor抓取到的页面元素 下面使用Appium Inspector定位的元素 二.元素定位   1.格式:find_element_by_定位方式(value) 通过id定位 (取resource-id的值): dr

appium学习路-安装篇

比较好的文章:http://www.15yan.com/story/4GbuTwXQKDU/ 官网资料:http://appium.io/slate/cn/v1.2.0/?python#appium 官方文档中文版:https://github.com/appium/appium/tree/master/docs/cn appium界面安装包下载地址.client下载地址:https://testerhome.com/topics/680 1.下载java.Android.xcode,配置JAV

Appium学习笔记(一)--安装与配置

移动自动化测试常用工具有两个:Appium和Robotium.正好最近自己开始负责客户端的工作,初来乍到需要熟悉下环境,正好学习新的东西. 移动自动化相对web来说,原理与操作过程是一样的,通过自动化测试框架实现测试.略有不同的是,移动需要一点Android与iOS基础,难度大一点. Appium官方网站:http://appium.io/ 首先去下载安装包,安装好.官网doc和git里都有教程,大致流程是 安装node.js. https://nodejs.org/. 安装完成,打开Windo

Appium学习笔记4_元素定位方法

Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html. 下面主要是针对自己的了解和学习,简单的总结下关于Appium native APP上的一些元素定位方法的使用以及通过UI Automator Viewer定位页面以后,如果从上面定位到你想使用的元素. 已淘宝为例,来进行元素的定位.打开UI Automator Viewer Appium和Webdriver有一点区

Appium学习路—脚本篇(启动app)

启动之前的准备 1.脚本执行前,需要先启动appium的server端, 启动server方法: 打开appium客户端,点击右上角的Launch 2.iOS的测试只能在mac本上做 一.Android启动app python启动脚本如下:   from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '4.4'

appium 学习和环境搭建

官方网站: http://appium.io/ Npm安装: npm install -g appium appium-doctor Appium app 下载 https://bitbucket.org/appium/appium.app/downloads/ 1.安装java 和 android 环境,并且配置环境变量.可以网上搜索教程或者参考以下另一篇文章(跳过Cordova方面的内容即可) # 我的Java + android + Cordova 环境搭建http://www.cnblo

appium 学习各种小功能总结--功能有《滑动图片、保存截图、验证元素是否存在、》---新手总结(大牛勿喷,新手互相交流)

1.首页滑动图片点击 1 /** 2 * This Method for swipe Left 3 * 大距离滑动 width/6 除数越大向左滑动距离也越大. 4 * width:720 5 *height:1280 6 * @author Young 7 * @param driver2 8 * @param during 9 */ 10 public void swipeToLeft2(AndroidDriver driver2, int during) { 11 int width =