本文将以一个实际例子讲解如何使用该款工具运用在Android的开发过程中。 1 设计界面 在我们的这个例子中,有三个不同的界面,以方便我们演示使用Hierarchy Viewer。...在启动后,可以看到如下的界面,会显示当前正在运行中的模拟器的信息,这里我们可以鼠标点击我们已经启动了的Activity: 同时可以看到,有两个按钮,分别代表两个功能: 1) Load View Hierarchy...按钮,进入界面精确查看模式。...5 Load View Hierarchy (界面控件层次查看) 接下来,我们重点学习如何在Load View Hierachy中,查看界面中各个控件的层次结构关系。...这个功能对于UI组件是自定义的非常有用,可以帮助单独观察相关界面显示逻辑是否正确。 小结 本文中,通过简单的例子,讲解了在Android中一款不错的工具Hierarchy viewer的使用。
Airtest Project提供了一个自动化测试编辑器Airtest IDE,Airtest IDE使用了基于图像识别的UI自动化测试框架—Airtest来进行控件定位;它同时集成了POCO框架,POCO...再次退后到小程序列表也,回放下录制的代码,待执行完后点击如下的按钮查看测试报告: ? 测试报告长这样的: ? 控件定位方式: 上面介绍了按图像的定位方式,接着来介绍下按控件来定位的方式。...那通过IDE如何使用基于控件的定位方式呢? 点击Script Editor下的添加按钮,再创建一个脚本文件。...同样假定操作的入口是在小程序的列表里,录制上面的三个步骤,录制的时候有时候定位方式不是很准确,可以通过点击上图中间的Poco Inspector按钮,接着在Device Screen区域要查看控件信息的地方鼠标右键...,添加如下: 那这种方式如何添加校验点了,添加如下: # -*- encoding=utf8 -*- __author__ = "aaronyang" from poco.drivers.android.uiautomation
有win10系统用户在使用的时候,发现键盘被锁住了,导致无法使用,经过分析可能是不小心按到了键盘上的锁住键 锁定键盘的快捷键 笔记本电脑:Fn+Numlock 键 第一种方法: 1、外接键盘,是否按过...3、再找到“F8”键,因为这个键的第二种功能就是“Numlock”键的功能,同时按下“Fn”和“Numlock”键,就完成了对键盘数字键的解锁。...也可以开机按F8键进入安全模式测试它们是否可以正常使用。 方法2: 查看是否对shift按键进行了设置。...例如,可以查看是否启用了粘滞键,请您连续点击5次shift按键,这个操作可以取消粘滞键功能(粘滞键功能可能会引起键盘无法使用)。...方法3: 点击开始菜单,再点控制面板,轻松访问中心,点击下面的键盘图标,再点“设置筛选键”,查看“启用筛选键”前面是否有勾,如果有,那就把勾去掉,最后点“确定”后退出试试。
然而常见的UI测试多是以手动方式去执行,然后去验证程序是否达到的预期的效果,很显然这种方法耗时、繁琐并且很容易出错。...3、不可用区域: 右上方的整个区域中的第二个按钮Toggle NAF Nodes,按下后出现的黄色区域代表,这些控件是不被Uiautomator工具识别,无法获取到这些控件的实例。...我们可以看到,当按下该按钮的时候,下方的三个tab出现黄色区域,这就代表这三个区域的控件,如果你想通过Uiautomator提供的API来获得他们的属性,或者对其进行点击操作,是做不到的,因为你没办法拿到这些控件的实例...首先我们需要思考,在我们的编码中是否有一些公共的方法可以提取出来做为一个单独的函数呢?...相信很多亲手写过Uiautomator脚本的朋友都知道,在两个操作直接加如sleep,没错,这是解决方案,那么究竟应该slepp多久呢?
程序运行后,会出现两个按钮,单击“获取注解”按钮会以Toast方式弹出三条信息。在文本框中输入任意字符串,单击“检测注册码”按钮,程序会弹出注册码错误的提示信息。...在这里,我们以按钮事件响应为突破口来查找关键代码。通过搜索字符串“Main”,可以发现两个名为“OnClick()”的方法。那么,具体是哪一个呢?我们分别进去看看。...看到这里我们应该能够明白,MainActivity$1.onClick() 方法是前面按钮的事件响应代码。接下来,查看MainActivity$2.onClick() 方法。...现在的问题是:如果该程序是一个大型Android软件,调用注册码判断的地方可能不止一处,该如何处理?...查看相应的反汇编代码,发现这段代码使用了Java的反射机制,手工调用了isRegistered() 方法来检查字符串“11111”是否为合法注册码。
在今天这个教程里,我们将学习如何采用梯形逻辑解决实际问题,以及如何进行PLC编程,同时我们还会学习一些新的梯形逻辑指令。 上一个教程中的锁存(latch)指令继续。...但是启动按钮和电机状态,和停止按钮的 关系是与/AND,因为要保持电机激活,就要求满足启动条件同时不能按下停止按钮。 与/AND逻辑使用指令的串联来实现: ?...2.5 梯形图逻辑实现练习题:互锁的实现 这个教程的核心就在于,你可以学会如何实现梯形逻辑。现在是做练习的时候了: 功能需求 3个电机的启动/停止控制,最多只有2个电机可以同时运行。...但是现实情况是, 操作员会按住按钮很长时间,另一种情况是按钮按下后被卡住了,这种常见的硬件故障也会 影响PLC程序的运行。 如果某个电机的停止按钮被卡住,那么你就无法再启动这个电机了。...现在,由于这个指令仅仅查看点位的状态变化,因此即使按钮卡住,由于卡住后状态不再变化, 也就不会在后续的扫描周期中持续激活。这也是这些指令被成为单触发指令的原因。 ?
本页介绍如何“测试驱动器”Flutter:从我们的模板创建一个新的Flutter应用程序,运行它,并学习如何使用Hot Reload进行更改。...创建新的应用 选择File>New Flutter Project 选择 Flutter application程序作为项目类型,然后按下一步 输入项目名称(例如myapp),然后按下一步 点击Finish...3.要查看您的更改,请调用Save All(cmd-s / ctrl-s),或单击Hot Reload按钮(带有闪电图标的按钮)。 您应该几乎立即在运行的应用程序中看到更新的字符串。...运行应用程序 检查Android设备是否在运行。 如果没有显示,请参阅设置。...3.要查看您的更改,请调用Save All(cmd-s / ctrl-s),或单击Hot Reload按钮(带有闪电图标的按钮)。 您应该几乎立即在运行的应用程序中看到更新的字符串。
通过USB数据线将Android手机连接到PC上,单击refresh ADB按钮显示已在设备列表中显示已连接的电话。...接着点击Airtest Assiant下的摄像机图像录制按钮(或者按快捷键F6)即可开始录制,如下所示: ?...上面都是操作性的步骤,如何增加断言呢。如下所示: ? 再次手动回退微信APP界面到主页然后回退到手机屏幕主页,F5快捷键,回放录制的脚本;执行完成后,点击工具栏按钮,查看执行报告: ?...那通过AirtestIDE如何使用基于控件的定位方式呢? 点击Script Editor下的添加按钮,再创建一个脚本文件。...回放成功后会生成测试报告,测试报告查看的方式也相同。
学习内容 Ø Android中的手势识别 Ø Android中的语音朗读 能力目标 Ø 熟练掌握如何通过手势缩放图片 Ø 掌握手势文件的创建方法及技巧 Ø 熟练掌握如何通过手势输入字符串 Ø 熟练掌握如何通过手势调用程序...核心技能部分 6.1 手势识别 当前的Android手机中,输入设备主要以屏幕上的模拟键盘居多,这种设计初衷是为了减少手机重量,同时为用户提供更大的屏幕显示界面,然而这么做的弊端也同时产生,在本就不大的手机屏幕上...,往往既要显示虚拟键盘,同时还要显示应用程序的常用按钮,同时还要有一大部分空间需要预留给内容显示区域,这样手机界面就会显得比较拥挤,而手势操作则可以解决这种问题,使用手势操作,我们就无需在界面中为各个功能添加相应的按钮...6.1.1 通过手势缩放图片 在图片查看过程中,很多时候我们需要将图片全屏显示,以最大限度地利用我们有限的屏幕区域,同时我们还经常需要将图片放大缩小等功能来查看图片各个位置的具体细节或图片的整体效果,而如果通过添加两个按钮来完成此功能相对来说比较简单..." /> 其中属性android:gestureStrokeType表示GestureOverlayView组件是否可接受多个手势。
不论如何,重要的是 Java 和 Kotlin 之间的互操作性:Kotlin 可以调用 Java,反之亦可。...说明:从 Intellij 15 开始,已经自带了 Kotlin 插件,无需再次下载,而 Android Studio 缺没有。不过还是建议你运行一下下面的步骤,检查一下插件是否为最新版。...安装完成后按钮会变成 Restart,再次点击重启 IDE。 刚刚安装的这两个插件分别为 Kotlin 语言支持包,和我们稍后会用到的Android 开发的扩展包。...细心查看代码,Kotlin 创建对象的时候并不需要new关键字,而是像调用普通方法一样直接调用构造方法就可以了。...同时,由于两个文件不在同一个包下,需要导入Preson类所在的包才能找到,当然,编译器已经帮我们解决了繁杂的导包过程。
+z 触发 } else -> { // 交给系统处理 super.dispatchKeyShortcutEvent(event) } } 根据此处代码,只有在同时按下...Ctrl+Z 时才会执行撤消操作,同样只有在同时按下 Ctrl+Shift+Z 时才会执行重做操作,并不会用到 Alt。...但开发者还是有必要使用鼠标测试应用的所有功能,查看是否有任何疏漏。 △ 鼠标 右键点击支持 右键点击是最常见的疏漏之一。...△ 在 Google 地图中使用手势操作 这款内置 Android Studio 的可折叠模拟器正在运行 Google 地图,只需使用两个手指就可以放大和缩小地图。...游戏手柄按钮也有自己的键代码,您可以监听这些按钮就像这里为 X 按钮进行的设置一样。
接入后自动上报异常,支持崩溃分析/卡顿分析/错误分析等,按类型查看上报问题的列表;24小时实时监控和告警,让您及时发现异常问题,不错过每一次异常;丰富的现场出错数据,辅助您快速定位异常问题,提升解决效率...只要简单几步,设置完成后,就可以在控制台查看APP发生的异常信息。 [控制台] 如何集成到自己的APP呢?...增加这两行 compile 'com.tencent.tac:tac-core:1.1.1' compile 'com.tencent.tac:tac-crash:1.1.1' } 四、验证是否接入了...Crash 服务 设置一个按钮,和按钮事件myClick。...public void myClick(View view) { TACCrashSimulator.testJavaCrash(); } 效果 真机效果 [截图] 按下按钮就会主动产生
具体的按钮的属性既可以再XML文本文件中读出,也可以通过可视化布局编辑器中选中按钮后点击Attributes来进行属性的查看: ? ? ...不用担心,Android给我们提供了一种方式,可以让菜单都能得到展示的同时,还能不占用任何屏幕空间。 ...重新运行程序,在FirstActivity的界面点击一下按钮会跳转到SecondActivity,查看logcat打印信息,如图2.20所示。 ?...重新运行程序,在FirstActivity的界面点击按钮会打开SecondActivity,然后在SecondActivity界面点击Button 2按钮会回到FirstActivity,这时查看logcat...体验活动的生命周期: 详情还是看第一行代码比较好,但是主要思想是我们通过创建多个活动,通过按钮进行任务之间的切换,查看日志的内容进行观察上图中的方法调用情况: ?
Home键=Fn+左方向 End键=Fn+右方向 PageUP=Fn+上方向 PageDOWN=Fn+下方向 2、Delete删除键的5种用法 windows键盘有backspace、delete两个按键...还想执行zoom的话,鼠标放到绿色按钮上同时按住option,即可变回原来的绿色加号。 另外一种zoom操作方式为双击窗口标题栏,设置可以修改,移步如下: ?...thunderbolt3和usb type-c分不清: 建议直接查看该帖子:http://www.sohu.com/a/210449654_640115 如何断开连接的某个wifi热点: ? ...mac下rar等压缩软件的管理: windows下可以使用winrar,如何使用,大家都懂的哈哈。mac下默认也无法解压rar。...想从手机上拷贝照片或者文件,需要安装android官方的Android File Transfer,下载地址(需FQ,或者去国内下载站下载但不能保证版本最新):https://www.android.com
可以看到每点击一次按钮,就会创建一个新的实例出来,相应的也要按几下Back才可以退出。...修改AndroidManifest.xml标签中主活动的启动模式: android:name=".MainActivity" android:launchMode="singleTop..." android:label="This is MainActivity"> 然后运行以后查看logcat,创建了一个实例,然后在点击按钮,不会再产生新的实例。...新建一个SecondActivity活动,让Main的按钮启动Second,Second启动Main, 可以看到按下三次按钮以后,系统创建了两个不同的MainActivity活动, 由于在Second...不同于其他三种启动模式,指定为singleInstance模式的活动会启用一个新的返回栈来管理这个活动, 假设程序中有一个活动是允许其他程序调用的,如果我们想实现其他程序和我们的程序共享这个活动的实例,该如何实现
如何判断一个bug是前端还是后端的 测试用例的设计方法有哪些? 给你一个用户名+密码,还有登录按钮,如何设计测试用例? Charles抓包工具的请求头? HTTP的状态码?...反之,如果日志有输出,可以进一步查看有无错误日志信息,进一步分析。 经验法:工作中慢慢积累,负责的项目多了,自然对功能的实现过程有了解,也就明白如何分类bug了。...的:因果图法、场景法 8.给你一个用户名+密码,还有登录按钮,如何设计测试用例?...、UI 入框与按钮是否对齐 的高度,长度是否符合要求 有没有错别字 计风格与全局设计风格是否统一 及密码是否有默认文字提示 st提示的文字时间是否符合要求 三、性能 录页面,需要多久 录,接口的响应时间为多久...0个人同时使用登录,接口响应时间为多久 四、安全 L注入 及密码是否通过加密的方式传输给服务器 在服务器验证还是前端JavaScript验证 录的cookie后,是否还能再次登录 户在不同设备上进行登录
现在的手机屏幕越来越大,使得在屏幕上同时开多个窗口不再奢侈,因此Android从7.0开始顺势推出了分屏功能,也被称作多窗口模式。...接下来就详细阐述如何开关分屏模式,以及在编码的时候有哪些注意的地方。 首先准备一部Android7.0及以上版本的手机,按下屏幕底部的任务键,此时屏幕下方会弹出一排的任务列表。...于是整个手机屏幕分成了上下两个窗口,每个窗口各自运行自己的App界面,从而实现了对屏幕进行分屏的操作。 ? 分屏后的两个App,用户可以像往常一样点击、刷新和后退。...要是玩腻了分屏,也可按下任务键,此时屏幕顶端中央浮现出了一个“退出分屏”的按钮,点击该按钮即可恢复原来的全屏模式。 ? 以上的演示步骤,是教用户如何开启和关闭全屏模式。...4、App运行过程中,若想获知当前是否处于分屏模式,则可调用isInMultiWindowMode方法,该方法返回true表示处于分屏模式,返回false表示处于全屏模式。
3、Ctrl+S快捷键,有两个用途,在正常打开so文件的IDA View视图的时候,可以查看so对应的Segement信息 ?...好了,到这里我们就分析完了这两个重要的函数的功能,一个是判断输入的内容是否为数字字符串,一个是通过输入的内容获取密码内容,然后和正确的加密密码:ssBCqpBssP 作比较。...看到了,这次jdb成功的attach住了,debug消失,正常运行了, 但是同时弹出了一个选择提示: ?...,可以查看arm汇编指令对应的C语言代码,同时可以使用Y键,进行JNIEnv*方法的还原 3、使用Ctrl+S键,可以在IDA View页面中查看so的所有段信息,在调试页面可以查找对应so文件映射到内存的基地址...2、IDA调试有反调试的so代码步骤: 1》查看apk是否为可调式状态,可以使用aapt命令查看他的AndroidManifest.xml文件中的android:debuggeable属性是否为true
6、如何判断一个bug是前端还是后端的? 7、测试用例的设计方法有哪些? 8、给你一个用户名+密码,还有登录按钮,如何设计测试用例? 9、Charles抓包工具的请求头?...反之,如果日志有输出,可以进一步查看有无错误日志信息,进一步分析。 经验法: 在工作中慢慢积累,负责的项目多了,自然对功能的实现过程有了解,也就明白如何分类bug了。...不常用的:因果图法、场景法 8、给你一个用户名+密码,还有登录按钮,如何设计测试用例?...,点击登录,会不会自动记住密码 输入法上的快捷键及Tab键是否支持切换 UI: 两个输入框与按钮是否对齐 输入框的高度,长度是否符合要求 界面内有没有错别字 界面设计风格与全局设计风格是否统一 用户名及密码是否有默认文字提示...toast提示的文字时间是否符合要求 性能: 进入登录页面,需要多久 点击登录,接口的响应时间为多久 1000个人同时使用登录,接口响应时间为多久 安全: 防SQL注入 用户名及密码是否通过加密的方式传输给服务器
(注意三个参数含义:view,"text", Snackbar.LENGTH_SHORT); 2.2 Snackbar的make()后面连缀调用setAction()来设置一个动作 (两个参数...它默认会使用colorAccent来作为按钮的颜色, 我们还可以通过给按钮指定一个图标来表明这个按钮的作用是什么。 下面开始来具体实现。...Toast的作用是告诉用户现在发生了什么事情,但同时用户只能被动接收这个事情,因为没有什么办法能让用户进行选择。...不过你有没有发现一个bug,这个Snackbar竟然将我们的悬浮按钮给遮挡住了。虽说也不是 什么重大的问题,因为Snackbar过一会儿就会自动消失,但这种用户体验总归是不友好的。...举个简单的例子,刚才弹出的Snackbar提示将悬浮按钮遮挡住了, 而如果我们能让CoordinatorLayout监听到Snackbar的弹出事件, 那么它会自动将内部的FloatingActionButton
领取专属 10元无门槛券
手把手带您无忧上云