自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 537

原创 miniprogram-automator初探

微信小程序mini program,在17年发布后火遍全中国各行业,依靠着微信大用户群体,遍地开花,有点软件思维的企业都相续做出了小程序应用,特别是一向在IT界被诟病的ZF、GQ都纷纷推出,可谓是利民啊。当然恶心的依然是TX的标准规范,全权由WX审核,该让你上才能上,否则就是"您的小程序应用涉及商业性质,审核不通过,请升级为企业主体小程序",这么委婉的要你交钱升级,大家都懂的。废话就不多说了,...

2019-09-26 17:40:40 2901

原创 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 369

原创 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 54769 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 5866

原创 Appium基础学习之 | ANDROID_UIAUTOMATOR定位介绍

Appium实现自动化底层是依赖UiAutomator框架,定位元素也是经由UiAutomator处理后转换Accessibility服务对象完成元素查找并且操作。在前面介绍过Appium-Desktop支持的ID、XPATH、ACCESSIBILITY_ID、CLASS_Name定位,对于这四种定位比较容易理解,剩下的ANDROID_UIAUTOMATOR定位在这篇文章介绍。一、疑问...

2019-04-19 16:56:59 3875 1

原创 Android基础知识学习- 日期DatePickerDialog与时间TimePickerDialog使用

Android日期时间操作提供了DatePicker与TimePicker,在布局中可以直接应用,但是这样整个布局空间会被占用很大区域,影响布局美观;而Android这个局限,提供了DatePickerDialog与TimePickerDialog让日期与时间作为弹窗展示,简化了布局占用,下面进入代码:1.布局文件代码<LinearLayout xmlns:android="htt...

2019-04-12 15:25:06 3431

原创 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 4085 1

原创 Selenium之EventFiringWebDriver事件监听

做UI层自动化比较棘手的问题就是稳定性,强壮性不足的代码运行起来会抛出各种异常让人无奈,在排查问题过程中debug模式的调试加日志信息是可以快速命中报错点的有效方式之一。初学者学习Selenium开始都是为了熟悉Selenium的方法使用,从实例化WebDriver、get方法打开浏览器输入url、findElement方法查找元素、click或sendKeys等方法的操作、最后quit方法关闭浏...

2019-04-03 18:50:27 6702

原创 Android基础知识学习- spinner使用

android基础开发中spinner控件作为基础控件之一比较常见,下面简单记录下它的使用:一、布局文件中的Spinner<LinearLayout android:layout_width="match_parent" android:layout_height="60dp" android:orientation="vertica...

2019-03-27 17:58:30 7691

原创 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 2170

原创 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 663

原创 Appium基础学习之 | Appium-Desktop日志分析

在《Appium基础学习之 | Appium-Desktop使用》这篇文章介绍了Appium-Desktop的基本流程使用,也就是把运行环境都调试通过了,下面开始分析分析Appium-Desktop的执行过程中发生了些什么事情。1.启动Appium-Desktop Server,默认端口的47232.根据DesiredCapabilities设置的所有参数值,并根据这个设置创建一个Ap...

2019-03-13 11:47:24 1795 12

原创 Appium基础学习之 | Appium-Desktop使用

本来还想继续写一篇UiAutomator2.0新增几个API的介绍,但是已经迫不及待回到Appium的轨道中来了,了解UiAutomator2.0与Instrumentation、Accessibility对于学习android自动化帮助都是特别大的,有机会还是想继续往下研究的。从这篇文章开始就正式回到Appium的使用中来了。一、Appium-Desktop下载Appium-Deskto...

2019-03-11 19:04:17 10349

原创 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 642

原创 Android基础知识学习-Instrumentation启动源码简析

Application与Activity是Android中非常重要的组件之其二,当然更多提起的还是Activity,它与用户界面有更直接的关系;当点击设备App图标时,界面上展示给用户能看到过程中,就包含启动Application与Activity的过程。应用运行的一刻,Android系统会为应用创建一个Application对象,这个对象有数据传递、数据共享和数据缓存等功能,它就如同一个...

