- 博客(75)
- 资源 (8)
- 收藏
- 关注
原创 服务器性能监控分析思路
1.监控服务器系统参数命令:top查看load average、内存、交换区虚拟内存、cpu的使用情况2.查看具体的进程、内存、交换区、io、cpu的交互命令:vmstat 1这个命令可以查看到运行的进程数、等待的IO进程数、交换区使用情况、交换区与内存的读写、数据块的读写、cpu资源情况等等procs(进程)r:运行的进程数(长期大于1结合cpu的id来判断是否需要增加cpu)b:等待io的经常数memory(内存)swpd:使用虚拟内存大小,如果swpd的值.
2020-11-19 16:23:14 565
原创 miniprogram-automator初探
微信小程序mini program,在17年发布后火遍全中国各行业,依靠着微信大用户群体,遍地开花,有点软件思维的企业都相续做出了小程序应用,特别是一向在IT界被诟病的ZF、GQ都纷纷推出,可谓是利民啊。当然恶心的依然是TX的标准规范,全权由WX审核,该让你上才能上,否则就是"您的小程序应用涉及商业性质,审核不通过,请升级为企业主体小程序",这么委婉的要你交钱升级,大家都懂的。废话就不多说了,...
2019-09-26 17:40:40 2934
原创 MongoDB基础语法简单使用
1.查询:db.表名.find({字段名:"值"})db.member.find({job:"测试"})2.查询pretty()方法,用上此方法则以结构化显示结果:db.表名.find({字段名:'值'}).pretty(){参数:'值'}db.member.find({job:"测试"}).pretty()3.查询and条件,用逗号隔开:db.表名.find({字段名:'...
2019-07-23 17:55:43 395
原创 Selenium之cannot find Chrome binary错误
一、浏览器安装默认路径Selenium环境搭建的问题引起最多的是No browser is open,这种报错导致浏览器无法打开;问题的原因主要是2点1.浏览器安装默认路径2.浏览器匹配的驱动没有放在正确的环境变量目录位置(可以代码指定驱动路径)3.浏览器版本与对应的驱动版本匹配只要确认这2个问题,基本上可以解决No browser is open的问题;但是注意是基本上,曾几...
2019-05-23 17:59:35 56051 4
原创 Selenium偶遇反爬虫
开发在爬虫获取数据使用Selenium访问网站的时候遇到如下问题:使用get方法打开第一个url,请求可以正常发送并得到正确的响应内容;然后再通过点击操作页面上的a标签跳转url,或者再次使用get方法打开url,会得到无权限访问的403响应,就是标题中的“Access Denied You don't have permission to access “url” Reference .....
2019-04-26 18:30:24 5984
原创 Appium基础学习之 | ANDROID_UIAUTOMATOR定位介绍
Appium实现自动化底层是依赖UiAutomator框架,定位元素也是经由UiAutomator处理后转换Accessibility服务对象完成元素查找并且操作。在前面介绍过Appium-Desktop支持的ID、XPATH、ACCESSIBILITY_ID、CLASS_Name定位,对于这四种定位比较容易理解,剩下的ANDROID_UIAUTOMATOR定位在这篇文章介绍。一、疑问...
2019-04-19 16:56:59 3993 1
原创 Android基础知识学习- 日期DatePickerDialog与时间TimePickerDialog使用
Android日期时间操作提供了DatePicker与TimePicker,在布局中可以直接应用,但是这样整个布局空间会被占用很大区域,影响布局美观;而Android这个局限,提供了DatePickerDialog与TimePickerDialog让日期与时间作为弹窗展示,简化了布局占用,下面进入代码:1.布局文件代码<LinearLayout xmlns:android="htt...
2019-04-12 15:25:06 3575
原创 Appium基础学习之 | Appium长按、滑动、获取坐标
一、TouchAction使用Appium需要引入java-client-xx.jar包,在java-client-5.0版本之前,Appium滑动使用的是swipe方法,从5.0之后,Appium已经取消swipe方法,交由TouchAction对象的方法来完成滑动操作。在java-client-5.0版本之前也有TouchAction对象,在java-client-5.0版本之后Touch...
2019-04-11 16:09:53 4233 1
原创 Selenium之EventFiringWebDriver事件监听
做UI层自动化比较棘手的问题就是稳定性,强壮性不足的代码运行起来会抛出各种异常让人无奈,在排查问题过程中debug模式的调试加日志信息是可以快速命中报错点的有效方式之一。初学者学习Selenium开始都是为了熟悉Selenium的方法使用,从实例化WebDriver、get方法打开浏览器输入url、findElement方法查找元素、click或sendKeys等方法的操作、最后quit方法关闭浏...
2019-04-03 18:50:27 6951
原创 Android基础知识学习- spinner使用
android基础开发中spinner控件作为基础控件之一比较常见,下面简单记录下它的使用:一、布局文件中的Spinner<LinearLayout android:layout_width="match_parent" android:layout_height="60dp" android:orientation="vertica...
2019-03-27 17:58:30 7798
原创 Appium基础学习之 | Appium-Desktop元素定位
在《Appium基础学习之 | Appium代码转换为UiAutomator代码Find》提到过Appium1.4.16版本推送到设备端的Bootstrap把元素定位、操作代码转化为UiAutomator代码的过程中,有提到过基础的九种定位方法分别CLASS_NAME("class name") CSS_SELECTOR("css selector") ID("id") NAME("na...
2019-03-20 15:26:15 2207
原创 Appium基础学习之 | 设备端Appium Server APK源码简单分析
在《Appium基础学习之 | Appium-Desktop日志分析》中说到,推送了一个Package为io.appium.uiautomator2.server.test的APK到设备端,然后通过adb shell am instrument -wio.appium.uiautomator2.server.test/androidx.test.runner.AndroidJunitRunner...
2019-03-13 17:31:48 710
原创 Appium基础学习之 | Appium-Desktop日志分析
在《Appium基础学习之 | Appium-Desktop使用》这篇文章介绍了Appium-Desktop的基本流程使用,也就是把运行环境都调试通过了,下面开始分析分析Appium-Desktop的执行过程中发生了些什么事情。1.启动Appium-Desktop Server,默认端口的47232.根据DesiredCapabilities设置的所有参数值,并根据这个设置创建一个Ap...
2019-03-13 11:47:24 1829 12
原创 Appium基础学习之 | Appium-Desktop使用
本来还想继续写一篇UiAutomator2.0新增几个API的介绍,但是已经迫不及待回到Appium的轨道中来了,了解UiAutomator2.0与Instrumentation、Accessibility对于学习android自动化帮助都是特别大的,有机会还是想继续往下研究的。从这篇文章开始就正式回到Appium的使用中来了。一、Appium-Desktop下载Appium-Deskto...
2019-03-11 19:04:17 10443
原创 Appium基础学习之 | Instrumentation再续
在《Appium基础学习之 | UiAutomator2.0使用》最后留下了三个问题1.什么叫做运行器,比如AndroidJUnitRunner、instrumentationTestRunner?2.UiAutomator2.0基于Instrumentation运行,好像非常复杂,这样做相对于UiAutomator1.0来说有什么优势呢?3.adb shell am instrume...
2019-03-08 16:18:25 683
原创 Android基础知识学习-Instrumentation启动源码简析
Application与Activity是Android中非常重要的组件之其二,当然更多提起的还是Activity,它与用户界面有更直接的关系;当点击设备App图标时,界面上展示给用户能看到过程中,就包含启动Application与Activity的过程。应用运行的一刻,Android系统会为应用创建一个Application对象,这个对象有数据传递、数据共享和数据缓存等功能,它就如同一个...
2019-03-08 16:18:19 3198
原创 Appium基础学习之 | UiAutomator2.0使用
一、Android Studio安装Android Studio是Google开发的一款针对Android开发的IDE,由于UiAutomator2.0基于Instrumentation运行,所以脚本需要打包成应用程序APK push到device执行,并且它还是依赖gradle构建,So,我可以理解为Google是在规范大家使用Android Studio。Android Studio下...
2019-03-08 16:18:13 2333
原创 Appium基础学习之 | Appium-Desktop与UiAutomator2
一、Appium-Desktop在Appium1.4.16版本之后,Appium重新发布了新的集成工具Appium-Desktop,可以把Appium-Desktop当作是Appium1.4.16版本之后的替代品,Appium-Desktop同样提供了Appium Server端服务于客服端,也同样提供了像UI Automator Viewer获取设备页面的元素,除了这些它还提供了新手梦寐以求...
2019-03-08 16:18:04 1772
原创 Android基础知识学习- Looper与Handler
学习Android开发,Looper与Handler是必须学会使用的,本人作为一个测试人员,在做Android测试时一直在探索,对Android开发更加是一窍不通,只能摸石头过河把基础学一下。1.主线程说到Looper与Handler就不得线程,如现在有一个需求,需要等待10S执行,在主线程中实现非常简单,代码如下 private TextView tv; p...
2019-01-30 14:14:49 462
原创 Appium基础学习之 | UiAutomator启动命令dump、events
1.dump之前已经说过dump命令的解释了,来实操感受一下它的作用。玩过Android UI 自动化的肯定都很熟悉uiautomatorviewer这个工具了,它能帮助用户定位设备界面上的元素,然后显示元素的全部信息,便于用户使用这些信息完成一些元素定位工作。但如果uiautomatorviewer发神经获取不到设备UI界面的时候,就可以找dump帮忙了,虽然麻烦点。(1)设备或者模拟器...
2019-01-24 17:40:58 1795
原创 Appium基础学习之 | UiAutomator启动命令runtest浅析二
UiAutomator1.0基于AccessibilityService是否正确?这篇文章揭开 从《Appium基础学习之 | UiAutomator启动命令runtest浅析一》中最后可以看到是执行了Launcher,回到UiAutomator1.0的源码,继续看代码了;源码在\cmds\uiautomator\src\com\android\commands\uiautoma...
2019-01-24 17:12:46 842
原创 Appium基础学习之 | UiAutomator启动命令runtest浅析一
总结一下前面流程,首先Appium运行,推送Bootstrap.jar到设备端,而Bootstrap.jar这个jar实际上就是继承了UiAutomatorTestCase的测试类,然后通过命令运行这个jar包开始执行自动化脚本先来看看执行命令:adb.exe -s 5b30ee87 shell uiautomator runtest AppiumBootstrap.jar -c...
2019-01-23 19:02:24 1786
原创 Appium基础学习之 | AccessibilityService服务
从Appium扯到了UiAutomator再扯到AccessibilityService服务,好像有点扯远了。而为什么要扯到AccessibilityService服务,是由于在几乎所有资料中都有一个方向就是UiAutomator基于AccessibilityService服务,而到了UiAutomator2.0又基于Instrumentation,有兴趣看到这篇文章的朋友可以注意下,在有...
2019-01-23 12:27:49 1569
原创 Appium基础学习之 | UiAutomator与Junit的关系
在《Appium基础学习之 | UiAutomator使用》文章中大概介绍了UiAutomator的使用,把代码打包成jar后推送到Android设备上并运行。然后在回顾一下《Appium基础学习之 | Appium执行日志流程分析》中讲解到的,Appium其中一个重要的步骤就是把一个Bootstrap.jar推送到Android设备,这样结合来说,应该更好的理解Appium与UiAutomato...
2019-01-11 15:01:50 658
原创 Appium基础学习之 | Appium代码转换为UiAutomator代码Click
二、Click1.Bootstrap的Click类Click类就一个方法execute()方法public AndroidCommandResult execute(final AndroidCommand command) throws JSONException { if (command.isElementCommand()) { try { ...
2019-01-04 19:29:59 476
原创 Appium基础学习之 | Appium代码转换为UiAutomator代码Find
在Appium基础学习之 | Bootstrap源码分析留的尾巴,然后通过Appium基础学习之 | UiAutomator使用过渡简单介绍了一下UiAutomator、由于在Android设备中是由UiAutomator工具接管,所以接下来看看Appium代码是如何转化为UiAutomator代码的。 在Appium基础学习之 | Bootstrap源码分析这篇文章的最后部分是...
2019-01-04 09:43:53 454
原创 Appium基础学习之 | UiAutomator使用
在Appium基础学习之 | Bootstrap源码分析中留下了一个尾巴就是Bootstrap如何转化代码到UiAutomator执行,想了想觉得有必要先把UiAutomator使用简单了解下,于是有了本文(归于UiAutomator,现在最新版的UiAutomator2后续再讲,路需要一步步走)。 Android团队在4.1版本(API 16)中推出了一款全新的UI自动化测试工...
2019-01-03 15:44:15 2087
原创 Appium基础学习之 | Bootstrap源码分析
在Appium执行日志流程分析这里已经讲解到Bootstrap的重要作用,今天就来切洋葱切一下它,看看它的真实面目:源码地址:https://github.com/appium-boneyard/appium-android-bootstrap/tree/master/bootstrap,下载后导入Eclipse如下1.Bootstrap类(在io.appium.android.boo...
2018-12-22 19:39:41 651
原创 Appium基础学习之 | setting、unlock与unicode ime
通过Appium执行测试会在设备上安装unlock.app、setting.app、io.appium.android.ime三个应用,第一次使用Appium在新的Android设备上执行是不会有任何问题的,但是如果第二次运行代码,就会抛出异常。原因也很简单,就是因为unlock.app、setting.app、io.appium.android.ime在Appium中并没有去做智能判断设备上是否...
2018-12-22 16:11:01 3698
原创 Appium基础学习之 | Appium执行日志流程分析
在上篇文章Appium执行示例中把Appium的日志保存在了本地,接下来分析一下,Appium到底是如何工作的,打开保存在本地D盘的log日志文件开始分析1.Appium服务启动默认端口为4723,这个端口是可以在启动Appium服务时自定义的,没有其他业务占用4723端口的话使用默认就好;然后可以看到日志保存的位置以及日志的等级。2.在Eclipse运行代码,开始打印下面的日志;根据...
2018-12-22 15:36:20 2328
原创 Appium基础学习之 | Appium执行简单示例
一、运行前准备1.启动Appium Server在前面文件已经说过AppiumForWindow版本的下载、安装、启动;在运行代码前,先启动Appium服务(使用Appium桌面应用或许CMD命令行启动个人选择),并把日志保存在本地路径下方便后续排查。2.准备环境需要的jar包Appium需要的2个Jar包,分别是java-client.jar、selenium-server-...
2018-12-21 17:26:51 6402
原创 Appium基础学习之 | adb连接设备
adb(Android Debug Bridge)工具,从英文翻译过来可以理解为安卓调试桥接工具。只要做Android相关工作的,无论是开发还是测试,都离不开这个强大的调试工具。 adb有三部分,分别是adbd、adb server、adb client;当手机使用USB或者同网段连接时, adb server会主动去连接Android系统底层运行的服务就是adbd。adb se...
2018-12-20 13:02:23 2007
原创 Appium基础学习之 | Android Virtual Device Manager使用
模拟器英文全称Android Virtual Device,检查AVD,就是安卓虚拟设备的意思。无论是在做安卓开发或者安卓测试都需要设备来运行、调试APP应用程序。所以在做APP自动化测试之前一定要准备好一台模拟器、一台安卓手机(IOS app不属于本文讲解)。一、monitor.bat在SDK\tools目录下找到monitor.bat双击打开二、Eclipse首先打...
2018-12-19 18:43:40 12202
原创 Appium基础学习之 | SDK Manager使用
Appium环境部署中IDE集成工具包包含Android SDK的部署配置,在Android SDK目录下,有一个SDK Manager.exe应用程序也就是Android软件开发工具包管理,它可以下载安装、卸载管理本地SDK中的开发工具。双击打开SDK Manager.exe后,界面如下图:1.Tools打开Tools工具目录,如下图:(1)Android SDK T...
2018-12-19 14:49:00 784
原创 Appium基础学习之 | Appium桌面应用与Appium服务启动
Appium的安装在上一篇已经大概介绍,在安装完Appium会在桌面生成一个应用程序(如果没有桌面应用程序则在安装目录下双击Appium.exe应用)一、Appium服务启动双击打开后如下:1.菜单栏第一个选项Android Settings(1)Application 本模块设置被测试app信息,如安装包路径、包名、activity等 Applicat...
2018-12-18 17:20:14 2318
原创 Appium基础学习之 | 环境搭建
一、JDK环境 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;下载完成后安装并配置环境变量,在cmd命令窗口验证安装成功即可。二、IDE集成工具 IDE(Integrated Development Environment) 是用于提供程序...
2018-12-18 17:03:29 646
原创 Selenium之POM模式:自定义 VS PageFactory
什么是POM(page object model)?从英文解释为页面对象模式,说的很清楚,玩过QTP的朋友就有点懵懂了;不错,就是有点对象库的意思。还记得前面说的QTP故事的时候说到对象库编程与描述性编程吗?可以回去看看。对象库就更好理解了,就是管理对象的一个仓库,而从selenium的POM模式来说,是每个页面的对象分为一个对象库;再说明白点就是每个页面的对象定位管理起来。一、自定义...
2018-12-13 14:56:09 897
原创 Android基础知识学习(二)-布局
布局最简单的来说就是摆放控件的位置,最终形成用户所看到的Android界面。在Android中常用的布局方式有xml文件布局、代码布局;xml文件布局是最常用的,在代码中布局控件会显得比较繁琐,代码量重。一、布局种类 1、Layout常用布局:LinearLayout(线性布局)、RelativeLayout(相对布局) 2、View布局:ListVi...
2018-12-12 18:38:27 317
原创 Android基础知识学习(一)-Activity与View
一、Activity 在测试安卓应用时,经常会涉及到Activity与Package,而很多时候总是误解的认为Activity是android的界面,类似于Web中的html文件一样。而经常这次为了能做好Android自动化,于是下定决心把Android基础简单的屡屡,让自己可以对Android应用理解更多,接下来会一点点记录自己学习的一些基础知识应用。 Activit...
2018-12-12 18:31:08 1668
原创 一个计算最大并发与最小并发的性能面试题
遇到一位测试的职友说在某个QQ群看到有人问一个性能面试题,问我会不会,我根据自己的知识点做了一些计算并记录,答案如下。题目:若每月有30000次的用户登录系统,每天8小时工作日,每月80%的登录在20%的时间内完成,每天80%的业务在20%的时间内完成,计算每分钟并发量的最大值和最小值(提示:并发用户最大值按日高峰访问量的80%同时访问计算,并发用户量最小值按照日均访问量的80%计算)...
2018-10-18 16:54:51 1191
nosqlbooster各版本注册码.txt
2019-09-18
UiAutomator1.0源码
2019-01-11
selenium-server-standalone-3.5.3.jar
2017-09-19
selenium-server-standalone-2.52.0
2017-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人