技术标签: 测试
元素定位主要介绍如何使用uiautiomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作。uiautiomatorviewer是android-sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。
一、启动uiautomatorviewer.bat
1.打开目录D:\androidsdk\android-sdk-windows\tools
2.双击启动,启动之后出现如下界面:
3.也可以使用命令行进行启动,cd到tools目录下,然后输入uiautomatorviewer.bat回车后启动服务。
二、连接手机
1.cmd打开输入adb devices,确认手记已连接
2.打开手机淘宝页面,让屏幕处于点亮状态
3.点击左上角的安卓机器人按钮Devices Screenshot按钮刷新页面
三、定位元素
1.移动鼠标到需要定位的元素上,如搜索输入框
2.右下角可以看到元素对应的属性
text:搭配新宠不能缺
resource-id:com.taobao.taobao:id/home_searchedit
class:android.widget.EditText
四、点搜索框
1.前面一篇启动app后休眠五秒,等待页面加载完成
2.通过id来定位到搜索框,然后点击
五、最终代码如下
# coding=utf-8
from appium import webdriver
import time
desired_caps = {
'platformName': 'Android',
'deviceName': '30d4e606',
'platformVersion': '5.0',
'appPackage': 'com.taobao.taobao',
'appActivity': 'com.taobao.tao.welcome.Welcome',
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
# 休眠五秒等待页面加载完成
time.sleep(5)
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()
六、元素定位
1.appium的webdriver提供了11种元素定位的方法,在selenium的基础上扩展了三个,可以在pycharm里面输入driver.find_element_by然后会自动匹配出来
2.多的三个:
driver.find_element_by_accessibility_id()
driver.find_element_by_android_uiautomator()
driver.find_element_by_ios_uiautomation()
(第三个是ios的专用的)
流---是指的一组有序的、有气垫和重点的字节集合,是对的护具传输的总称或者抽象。流采用缓冲区技术,当写一个数据时,系统将数据发送到缓冲区而不是外部设备(如硬盘),当读一个数据时,系统实际是从缓冲区读取数据的。流的存在:我们都知道输入流和输出流,二者的定义都是基于数据流向且是以内存为坐标的。标准输入过程中,数据从键盘等输入设备流向内存,这事输入流。标准输出过程中,数据从内存输出到显...
记录一个错误这一块第一次接触签名选V2的验证签名时的错误jarsigner -verbose -certs -verify app-release.apk改选V1后是这样的没看过多少学习的道路还很长,得看看书籍和教程再来改_1671465600
众所周知,MySQL 的用户群体很大,为了能够增强数据的实时性,很多解决方案会利用 binlog 将数据写入到 ClickHouse。为了能够监听 binlog 事件,我们需要用到类似 ...
随着微服务架构的发展普及,加上5G技术的演进和发展需求,5GC将云原生的微服务架构引入,构建了面向业务的SBA架构,实现了低耦合+高内聚的技术升级。
第 一 章 SAP Basis第一步许多人问到SAP Basis如何入门,基本上要学SAP Basis之前必须先有下列几项基本知识与经验,才可以事半功倍:1.多种操作系...
最近在unity仿真上做智能驾驶,车道线识别这块,网上找了很多教程,很多都行不通,要不就是不适用,总之各种问题,干脆自己写一个(参考了很多前人的经验),代码粘在最下面,备忘。不bb,先上图首先是原图然后是效果图unity截图unity效果截图一、整体思路:opencv:看起来复杂,其实套路都一样,就是调参的时候费劲。我是基于图片写的,视频的话需要拆成一...
本文不是讲解传统源码的阅读, 而是『别人的APK源码』该怎么阅读。项目背景此前,由于工作的原因,反编译竞品SDK,通过逆向的手段修复其源码并编译运行。前端之下,本无秘密。相对于前端源码,Android APK源码并不是那么容易获取。由于Android这样一个开发的系统和使用java编写应用使得源码的...
Android Studio升级3.5之后,会出现中文字体不一致的问题,原因是升级后,部分英文字体不包含中文字库,解决方法:如果没有显示Current editor font:xxx--defined in the color scheme,则直接修改Editor->Font->Fallback font中的字体即可,比如SimHei。如果显示了Current editor f...
ECMAScript是语法规范nodejs =ECMAScript + nodejsAPI,可完成服务端的任何操作js =ECMAScript + WebAPIcommon.js是nodejs的模块化规范使用方法a.js中写入function add(a, b) { return a + b;}module.exports = add;b.js中写入...
Java技术学习 https://www.itkc8.com查看原文:http://www.ibloger.net/article/154.htmlTreeMap排序根据Key进行排序Map的根据key排序需要用到TreeMap对象,因为它是默认按照升序进行输出的,可以使用比较器compareTo对它进行降序排序,Comparator可以对集合对象或者数组进行排序的比较器接口,实现...
大学的时候减肥,每天至少1500米吧,外加不怎么吃东西,坚持了两三个月吧,减掉35斤吧。 然后考研,每天6点差10分起床,接近凌晨1点睡觉坚持了8个月,暑假的时候上海刮台风,学校的树连根拔起来好几颗,水漫到和图书馆的台阶齐平,我穿拖鞋去图书馆看书,整个图书馆只有4个人,就是我所在的考研小团队~,呵呵,最后大家的成绩可以说是惊人的高了。 然后考CFA,准备时间不充分,考前
Chapter 1Virtual Memory. The size of the virtual address space varies for each hardware platform ... The mappings of the lower half change to(change是什么意思?从句意来看应该是:mappings变成(变化/改变...