2019-03-08 16:18:19 2882

原创 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 2251

原创 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 1706

原创 Android基础知识学习- Looper与Handler

学习Android开发,Looper与Handler是必须学会使用的,本人作为一个测试人员,在做Android测试时一直在探索,对Android开发更加是一窍不通,只能摸石头过河把基础学一下。1.主线程说到Looper与Handler就不得线程,如现在有一个需求,需要等待10S执行,在主线程中实现非常简单,代码如下      private TextView tv;      p...

2019-01-30 14:14:49 445

原创 Appium基础学习之 | UiAutomator启动命令dump、events

1.dump之前已经说过dump命令的解释了,来实操感受一下它的作用。玩过Android UI 自动化的肯定都很熟悉uiautomatorviewer这个工具了,它能帮助用户定位设备界面上的元素,然后显示元素的全部信息,便于用户使用这些信息完成一些元素定位工作。但如果uiautomatorviewer发神经获取不到设备UI界面的时候,就可以找dump帮忙了,虽然麻烦点。(1)设备或者模拟器...

2019-01-24 17:40:58 1700

原创 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 804

原创 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 1735

原创 Appium基础学习之 | AccessibilityService服务

    从Appium扯到了UiAutomator再扯到AccessibilityService服务,好像有点扯远了。而为什么要扯到AccessibilityService服务,是由于在几乎所有资料中都有一个方向就是UiAutomator基于AccessibilityService服务,而到了UiAutomator2.0又基于Instrumentation,有兴趣看到这篇文章的朋友可以注意下,在有...

2019-01-23 12:27:49 1451

原创 Appium基础学习之 | UiAutomator与Junit的关系

在《Appium基础学习之 | UiAutomator使用》文章中大概介绍了UiAutomator的使用,把代码打包成jar后推送到Android设备上并运行。然后在回顾一下《Appium基础学习之 | Appium执行日志流程分析》中讲解到的,Appium其中一个重要的步骤就是把一个Bootstrap.jar推送到Android设备,这样结合来说,应该更好的理解Appium与UiAutomato...

2019-01-11 15:01:50 639

原创 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 460

原创 Appium基础学习之 | Appium代码转换为UiAutomator代码Find

    在Appium基础学习之 | Bootstrap源码分析留的尾巴,然后通过Appium基础学习之 | UiAutomator使用过渡简单介绍了一下UiAutomator、由于在Android设备中是由UiAutomator工具接管,所以接下来看看Appium代码是如何转化为UiAutomator代码的。    在Appium基础学习之 | Bootstrap源码分析这篇文章的最后部分是...

2019-01-04 09:43:53 435

原创 Appium基础学习之 | UiAutomator使用

    在Appium基础学习之 | Bootstrap源码分析中留下了一个尾巴就是Bootstrap如何转化代码到UiAutomator执行,想了想觉得有必要先把UiAutomator使用简单了解下,于是有了本文(归于UiAutomator,现在最新版的UiAutomator2后续再讲,路需要一步步走)。    Android团队在4.1版本(API 16)中推出了一款全新的UI自动化测试工...

2019-01-03 15:44:15 2045

原创 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 621

原创 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 3564

原创 Appium基础学习之 | Appium执行日志流程分析

在上篇文章Appium执行示例中把Appium的日志保存在了本地,接下来分析一下,Appium到底是如何工作的,打开保存在本地D盘的log日志文件开始分析1.Appium服务启动默认端口为4723,这个端口是可以在启动Appium服务时自定义的,没有其他业务占用4723端口的话使用默认就好;然后可以看到日志保存的位置以及日志的等级。2.在Eclipse运行代码,开始打印下面的日志;根据...

2018-12-22 15:36:20 2260

