首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

APP 元素定位总结

背景 个人记录,团队分享使用,好记性不如烂笔头~ 定位工具 推荐使用顺序:weditor > uiautomatorviewer > Appium inspector 三种定位工具 Python uiautomator2...,需要重新启动(比如:钉钉每次都要重新登录);uiautomatorviewer和weditor不需要,可直接定位; uiautomatorviewer原生不支持 xPath 定位,可二次开发支持;Appium...Original error: Failed to launch Appium Settings app: Condition unmet after 5001 ms. Timing out.)...定位技巧 定位方式推荐顺序: 优先使用resourceId定位方式; 其次采用text、description、className、相对定位(uiautomator2支持)、组合定位等; 最后采用xPath...定位,结合text、description等缩短 xPath 长度; 无法识别的元素使用坐标定位方式(需要考虑不同分辨率,按照比例封装工具方法)。

97520
您找到你想要的搜索结果了吗?
是的
没有找到

安卓虚拟定位

前言   安卓虚拟定位技术已经出现很多年了,对于现在来说并不是什么新鲜技术,但是实际上我自己并没有使用过,因为暂时没有需求。...无Root虚拟定位   很多人(包括我自己)可能想当然的认为安卓上的虚拟定位必须依赖于Root权限,其实不然,在非Root的情况下也能实现一定程度上的虚拟定位,那就是借助开发者模式中的模拟位置功能。...-选择模拟位置信息应用中选择这个app,具体任何模拟位置则由app中的实现决定,我暂时没有亲自试过,可以知道的是,使用这种方法能够实现百度地图的虚拟定位,但是对于其他很多主流app是无法生效的,所以其实算是比较鸡肋...Root虚拟定位   在有Root的情况下,理论上虚拟定位能够对所有app生效。...参考这篇文章,我们可以知道很多相关的重要接口以及篡改思路,并且文末有个xposed插件,可以实现企业微信的虚拟定位

2.3K30

iOS 识别虚拟定位调研

前言 最近业务开发中,有遇到我们的项目 app 定位被篡改的情况,在 android 端表现的尤为明显。为了防止这种黑产使用虚拟定位薅羊毛,iOS 也不得不进行虚拟定位的规避。...在做技术调研后,发现在苹果手机上,单凭一部手机,真正要实现虚拟定位,是比较难实现的,但还是有存在的可能性,公司的一个项目 app 的 bugly 记录反馈用户存在使用越狱苹果手机,这就着实让人这种行为实在有大嫌...本人和公司伙伴的共同努力下,大致调研了以下使用虚拟定位的情况(使用 Xcode 虚拟定位的方式本文忽略): 第一种:使用越狱手机 一般 app 用户存在使用越狱苹果手机的情况,一般可以推断用户的行为存在薅羊毛的嫌疑...专业的逆向人员是绝对可以避免 app 开发者对 Cydia 的安装检测的,当然这种情况是 app 在市场上有很大的份量,被竞争对手拿来进行逆向分析,对这种情况,虚拟的识别基本毫无意义。...真实定位虚拟定位数据如下图: 真实定位 虚拟定位 仔细观察数据,不难发现,如果我们比对获取定位信息的高度,以及对经纬度的 double 位数也进行校验,虚拟定位的黑帽子就会轻易被破了。

2.1K10

Android 天气APP(二)获取定位信息

获取当前所在位置信息 ① 绑定控件 ② Android版本判断 ③ 权限申请 ④ 初始化LocationClient类 ⑤ 实现BDAbstractLocationListener接口 ⑥ 显示定位结果...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...//获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明 String addr = location.getAddrStr...在 permissionsRequest() 方法中得到权限后调用定位方法,定位得到数据后在监听器里返回详细地址。...点击 仅使用期间允许或者始终允许 之后就可以得到定位地址了。 ? 现在位置已经拿到了,接下来就是通过这个位置来查询当天的天气了。

1.5K40

App自动化测试|原生App元素定位方法(二)

