◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5143192.html 前言 第一节讲CPU的时候留下了一个疑问,就是由于Android手机系统本身的缺陷造成采集CPU百分比数据会有很大的误差,那么如何分析CPU这个指标呢? 这节我们就来讲讲如何用CPU时间片这个指标来衡量系统CPU的占用或者一款App对系统CPU的占用. 概念 首先需要知道,在Linux系统下,CPU利用率分为用户态.系统态.空闲态,分…
前置步骤: 上一篇的Python单元测试框架unittest,我认为相当于功能测试测试用例设计中的用例模板,在自动化用例的设计过程中,可以封装一个模板,在新建用例的时候,把需要测试的步骤添加上去即可: 而现在要做的就是学习如何定位页面元素,告诉系统我要找到什么UI元素,然后才能进一步的采取其他措施: 其实不想写这篇内容,可是又觉得如果去官方文档找信息又效率慢,那么我就将常用的步骤归纳,那样可以快速查阅解决问题. 参考英文官方资料:http://selenium-python.readthedoc…
学习目的: 掌握iframe矿建的定位,因为前端的iframe框架页面元素信息,大多时候都会带有动态ID,无法重复定位. 场景: 1. iframe切换 查看iframe 切换iframe 多个iframe的问题 2.多窗口iframe 获取句柄 切换句柄 正式步骤: step1: 如果iframe中含有动态ID的情况规避方法 问题截图 规避代码: # -*- coding:utf-8 -*- """ 模拟登陆126邮箱 """ from sel…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5065083.html 前言 本来打算写完全部的自动化测试之后再写性能测试的东西,但是想了想,觉得这两个其实也可以并行的来完成,于是今天打算开个头,开始性能测试的介绍. 需要强调的是这里介绍的都是终端的性能,也就是Android设备的性能,不是客户端并发之后服务器的性能数据,这一点一定要清楚.在这个系列里面,我会介绍cpu.cpu时间片.电量.内存.FPS.…
第二节:布局入门 一.线性布局 需要掌握的属性: 1.orientation:排列方式 vertical:垂直 Horizontal:水平 2.weight:水平布局的权重 3.gravity:子控件对齐方式 4.layout_gravity控件自身相对于父容器的对齐方式 小技巧: 按钮default,click,focus等状态图片更改 <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处.  转载请注明出处:http://www.cnblogs.com/by-dream/p/5569844.html 前言 学习了上节之后,大家是否已经感觉到Instrumentation的洪荒之力了,的确,比起之前的UI自动化,它可以干很多事情了.但是有的时候呢,可能暴露给你的一些变量,或者函数不够你用,你还是想去调用它的私有函数,或者你直接去重新在测试脚本中组织它的代码,完成和它App相同的功能,这个时候你就需要借助Java的反射机制了. 另外…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4836815.html 不得不说两句,过了这么久才再次更新博客,主要原因是工作太忙,而且刚好又参与了很多业余活动,因此基本没时间去写,不过我还是决定坚持把我要写的东西全部写完,希望能够帮助到刚刚入门的测试者们. 前言 本节讲解的内容是monkeyrunner,monkeyrunner和monkey同样都是谷歌研发的测试工具,相比monkey用来做压力测试而言…
◆版权声明:本文出自carter_dream的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4688880.html 自动化工具 接触安卓测试最早听说的一个工具就是Monkey,很有意思的名字,当然也很容易学习. 名词解释 个人推荐,如果有精力的最后还是读一下这个文档:http://developer.android.com/intl/zh-cn/tools/help/monkey.html Monkey是一个运行在你手机上的程序,…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5482207.html 前言 前面介绍了不少Android UI自动化测试的东西,这里我们学习一下谷歌对安卓测试的一些理解.顺便做为Instrumentation的预习篇.原文章的链接:http://developer.android.com/intl/zh-cn/tools/testing-support-library/index.html 这篇文章介绍…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处.  转载请注明出处:http://www.cnblogs.com/by-dream/p/4630046.html 写在前面的话 感觉自己进入Android测试这行以来,虽然了解了不少Android的东西和自动化技术,但都比较零散.当然这也和半路入行,然后要快速的将自动化技术运用所学的业务上有关.于是决定利用工作之余的时间将Android测试相关知识进行一个整理,一来巩固一下自己学到的东西:二来可以让想学习Android测试的同学进行学习(希望能…
Android设备作为一种移动设备,无论是内存还是CPU的性能都受到了很大的限制,这导致Android程序的性能问题异常突出,随着产品的不断更新迭代,对于性能优化提出了更高的要求.本篇文章从稳定性.流畅性.耗损.安装包大小四个方面对Android开发提供了一些容易上手.切实有效的性能优化方法,为Android开发中有关性能优化方面的学习提供一个参考. 1.稳定性(解决内存溢出.崩溃等问题),内存优化 了解内存如何分配和回收机制,对内存优化会有一定的认识和掌握.可以借助内存分析工具,方便定位需要内…
CPU时间片 为了提高程序执行效率,大家在很多应用中都采用了多线程模式,这样可以将原来的序列化执行变为并行执行,任务的分解以及并行执行能够极大地提高程序的运行效率. 但这都是代码级别的表现,而硬件是如何支持的呢? 那就要靠CPU的时间片模式来说明这一切. 程序的任何指令的执行往往都会要竞争CPU这个最宝贵的资源,不论你的程序分成了多少个线程去执行不同的任务,他们都必须排队等待获取这个资源来计算和处理命令. 先看看单CPU的情况.下面两图描述了时间片模式和非时间片模式下的线程执行的情况: 图1非时…
在多线程下面,有时候会希望等待某一线程完成了再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject,或者WaitForMultipleObjects.这两个函数都会等待Object被标为有信号(signaled)时才返回的.那么,什么是信号呢?简单来说,Windows下创建的Object都会被赋予一个状态量.如果Object被激活了,或者正在使用,那么该Object就是无信号,也就是不可用:另一方面,如果Object可用了,那么它就恢复有信号了…
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第二节,主要对 Ionic Lab 工具作了介绍,并讲解了其使用方法,这也是一个开发 Ionic 比较好的调试工具. 原文发表于我的技术博客 Ionic Lab 是 Ionic 发布的一个可视化.跨平台的项目管理工具,可以创建.测试.编译.发布 Ionic 项目. 1. App 创建 这里的创建功能就是类似于之前的 Ionic 的命令:ionic start. 可以选择需要使用的模板进行创建,并且可以选择是否使用 Sass…
时间片即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的.如果在时 间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程.如果进程在时间片结束前阻塞或结束,则CPU当即进行切换.而不会造成CPU资源浪费.在 宏观上:我们可以同时打开多个应用程序,每个程序并行不悖,同时运行.但在微观上:由于只有一个CPU,一次只能处理程序要求的一部分,如何处理公平,一 种方法就是引入时间片,每个程序轮流执行. 分时操作系统是把CP…
在 Android开发中,性能优化策略十分重要本文主要讲解性能优化中的布局优化,希望你们会喜欢.目录 示意图 1. 影响的性能 布局性能的好坏 主要影响 :Android应用中的页面显示速度 2. 如何影响性能 布局影响Android性能的实质:页面的测量 & 绘制时间 1个页面通过递归 完成测量 & 绘制过程 = measure.layout 过程3. 优化思路 优化方向:布局性能.布局层级.布局复用性 和 测量 & 绘制时间具体如下示意图 针对 页面布局的性能.层级.测量绘制时…
原文链接 第二节:第一个内核 Rob Farber 是西北太平洋国家实验室(Pacific Northwest National Laboratory)的高级科研人员.他在多个国家级的实验室进行大型并行运算的研究,并且是几个新创企业的合伙人.大家可以发邮件到rmfarber@gmail.com与他沟通和交流. 在该系列文章的第一节,我展示了第一个简单的CUDA(Compute Unified DeviceArchitecture,计算统一设备架构之首字母缩写)程序——moveArrays.cu,…
CPU时间片 https://www.cnblogs.com/xingzc/p/6077214.html CPU的时间片 CPU的利用率好CPU的 load average 是不一样的 Conntext switch 可能会导致 load average 升高. 原作者的图2的名字好像是写错了 我这里简单改了一下. pidstat 还有vmstat 好像能查询出来 cs 的信息. CPU时间片 为了提高程序执行效率,大家在很多应用中都采用了多线程模式,这样可以将原来的序列化执行变为并行执行,任务…
从小到大来说:时钟周期,CPU周期,指令周期,CPU时间片 时钟周期:一个脉冲需要的时间,频率的倒数 CPU周期:读取一个指令节所需的时间 指令周期:读取并执行完一个指令所需的时间 CPU时间片:CPU分给每个进程的时间…
http://blog.csdn.net/russell_tao/article/details/7103012 内核在微观上,把CPU的运行时间分成许多分,然后安排给各个进程轮流运行,造成宏观上所有的进程仿佛同时在执行.双核CPU,实际上最多只能有两个进程在同时运行,大家在top.vmstat命令里看到的正在运行的进程,并不是真的在占有着CPU哈. 所以,一些设计良好的高性能进程,比如nginx,都是实际上有几颗CPU,就配几个工作进程,道理就在这.比如你的服务器有8颗CPU,那么nginx…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5258660.html 手势 看到这个标题,很多人会想一想 “双指点击” 的操作是什么样的,首先解释一下吧,为了能清晰明了一点,请看下面的图: 左上角的Tap代表点击操作,也就是我们说的 “单指单击”:右上角是Double Tap顾名思义,使用一个手指完成 “双击” 的动作:左下角的Scroll代表的是用一个手指完成 “滑动”的动作:最后看右下角这张图,这个…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5195121.html 起因 昨天群里看到有人问如何实现一个长按电源键的操作,这个问题经常遇到,而且对于新手来说也比较棘手,于是在尝试成功后,决定说说这个事情. 一般这样的需求都出现在自动化操作的过程中.但是一般的ui自动化貌似对长按操作都支持的不是特别好,即使有也是针对手机屏幕中的区域来进行长按,我们都知道电源键是一个实体键,无法通过点击ui来实现.说道这…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5157308.html 前言 经常看到一些刚刚接触Android测试的小伙伴在论坛或者QQ群里问这样的问题:如何知道一个App的包名呢?它的启动页的Activity又是什么呢? 之前博客里也忽略了这一块,这一节我就专门来介绍一下. 包名 包名(Package name)在Android系统中是判断一个App的唯一标识,不同的App可以有同样的名字,但是它的包…
index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>seaJS学习第二节</title> //加上 seajsnode 值,可以让 sea.js 直接获取到自身路径,而不需要通过其他机制去自动获取.这对性能和稳定性会有一定提升,推荐默认都加上. <script src="modules/sea/sea.js&q…
1. 查看磁盘 IO 性能 1.1 top 命令 top 命令通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能,如果这个数值过大,很可能是磁盘 IO 太高了,当然也可能是其他原因,例如网络 IO 过高等. top命令的其他参数代表的含义详见top命令详解 1.2 sar 命令 sar 命令是分析系统瓶颈的神器,可以用来查看 CPU .内存.磁盘.网络等性能. sar 命令查看当前磁盘性能的命令为: [root@server- Linux -.el7.x86_64 (server-) /…
原 使用iperf测试网卡吞吐性能 2018年12月17日 12:38:41 lancewoo 阅读数:138   首先配置待测试的两个网卡的网络地址到同一网段,保证ping对方的IP地址时可以通.两个网卡用网线连接到同一个交换机上,或者直连,交换机交换最大速率不能低于待测试网卡的标称速率. 在两台机器上分别运行命令,哪台做服务端,哪台做客户端都可以: 服务端命令: iperf -s -P 0 -i 1 -p 5001 -w 2M -f k 客户端命令: iperf -c 192.168.1.3…
---------------------------目录---------------------------------- QQ登录整合/oauth2.0认证-01-申请appkey和appid QQ登录整合/oauth2.0认证-02-跳转到QQ互联页 ---------------------------正文---------------------------------- 上一节里面有些代码有点无用,其实我们紧紧是封装出一个地址,然后让用户点击某个按钮,跳转到这个地址上面罢了 所以在…
[本文出自天外归云的博客园] 简介 APP性能测试一般对以下几个方面进行测试: 1.启动时间(可以通过本工具测试): 2.CPU的占用(可以通过本工具测试): 3.内存的占用(可以通过本工具测试): 4.流量的耗用(可以通过本工具测试): 5.电量的耗用(用户实际使用中感知即可).   除了可以做以上这几个专项测试外,本工具还能进行monkey测试等等. 可以结合工作需要灵活自定义脚本,封装成自己工作中常用的工具. 工具的实现是基于adb和PowerShell的,支持adb通过USB和WIFI两…
一,Android测试新人练习——安装及文件传输 [课前准备] Android测试环境搭建 1.下载并安装JDK: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR 下载过程中需要帐号可自行注册. 2.安装完成后配置JDK的环境变量: JAVA_HOME 设置为 Java 的安装地址,例如 "D:\P…
adb shell cat /proc/stat | grep cpu > totalcpu0 此处第一行的数值表示的是CPU总的使用情况,所以我们只要用第一行的数字计算就可以了.下表解析第一行各数值的含义: 参数 解析(单位:jiffies) (jiffies是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数,在linux中,一个节拍大致可理解为操作系统进程调度的最小时间片,不同linux内核可能值有不同,通常在1ms到10ms之间) user 从系统启动开始累计到当前时刻,处于用户态…