原创 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 6362

原创 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 1972

原创 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 12035

原创 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 716

原创 Appium基础学习之 | Appium桌面应用与Appium服务启动

Appium的安装在上一篇已经大概介绍,在安装完Appium会在桌面生成一个应用程序(如果没有桌面应用程序则在安装目录下双击Appium.exe应用)一、Appium服务启动双击打开后如下:1.菜单栏第一个选项Android Settings(1)Application    本模块设置被测试app信息,如安装包路径、包名、activity等    Applicat...

2018-12-18 17:20:14 2222

原创 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 626

原创 Selenium之POM模式:自定义 VS PageFactory

什么是POM(page object model)?从英文解释为页面对象模式,说的很清楚,玩过QTP的朋友就有点懵懂了;不错,就是有点对象库的意思。还记得前面说的QTP故事的时候说到对象库编程与描述性编程吗?可以回去看看。对象库就更好理解了,就是管理对象的一个仓库,而从selenium的POM模式来说,是每个页面的对象分为一个对象库;再说明白点就是每个页面的对象定位管理起来。一、自定义...

2018-12-13 14:56:09 859

原创 Android基础知识学习(二)-布局

     布局最简单的来说就是摆放控件的位置,最终形成用户所看到的Android界面。在Android中常用的布局方式有xml文件布局、代码布局;xml文件布局是最常用的,在代码中布局控件会显得比较繁琐,代码量重。一、布局种类      1、Layout常用布局:LinearLayout(线性布局)、RelativeLayout(相对布局)      2、View布局:ListVi...

2018-12-12 18:38:27 309

原创 Android基础知识学习(一)-Activity与View

一、Activity      在测试安卓应用时,经常会涉及到Activity与Package,而很多时候总是误解的认为Activity是android的界面,类似于Web中的html文件一样。而经常这次为了能做好Android自动化,于是下定决心把Android基础简单的屡屡,让自己可以对Android应用理解更多,接下来会一点点记录自己学习的一些基础知识应用。      Activit...

2018-12-12 18:31:08 1488

原创 一个计算最大并发与最小并发的性能面试题

遇到一位测试的职友说在某个QQ群看到有人问一个性能面试题,问我会不会,我根据自己的知识点做了一些计算并记录,答案如下。题目:若每月有30000次的用户登录系统,每天8小时工作日,每月80%的登录在20%的时间内完成,每天80%的业务在20%的时间内完成,计算每分钟并发量的最大值和最小值(提示:并发用户最大值按日高峰访问量的80%同时访问计算,并发用户量最小值按照日均访问量的80%计算)...

2018-10-18 16:54:51 1158

nosqlbooster各版本注册码.txt

nosqlbooster 各个版本的注册码,支持的版本3.x,4.x,5.x。 注册之前必须断网,否则注册失败,然后配上hosts文件就完美了。

2019-09-18

Socket测试小工具.rar

一个支持Socket测试的小工具,支持UDP、TCP协议,可以作为client、server端发送、接收数据

2019-06-18

UiAutomator2.0源码

基于Instrumentation框架的UiAutomator2,0的源码包,非常实用

2019-01-11

UiAutomator1.0源码

UiAutomator1.0的源代码,最原始实现UiAutomatorTestCase的,现在网上很多都是实现Instrumentation框架的源代码,

2019-01-11

java-sqlserver-connect.jar包

java连接sqlserver使用的jar包,包含jre7、jre8两种使用

2019-01-11

selenium-server-standalone-3.5.3.jar

selenium-server-standalone-2.52.0是selenium的主要开发jar,导入后方可使用selenium对webdriver的api接口

2017-09-19

selenium-server-standalone-2.52.0

selenium-server-standalone-2.52.0是selenium的主要开发jar,导入后方可使用selenium对webdriver的api接口

2017-09-19

Selenium_TestNG_Python

Selenium_TestNG_Python

2014-09-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除