当前位置: 首页 > news >正文

做西餐网站泰州网站建设哪家好

做西餐网站,泰州网站建设哪家好,平面设计师是干啥的,工业厂房设计简介 在前边的第二十二篇文章里#xff0c;已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置#xff0c;那么还有没有其他方法来获取控件点击事件所需要的点击位置呢#xff1f;答案是#xff1a;Yes#xff01;因为在不同的大小屏幕的手机上获取控件的坐…简介 在前边的第二十二篇文章里已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置那么还有没有其他方法来获取控件点击事件所需要的点击位置呢答案是Yes因为在不同的大小屏幕的手机上获取控件的坐标点不是一样的而是有变化的因此在不同的手机机型上我们可能都需要重新获取坐标点这么操作起来如果操作控件特别的多那么获取控件的坐标点就会显得特别的繁琐。因此我们可以通过获取控件的ID来避免获取控件坐标点的这种弊端。   通过控件ID实现自动化脚本的运行就性能而言会比控件坐标的实现差一些但是对于不同分辨率的设备都通用不需要动态变换坐标。控件ID的获取主要是通过HierarchyViewer。下面就HierarchyViewer从打开方式和使用两方面进行讲解。 HierarchyViewer的打开方式 HierarchyViewer的打开方式有两种一种是eclipse中打开HierarchyView视图另外一种是命令行中执行sdk/tools/hierarchyviewer.bat。   HierarchyViewer默认只能在非加密设备使用例如工程机工程平板或者模拟器。如果要在手机上使用HierarchyViewer你需要在你的应用中添加一个开源库View Server。链接地址https://github.com/romainguy/ViewServer。该篇文章中有讲解如何启动真机View Server大家如果有兴趣可参考https://dup2.org/node/1538。 方式一 连接您的真机设备或打开模拟器在eclipse中 依次选择Window-Open Perspective-Other在Other中选择HierarchyView视图即可打开。 方式二 连接您的真机设备或打开模拟器运行cmd窗口进入到sdk/tools目录下输入命令hierarchyviewer.bat运行hierarchyviewer。 或者直接在sdk/tools目录下找到hierarchyviewer.bat双击运行。 未开启夜神模拟器的HierarchyViewer如下图 开启夜神模拟器后的HierarchyViewer如下图 那么接下来看一下今天的重头戏讲解利用HierarchyViewer获取控件ID的方法。 HierarchyViewer获取控件ID HierarchyViewer启动后首先会看到的第一个窗口显示了设备和模拟器的列表。点击左边的箭头就会展开当前设备或模拟器的Activity对象列表。列表中显示了设备或模拟器上UI当前可视的所有Activity对象。这些对象按照它们的Android组件名称列出来。列表中的内容包含应用的Activity对象和系统的Activity对象。 当模拟器activity画面变更后点击refresh可以加载新的页面布局信息。 从列表中选择你的activity名称双击或点击菜单栏的Load View Hierarchy按钮进入View Hierarchy窗口查看它的view层次结构或者点击Inspect Screenshot按钮进入Pixel Perfect窗口从而查看UI的一个放大图像。我们这里点击进入View Hierarchy窗口。 可以从下图中看到模拟器此activity的画面布局信息左边部分是hierarchy通过树形结构展示的布局形式右下角是模拟器上当前页面的UI布局信息。 通过滚动鼠标可以放大每个树节点拖拽鼠标移动树形结构布局。双击树节点可以展示单独的UI部分。从下图中可以看到id/btn_login即为登录按钮的ID。依次类推可以查看其它控件ID。 注对于列表、或者弹出框则无法直接通过点击ID操作成功需要计算ID的坐标。 控件ID之Monkeyrunner脚本演示 同样的我们将下面一段Monkeyrunner脚本写到一个test.py文件中然后运行test.py文件查看模拟器上是不是做相应的操作。 1 # codingutf-82 # 1.先设置编码utf-8可支持中英文如上一般放在第一行3 4 # 2.注释包括记录创建时间创建人项目名称。5 6 Created on 2019-7-307 author: 潇潇说测试8 Project:学习和使用appium自动化测试-获取控件的ID9 10 # 3.导入模块 11 12 from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice 13 14 from com.android.monkeyrunner.easy import EasyMonkeyDevice #提供了根据ID进行访问 15 16 from com.android.monkeyrunner.easy import By #根据ID返回PyObject的方法 17 18 deviceMonkeyRunner.waitForConnection() 19 20 #启动activity这里启动qq 21 22 device.startActivity(componentcom.tencent.mobileqq/.activity.SplashActivity) 23 24 easy_deviceEasyMonkeyDevice(device) #必须在activity启动之后 25 26 #登录界面点击账号输入框 27 28 easy_device.touch(By.id(id/0x20e),MonkeyDevice.DOWN_AND_UP) 29 30 device.type(1918991791) #输入qq账号 至此获取控件ID的方式已经介绍完由于没有深入研究肯定有不少功能点没有介绍到有时间的话再做完善。 控件ID不存在或重复   我们在用monkeyrunner进行Android自动化时通过获取坐标点或控件ID进行一系列操作。由于使用坐标点时屏幕分辨率一旦更改则代码中用到坐标的地方都要修改这样导致代码的复用率较低。因此我们多采用控件ID操作注控件ID需要在模拟器中使用对于绝大多数真机不适用。但是某些控件的ID是不存在的或重复存在那么遇到这种情况我们怎样继续使用控件ID进行自动化测呢   例如下图中我想要获取最右侧红框中的id/tv但是大家会发现和它并列的也有重复的控件id值。现在我们就讲述一下这种情况控件ID不存在同样处理。 我们从这个控件树的节点角度来思考如何获得控件的引用。我们可以看到在上图hierarchy viewer中的每个控件所对应的框形中右下角都有一个数字。其实这个数字就是该控件在同级兄弟节点中的索引值我们知道这个索引值后就可以根据parentView.children[index]属性来获取任意父节点所对应的子节点的对象引用。其中的parentView可以是树形图中有效ID的任意父节点父节点要保证唯一有效然后利用python函数的可变参数列表特性来传入所需控件的索引列表即可构造出得到任意节点引用的字符串从而得到其引用。   核心代码如下把如下代码加入自己的python脚本中直接调用该函数即可。 1 # codingutf-82 # 1.先设置编码utf-8可支持中英文如上一般放在第一行3 4 # 2.注释包括记录创建时间创建人项目名称。5 6 Created on 2019-7-307 author: 潇潇说测试8 Project:学习和使用appium自动化测试-获取控件的ID9 10 # 3.导入模块 11 12 from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice 13 14 from com.android.monkeyrunner.easy import EasyMonkeyDevice #提供了根据ID进行访问 15 16 from com.android.monkeyrunner.easy import By #根据ID返回PyObject的方法 17 18 deviceMonkeyRunner.waitForConnection() 19 20 #启动activity这里启动qq 21 22 device.startActivity(componentcom.tencent.mobileqq/.activity.SplashActivity) 23 24 easy_deviceEasyMonkeyDevice(device) #必须在activity启动之后 25 26 #登录界面点击账号输入框 27 28 easy_device.touch(By.id(id/0x20e),MonkeyDevice.DOWN_AND_UP) 29 30 device.type(1918991791) #输入qq账号 有了以上代码之后我们可以获取上图中的id/tv方法如下 1 getChildView(id/province_list,5,0,0) 其中结合上图可知getChildView的第一个参数即有效且唯一的父节点 参数二、三依次为要获取的控件ID的父节点的父节点 注用到的父节点即图中的id/province_list有效且唯一的值。当前的父节点右下角的角标不需要在getChildView函数中显示。 这样通过以上函数再结合Hierarchyviewer图形我们获取到了重复的控件ID。 由于Hierarchyviewer看起来不是特别方便这里再推荐一款和Hierarchyviewer类似功能的工具uiautomatorviewer存储在sdk\tools中双击打开即可 由上图中uiautomatorviewer每个控件前面的数字即相当于Hierarchyviewer的角标我们同样可以获取到目标ID的最终有效且唯一的父节点从而调用函数getChildView(id/province_list,5,0,0) 获取到了不存在或重复的控件ID后我们可以通过其坐标进行点击操作。 首先定义一个“获取指定按钮坐标”的函数 1 def getBtnPoint(btn): 2 print btn 3 point device.getHierarchyViewer().getAbsoluteCenterOfView(btn); 4 return point 然后我们可以通过坐标实现点击操作例如 1 askView getChildView(id/tabs,1) 2 askPpoint getBtnPoint(askView) 3 device.touch(askPpoint.x,askPpoint.y,DOWN_AND_UP) 至此我们介绍完了处理控件ID不存在或重复时的方法有兴趣的小伙伴或者童鞋们可以自己动手实践一把就会更能体会Hierarchyviewer/uiautomatorviewergetChildView()获取不存在或重复控件ID的用法、乐趣及其奥秘。 小结 一、直接在sdktools下面找到hierarchyviewer.bat双击运行然后运行成功了。 但是出现这个提示 The standalone version of hieararchyviewer is deprecated. Please use Android Device Monitor (tools/monitor.bat) instead. 大概意思是说单独版本的 hieararchyviewer 已经被弃用了。请使用 Android Device Monitor来代替。Android Device Monitor在tools目录下面找到monitor.bat即可。 为了紧跟时代潮流就决定用Android Device Monitor启动即可。 具体操作启动步骤 1、运行命令monitor.bat如下图 2、运行命令后出现如下图的界面 3、点击“Window-Open Perspective”。如图 4、按第三步操作完以后出现如下图 5、选择“hieararchyviewer ”点击“OK”即可如下图 二、如何在真机上正常使用Hierarchy View Hierarchy Viewer如果不进行“特殊”配置的话是无法连接真机会报以下错误 [hierarchyviewer]Unable to get view server version from device XXXXX [hierarchyviewer]Unable to get view server protocol version from device XXXXXX [ViewServerDevice]Unable to debug device: XXXXX [hierarchyviewer]Missing forwarded port for XXXXX [hierarchyviewer]Unable to get the focused window from device XXXXX 无法连接真机的原因是To preserve security, Hierarchy Viewer can only connect to devices running a developer version of the Android system.出于安全性考虑 Hierarchy Viewe 只能连接开发版手机或模拟器。 Android源码实现这一限制的地方在/frameworks/base/services/core/java/com/android/server/wm/WindowManageService.java 检验一台手机/模拟器是否开启了View Server的办法是 adb shell service call window 3 若返回值是Result: Parcel(00000000 00000000 ........) 说明View Server处于关闭状态 若返回值是Result: Parcel(00000000 00000001 ........) 说明View Server处于开启状态 有时碰到模拟器或开发发版手机 view Hierarchy 还是无法连接可以先使用以上方法检查一下View Server状态。如果没有开启则使用以下命令打开View Server: adb shell service call window 1 i32 4939 也可以使用使用以下命令关闭View Server adb shell service call window 2 i32 4939 那么如何在真机能够正常使用Hierarchy Viewer了通过实践目前总结了以下三种方法 方法一。 1配置设备打开手机的开发者选项 如果你的手机是android 4。0 或者以下请根据开源项目 View  Serverhttps://github.com/romainguy/ViewServer 进行安装和配置 如果你的手机是4.1或以上则必须进行以下环境变量配置 1.点击 计算机属性-》高级系统设置-》环境变量 2.新建环境变量ANDROID_HVPROTO 并设置其值为 ddm, 保存重启 PS该方法参考android 官方文档《Device Setup for Hierachy Viewer》https://developer.android.com/studio/profile/hierarchy-viewer-setup.html 然而在本人亲自试用真机魅族MX4pro android 5.1 和 android 4.4的机顶盒测试过程中配置环境变量的方法似乎并没有起到作用还是连不上。 不过直接在调试app中集成View Server开源项目是没有任何问题的。 方法二 话说前面Hierarchy Viewer只能连接Android开发版手机或是模拟器只有ro.secure0 ro.debuggable1的Android系统这一句是其他网友的文章看到的没有在android 官方查证到 。ro.xxxx这种句式大家是不是觉得有点熟悉不就是android系统的 /system/build.prop文件中的配置样式么。推测如果将ro.secure0 ro.debuggable1这个两个配置添加进来应该能够起作用吧于是进行以下尝试 1.先把手机root 2.在进到在/system/build.prop 中添加ro.secure0  和 ro.debuggable1 保存配置并重启手机Hierarchy Viewer连接正常终于可以正常调试了。 方法三 参照《如何在Root的手机上开启ViewServer使得HierachyViewer能够连接》http://maider.blog.sohu.com/255448342.html。该方法本人没有实践过一看有18个步骤 还涉及到 android逆向、smail,瞬间脑仁发紧有兴趣的同学可以自行尝试一下。 三、好了关于控件ID的获取就分享到这里。 【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】 一、Python编程入门到精通 二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具 八、JMeter性能测试 九、总结尾部小惊喜 生命不息奋斗不止。每一份努力都不会被辜负只要坚持不懈终究会有回报。珍惜时间追求梦想。不忘初心砥砺前行。你的未来由你掌握 生命短暂时间宝贵我们无法预知未来会发生什么但我们可以掌握当下。珍惜每一天努力奋斗让自己变得更加强大和优秀。坚定信念执着追求成功终将属于你 只有不断地挑战自己才能不断地超越自己。坚持追求梦想勇敢前行你就会发现奋斗的过程是如此美好而值得。相信自己你一定可以做到
http://www.w-s-a.com/news/282750/