uiautomator方法定位原生app元素appium在android端是调用其底层的UIAutomator2自动化测试框架去驱动自动化,在定位元素的时候,可以借助UIAutomator2的语法来实现定位...在代码实现上提供的API是find_element_by_android_uiautomator;利用android_uiautomator进行定位,语法必须属性值是双引号根据text定位find_element_by_android_uiautomator...().className("...")').click()根据contenet-desc定位:关键字description1 # 根据contenet-des定位:关键字description2 driver.find_element_by_android_uiautomator...('new UiSelector().description("...")').click()组合定位(类名和文本)newUiSelector().className("类名").text("值")其它组合定位方式类推...driver.find_element_by_android_uiautomator('new UiSelector().text("8").className("android.widget.Button")').click()根据元素关系定位子孙元素定位使用条件

56120

Android 天气APP(二)获取定位信息

> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...//获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明 String addr = location.getAddrStr...在 permissionsRequest() 方法中得到权限后调用定位方法,定位得到数据后在监听器里返回详细地址。...运行一下,请运行在自己的手机上,别使用虚拟机和模拟器(PS: 如果你运行报错了,请把你的错误信息贴出来,我好判断是什么问题) 点击 仅使用期间允许或者始终允许 之后就可以得到定位地址了。...如果你运行之后没有拿到地址,并且你已经打开了手机的定位开关和网络连接。那么此时你肯定是用模拟器或者虚拟机运行的,定位SDK中不适配模拟器和虚拟机,所以请使用真机运行。

1.8K30

黑科技分享之虚拟定位

虚拟定位这东西.原来薅羊毛用的比较多.自从上班之后,也是很久没有薅羊毛.因为女朋友的学校周末了还需要使用钉钉打卡签到.而我住的地方有距离学校很远....为了恩恩爱爱到永久.原本打算开模拟器虚拟定位的.但是由于还需要开电脑,对于懒癌玩家的我来说,不如让我死....所以选择了像朋友寻解决办法.朋友也是很给力.在发给我一份apk结尾的神秘文件之后就失联了.这里吐槽一下微信传app会在后面自己跟一个.1  促使无法直接安装. 这里我也是将爱屁屁存放在了百度云....之后再设置-系统-开发者选项-选择模拟位置信息应用选择刚才下载的App 然后打开爱屁屁搜索需要定位的地方.选择地点之后,点击左下角红色按钮.然后就可以想去哪就去哪了 ?...这里测试为QQ可用,钉钉可用.王者荣耀定位战区可用,其他待测.

1.4K10

是什么能让APP快速精准定位

导语 | 我们在使用APP时,是什么能让它快速精准定位我们的具体位置?答案就是geohash。那究竟什么是geohash呢?它的原理是什么?...一、日常生活中遇到哪些定位的场景 我们上下班经常会用APP打车和共享单车,下图应该都很熟悉,打开定位,查找我附近的车,那么,这个是怎么实现的呢? 我脑海中第一个实现方式是:实时上报经纬度。...那么,这些APP是怎么做到,既能精准定位,又能快速查找呢?答案就是geohash。 geohash通过算法将1个定位的经度和纬度2个数值,转换成1个hash字符串。...(一)找出一个位置的经纬度 我们可以用各种地图和定位工具,比如依靠Google地图,通过定位或者搜索一个地点,就容易找出经纬度。...所以,当2个定位的geohash前7位是一样的时,表示他们在附近1.2km的范围内。

1.3K20

Android&iOS App元素定位利器——Macaca Inspector

Macaca Inspector 简介 阿里开源的Macaca框架中的一个小工具,用于获取App元素信息,该工具比较稳定,响应速度较快 可以给出最简化的xpath信息以及元素xpath的绝对路径,可以支持...和iOS App元素的获取,由于Android 已经有UIautomatorViewer这个工具可以很方便的获取元素了,所以这里主要分享如何在Mac环境来获取iOS app元素。...最后点击 Product->Test 会在设备上安装一个XCTestUI的App。 ?...app-inspector 安装 将 TEAM_ID 通过环境变量传入覆盖安装App Inspector,注意修改TEAM_ID 为你个人真实的TEAM_ID DEVELOPMENT_TEAM_ID=TEAM_ID...npm install app-inspector -g 重新执行Product->Test,然后可以关闭xcode了 启动app-inspector 使用如下命令启动, app-inspector

