元素定位方式 

第一种:通过Appium1.6的Inspector来查看

具体安装方式前面的随笔已经介绍了:http://www.cnblogs.com/meitian/p/7360017.html
可以通过定位找到元素xpath或name
 
个人不推荐用这个方法,实际操作中发现,每次操作后点击刷新比较慢,而且有时左侧布局文件更新不及时,导致点击左侧屏幕的控件找不到元素,有时App Source根本就没更新
 

第二种:通过macaca的App inspector来定位元素

1.安装macaca-li
$ npm install macaca-cli -g
 
2.检查macaca环境
$ macaca doctor
只要打印出的结果都绿色的日志信息,就表示环境是好的
 
3.安装app-inspector
$ npm install app-inspector -g
 
4.使用方法
通过下面命令启动检测web界面,然后就在Safari中自动打开了【http://本地IP:5678】进行检测
$ app-inspector -u YOUR-DEVICE-ID(设备id)
 

iOS获得设备id的方法:

真机的获取方法:idevice_id -l
$ xcrun simctl list
获得下面的数据:
第一个括号内的就是手机的device id,第二个括号内是模拟器的状态
 
结果如下,也可以获得元素的name和xpath
 
说明:我目前使用第二种方式,1是直接刷新页面速度比appium中快点;2是没有很大延迟,刷新后点击元素图标一般都能找到元素
(使用时还遇到过一个问题,web打开时手机界面底部没展示全,通过键盘command和-号组合缩小页面,展示了全部内容)
 
遇到的问题:app-inspector我这用的模拟器,用真机的情况下一直报错。模拟器没问题
Error: connect ECONNREFUSED 127.0.0.1:8001
      at Object.exports._errnoException (util.js:1024:11)
      at exports._exceptionWithHostPort (util.js:1047:20)
      at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1150:14)

解决方法:
cd /usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD
open XCTestWD.xcodeproj
修改XCTestWD和XCTestWDUITests,修改bundle id,签名然后编译通过即可。(参考webdriveragent的更改方法,操作一致)

iOS操作元素

通过上面的方法能够获得元素的xpath和name(或accessibility id),然后对应到Appium中的命令如下:
accessibility id或name:
driver.find_element_by_name(“name或accessibility id")
driver.find_element(By.NAME,“name或accessibility id")
 
xpath:
driver.find_element_by_xpath(“xpath地址")
driver.find_element(By.XPATH,“xpath地址")
 
 
 

Appium1.6 定位iOS元素和操作元素的更多相关文章

  1. java-selenium定位元素和操作元素

    八种定位方式 一.By.id(id):通过ID 属性查找 HTML 源码 <a onclick="return false;" id="lb" name= ...

  2. 11月8日上午Jquery的基础语法、选取元素、操作元素、加事件、挂事件及移除事件

    jquery基础知识 1.jquery文件的引入,所有的js代码要写在下面那段代码下面. <script src="../jquery-1.11.2.min.js">& ...

  3. javascript根据元素自定义属性获取元素,操作元素

    写在前面:给某个或多个元素自定义属性data-tar,想获取data-tar='123'的元素来进行进一步的操作,如何实现? function getElementByAttr(tag,attr,va ...

  4. Javascript入门(二)变量、获取元素、操作元素

    一.变量 Javascript 有五种基本数据类型 number.String.boolean.undefined.null 一种复合类型:object 二.使用getElementById方法获取元 ...

  5. jquery的基础语法、选取元素、操作元素、加事件、挂事件及移除事件

    jquery基础知识 1.jquery文件的引入,所有的js代码要写在下面那段代码下面. <script src="../jquery-1.11.2.min.js">& ...

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

    一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...

  7. 如何借助浏览器Console使用Js进行定位和操作元素

    在进行Selenium自动化过程中,我们很难避免一些webdriver 很难定位到的一些元素(如:默认隐藏属性元素),那对于一些比较难定位到的元素,有什么好的解决办法?     其实我们都知道,Sel ...

  8. Appium Android定位元素与操作

    文章写得很好,转载备用 一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录 ...

  9. Android定位元素与操作

    一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Ins ...

随机推荐

  1. Object-c基本语法

    // //  main.m //  OCbasic1 // //  Created by apple on 14-8-5. //  Copyright (c) 2014年 苹果IOS软件开发者. Al ...

  2. Flex学习笔记,脚本式验证

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  3. 1. Java 基 础 部 分

    java" 源 文 件 中 是 否 可 以 包 括 多 个 类 ( 不 是 内 部 类 ) ? 有 什 么 限 制 ? 可以有多个类,但只能有一个 public 的类,并且 public 的 ...

  4. electron 项目的搭建方式,借助 node 和 npm

    1,首先确定安装了 node 和 npm 2,创建一个文件夹,如 aa 3,CMD 命令进入到 aa,用 npm 命令初始化一个项目 4, npm -init 根据提示完成配置 5,安装 electr ...

  5. day44-pymysql模块的使用

    pymysql模块的使用 本节重点: pymysql的下载和使用 execute()之sql注入 增.删.改:conn.commit() 查:fetchone.fetchmany.fetchall 一 ...

  6. Tomcat 7集群基于redis的session共享设置

    经过测试之后,发现是tomcat中redis相关jar包问题,替换jar包后A产品运行正常. tomcat/lib目录下将commons-pool2-2.1.jar.jedis-2.1.0.jar.t ...

  7. hiberate 配置相关

    <hibernate-configuration> <session-factory name="mySessionFactory"> <proper ...

  8. vue项目分辨率

    vue项目分辨率写在这里:

  9. [Apache]网站页面静态化与Apache调优(图)

    ---------------------------------------------------------------------------------------------------- ...

  10. 【转】Classful IPv4 addressing definition

    Classful addressing definition Class Leadingbits Size of networknumber bit field Size of restbit fie ...