相关文章:

  • 哪个网站教做饭做的好wordpress热点文章
  • 可以做推广东西的网站重庆网站建设 重庆网站制作
  • 珠海网站建设培训学校wordpress去版权 合法
  • 建设食品商购网站学校网站设计实验报告
  • 建个网站多少钱沭阳奥体小区做网站的
  • 广州视频网站建站公司php网页设计作业代码
  • 成都公司网站设计如何制作网址最简单的方法
  • 温州 做网站福建住房城乡建设部网站
  • 网站自动化采集成都网站设计费用
  • 广东专业网站定制建设淘宝网站的人员组织结构
  • 网站改版seo无锡有多少家公司
  • h5美食制作网站模板下载wordpress大学百度云
  • 零陵做网站建立网站的公司平台
  • 某企业电子商务网站建设网站开发实验结论
  • 自己做的网站突然打不开杭州哪些做网站公司好
  • 株洲专业建设网站免费cms内容管理系统
  • 网上建立网站赚钱网站建设方案书纯文字
  • 专业网站设计哪家好it外包合同模板
  • 个人网站备案都需要什么中小企业服务网
  • 佛山网站建设哪个在公司网站投简历该怎么做
  • 八戒网站做推广老域名全部失效请拿笔记好
  • iss服务器网站建设甘肃建设厅网站执业注册中心
  • 域名访问网站 过程网站 免费 托管运营
  • 下单的网站建设教程wordpress php7.1
  • 爱网站查询怎么做网站的图片跳转
  • 阿里云建站百度收录吗北京的设计公司排名
  • 网站制作方案包含哪些内容布吉网站建设方案
  • 吉林省建设安全信息网站宜宾市建设工程质量监督站网站
  • 镇江网站建设远航网络帝国cms 网站地图 自定义
  • 金融网站模板源代码net网站是国际域名吗