1.9K30

App自动化测试|Appium元素定位工具

常用元素定位工具使用uiautomatorviewer定位工具元素定位主要用来获取元素信息,获取元素信息后才能用appium提供的相关API去识别和操作元素。...图片 使用步骤:1、首先在虚拟机或真机上打开要识别的app 2、在dos命令窗口输入uiautomatorviewer命令 3、然后点击Device Screenshot按钮连接手机图片图片图片最终效果如下图...:app界面内容展示在uiautomatorviewer工具窗口的左侧图片注:android8.1以后sdktools自带的uiautomatorviewer直接打开,截取不到机器界面信息Appium...如下图:图片跳出 Inspector界面图片在Inspector界面的Desired Capabilities中配置要识别元素信息app的appPackage和appActivity,点击”start...session”即可自动启动android虚拟机的app,并能在Inspector工具上显示app界面,如下图图片Appium Inspector定位工具界面介绍:1.Select Elements:根据元素定位

1.3K10

Appium之获取app信息及界面定位方法

一、获取APP的package(包名)和activity 在使用android自动化测试工具monkeyrunner和appium中启动应用时,需要填写被测程序的包名和启动的Activity,以下有几种查看应用包名...2.各种权限都开启,使用sdk/tools目录下hierarchyviewer.bat 工具可以获得(可以查看对应的app的activity) ?...uiautomatorviewer元素定位 ? UI定位界面 2.首先在模拟器或者真机上打开APP软件,进入主界面,然后点击uiautomatorviewer软件左上角的手机图标,如下图 ?...UI工具连接APP 得到的界面如下,选中元素即可看到元素的layout信息,比如下方的定位框即可以通过ID来定位,也可以通过Xpath来定位 ?...UI工具定位APP 三、appium自带的Inspector元素定位工具 Appium Inspector 是 appium 自带的一个元素定位工具。

3K20

涨姿势 | App定位和地图的那些坑

开发App时会遇到各种坑,本文分享我们在iOS/Android系统中定位和地图中遇到的坑,以及携程App的解决方案。...定位 定位即获取用户当前经纬度,iOS平台都是通过系统SDK接口获取的,因此所有App获取定位及精度的能力是相同的,即使Google Maps、百度地图、高德地图这种专业地图App也是如此;Android...平台由于Google Service被阉割,国内App通常是通过高德、百度等第三方SDK接口获取定位信息,因此在定位能力和精度上会有些差异。...1、坐标系问题 App定位遇到的第一个坑是坐标系问题。...如果使用高德或者百度iOS定位SDK中的接口,是可以直接获得火星偏移后的坐标的,由于App Size问题,携程App没有集成第三方SDK,而是通过近似偏移算法直接做偏移(自行Google『transform

6.1K60

数据虚拟视图定位与智能化实现

在数据编织的能力之上我们可以实现一种数据虚拟视图体系,通过数据虚化连接构建数据分析所需的个性化数据集;同时根据不同场景,利用物化存储、数据编排、内存计算、虚拟数据库等多种方式,智能化选择数据虚拟视图的实现...对于虚拟视图与数据仓库区别,首先,在于适配不同场景,虚拟视图是用来满足基于个性化数据集进行的个性化数据分析工作,数据仓库用于满足普适通用场景下,基于固化数据集的数据分析工作;其次,虚拟视图更多是以一个宽表形态的结果集呈现...04 模拟现实的虚拟数据库, 实现数据源的无感切换 虚拟视图需要被报表、BI、机器学习、隐私计算等分析工具调用,但虚拟视图并非实体数据库,即便虚拟视图进行物化,也是根据场景有不同策略。...与上层应用集成,将虚拟视图作为一个虚拟数据源,以数据库连接、API、SDK、插件等方式进行集成,使上层应用可以连接并读取虚拟视图数据集信息和具体数据。...本文通过对虚拟视图剖析,为低代码方式进行数据分析的创新建设,提供了一种新颖的解决方案思路,并给出虚拟视图支撑平台构建的关键要点,即利用智能化方式提高虚拟视图的性能,管理数据生命周期。

57020
领券