- 博客(181)
- 收藏
- 关注
原创 测试开发 - 十年磨一剑(五)UI自动化测试框架与分层结构
Selenium是自动化工具,工具,工具!面试的时候不想再听到谁说用的测试框架是Selenium。构成框架的组件,最起码应该具备以下的功能:
2021-12-14 22:37:50
4581
原创 测试开发 - 十年磨一剑(四)Selenium与使用
Selenium的细节太多,需要大量的使用经验支持,这里只说一下基础,让Selenium先跑起来。1. 启动2. UI元素定位3. Selenium Grid
2021-12-13 18:46:19
759
原创 测试开发 - 十年磨一剑(三)UI自动化与Selenium
Selenium作为UI自动化的传奇工具,十几年来占据了大部分市场,虽然现在有Cucumber、Cypress挑战仍然居于霸主地位。最近更新了Selenium4,其中IDE的更新暂且不提,毕竟很久不录制了,新版本使用了W3C协议,更新了Grid,新增了相对定位器等等。
2021-12-11 09:51:05
241
转载 搞懂webdriver的底层原理才敢说自己懂自动化
一:Selenium的历史selenium1.x:这个时候的selenium,使用的是JavaScript注入技术与浏览器打交道。需要Selenium RC启动一个Server,将操作Web元素的API调用转化为一段段Javascript,在Selenium内核启动浏览器之后注入这段Javascript。Javascript可以获取并调用DOM的任何元素,自如的进行操作。由此才实现了Selenium的目的:自动化Web操作。这种Javascript注入技术的缺点是速度不理想,而且稳定性大大依赖于Se
2021-12-07 20:30:32
399
原创 测试开发 - 十年磨一剑(一)测试与分类
软件测试是为了发现软件产品中的各种缺陷,而对软件产品进行验证和确认的活动过程,这是我最早接触到软件测试的定义。
2021-11-20 14:40:53
221
原创 测试开发 - 十年磨一剑(序)
很久没有记博客了。注意,这里用的是记字,而不是写,说明老夫还是有自知之明的,毕竟这里虽然有百十篇博客,但大部分都是转载的,原创只有寥寥20篇。当时的想法很简单,文章看过了,学会了,还是想记下来,分门别类存在自己随时能够翻找到的位置。现在想想老夫还是挺有先见之明的,原先大部分的文章都已经找不到出处了,引用的链接也都已经失效,难免有种沧海桑田的感觉。掐指一算,老夫在软件测试行业已经摸爬滚打了近十年,目前想要渡劫成为Senior,别问等级为什么用英文声明,后边用的地方还有很多。前几日天心波动,冥冥
2021-11-20 13:15:24
3898
原创 【学习笔记】系列十九:TestNG - IRetryAnalyzer
重做失败的case是常用的操作实现方法1 - 使用RetryAnalyzerCount,此类继承自IRetryAnalyzerimport org.testng.ITestResult;import org.testng.util.RetryAnalyzerCount;/** * An implementation of IRetryAnalyzer that allows yo...
2019-02-27 15:34:59
1133
原创 【学习笔记】系列十八:TestNG - ITestNGListener
自定义Listener继承ITestNGListener ITestListener ISuiteListener IReporter IInvokedMethodListener IHookable ... 以上接口均继承自ITestNGListener,可以根据不同需求选用不同接口。对于ITestListener,实际应用过程中,...
2019-02-27 15:12:41
1356
原创 Apache HttpClient 4.5实现https
没什么,就是记录个代码。全部信任的import org.apache.commons.collections.MapUtils;import org.apache.http.*;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPos...
2019-02-26 16:53:09
1716
转载 《jmeter:菜鸟入门到进阶》系列
看到的文章,记录一下,省的自己整理了。(转自https://www.cnblogs.com/imyalost/p/7062784.html)jmeter是我从事软件测试工作以来接触的第一个性能测试工具,也是耗费时间精力最多的一个工具,当然,学习jmeter过程中,由于知识储备不够,也顺带学习了很多其他相关的一些知识。一直有个想法,就是把jmeter写成一个完整的系列,包括元件构成、用法、不...
2019-02-26 11:02:49
555
原创 记一个TestNG的教程链接,适合入门学习
查看TestNG官方文档的时候,巧合发现了这个教程网站,很不错,TestNG入门学习的时候可以看看,也适合当工具书。 TestNG Hello World示例 - 开始使用TestNG,创建一个简单的测试用例以及如何执行它。 TestNG配置注释 - 此示例演示TestNG中支持的配置注释列表。 TestNG预期异常测试 - 这个例子演示了如何做异常测试 - @Test(expe...
2017-07-28 11:06:28
622
转载 selenium自动化测试资源整理(含所有版本chrome、chromedriver、firefox下载链接)
今天把手头有的一些关于selenium测试的资源整理了一下,分享出来。1. 所有版本chrome下载是不是很难找到老版本的chrome?博主收集了几个下载chrome老版本的网站,其中哪个下载的是原版的就不得而知了。http://www.slimjet.com/chrome/google-chrome-old-version.phphttp://google_c
2017-06-16 11:33:18
1222
原创 【学习笔记】系列十七:Logback.properties
至于为什么用logback,请看http://www.oschina.net/translate/reasons-to-prefer-logbak-over-log4j这里留下一个简单的配置文件:####################控制台日志##################日志输出格式stdout.pattern=[lf-1][service][%d{yyyy-MM
2017-06-06 14:11:18
4063
转载 关于接口测试的总结
1. 接口测试:是测试系统组件间接口的一种测试。主要用于检测外部系统于系统之间以及系统内部各个子系统之间的交互点。重点测试的时数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等等,这要求对业务逻辑有一定程度上的理解,对数据流向有较好的定位。 2. 接口测试的分类: a) 系统与系统之间的调用(如分享时,微信会提供接口给“跑向珠峰”); b) 上层服务对下层服务的调用
2017-02-09 19:03:39
2926
原创 【学习笔记】系列十六:Ant单元测试TestNG
最后的Ant,是TestNG说实话TestNG的测试报告也不是很美观,所以引入了ReportNG,放心,这个只是个jar包,不需要做太多的其他操作不过官方的ReportNG有一个中文显示乱码的bug,需要修改源码重新编译TestNG自身的testng.xml就不说了,直接上Demo:也是自己的代码,不怕丢人
2017-02-07 09:35:47
586
原创 【学习笔记】系列十五:Ant单元测试JUnit
好了,接下来继续Ant,有关单元测试,涉及到JUnit和TestNG首先来说JUnit,执行用例很简单,但是大部分人应该不仅仅需要执行,更多的是想要得到测试报告JUnit自生成.xml格式的测试报告,不过可视性不是很好,需要整理而且,IDE下的JUnit执行后,测试报告是不自动储存的Demo如下:这次的代码是自己的,不会出现xxxx了
2017-02-07 09:07:32
540
原创 【学习笔记】系列十四:Ant安装与使用举例
近期在研究持续集成,涉及到Jenkins,GitLab,Ant,Maven等主流工具与技术,会慢慢整理成博文,以作参考首先是AntAnt安装:官网主页:http://ant.apache.org/下载地址:http://ant.apache.org/bindownload.cgiWindows下载解压zip,环境变量添加ANT_HOME,值为解压路径,并在PATH中添加
2017-02-06 18:33:36
394
原创 硬盘IOPS与读写速度
IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。随机读写频繁的应用,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。另一个重要指标是数据吞吐量(Thr
2016-07-23 14:32:00
30945
1
转载 Jmeter教程索引贴
作者:Glen.He 出处:http://www.cnblogs.com/puresoul/ 一、基础部分:使用Jmeter进行http接口测试Jmeter之Http Cookie ManagerJmeter之HTTP Request DefaultsJmeter之逻辑控制器(Logic Controller)Jmeter属性和变量Jmeter组件执
2016-07-20 10:47:52
723
转载 配置Log4j
原文:http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格
2016-07-20 10:38:34
232
转载 性能测试总结(三)--工具选型篇
作者:Glen.He 出处:http://www.cnblogs.com/puresoul/ 本篇文章主要简单总结下性能测试工具的原理以及如何选型。性能测试和功能测试不同,性能测试的执行是基本功能的重复和并发,需要模拟多用户,在性能测试执行时需要监控指标参数,同时性能测试的结果不是那么显而易见,需要对数据进行分析。这些特点决定了性能测试更适合通过工具来完成。
2016-07-20 10:36:25
446
转载 性能测试总结(二)---测试流程篇
作者:Glen.He 出处:http://www.cnblogs.com/puresoul/ 本文主要介绍下性能测试的基本流程,性能测试从实际执行层面来看,测试的过程一般分为这么几个阶段,如下图: 下面分别介绍下每个阶段具体需要做什么:一、性能需求分析: 性能需求分析是整个性能测试工作开展的基础,如果连性能的需求都没弄清楚,
2016-07-20 10:34:51
542
转载 性能测试总结(一)---基础理论篇
作者:Glen.He 出处:http://www.cnblogs.com/puresoul/ 随着软件行业的快速发展,现代的软件系统越来越复杂,功能越来越多,测试人员除了需要保证基本的功能测试质量,性能也随越来越受到人们的关注。但是一提到性能测试,很多人就直接连想到Loadrunner。认为LR就等于性能测试,其实这是不对的。LR只是性能测试的一个工具,但性能测试不
2016-07-20 10:34:05
995
转载 接口测试总结
作者:Glen.He 出处:http://www.cnblogs.com/puresoul/ 本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容
2016-07-20 10:25:02
484
原创 【学习笔记】系列十三:使用JMeter进行性能测试之Java请求
"Java请求"测试是指通过JMeter工具对Java Class进行压力测试。JMeter可设定测试时的并发线程数、循环次数或测试时长等,模拟出巨大的负载后便可观察在不同压力下程序的强度和分析出整体性能。 一.启动JMeter 下载:http://jmeter.apache.org/download_jmeter.cgi启动:Linux环境
2016-04-20 09:38:15
475
原创 【学习笔记】系列十二:Google Espresso和Robolectric配置实例
一、Google Espresso首先创建一个最简单的Android项目,包含一个Hello World的TextView。打开Build Variant,选择Android Instumentation Tests。在build.gradle中配置Espresso,增加的代码如下:apply plugin: 'com.android.application' android {
2016-03-07 16:29:07
963
原创 Android性能优化
网上看到的好文章,自留传送门。性能优化总纲——性能问题及性能调优方式性能优化第一篇——数据库性能优化性能优化第二篇——布局优化性能优化第三篇——Java(Android)代码优化性能优化第四篇——移动网络优化性能优化实例
2016-03-07 11:17:19
293
原创 【学习笔迹】系列十一:Android Studio实现JUnit Instrumentation测试
Eclipse转入Android Studio,单元测试是无论什么地方都要做的。Eclipse环境下,使用JUnit做单元测试,对应Lib项目就不多说了,十分简单,傻瓜调用就行。对于需要Android系统支持,必须在模拟器或真机下执行的项目,简单的Unit Test无法实现,刚刚接触时也就是只知道Junit,使用简单,也比较熟悉、顺手。对应需要Android系统支持的,各种搜索之后了解到了
2016-03-07 10:57:10
2062
转载 APP测试功能点总结
1.功能性测试: ——根据产品需求文档编写测试用例。 ——软件设计文档编写用例。 注意:就是根据产品需求文档编写测试用例而进行测试。 2.兼容性测试: ——android版本的兼容性 ——手机分辨率兼容性 ——网络的兼容性:2G\3G\4G\WIFI,弱网下、断网时 ——app
2016-02-25 13:45:50
681
转载 性能测试新手常犯错误总结(七):你需要调优么
测试人员喜欢在得到某个达不到预期的性能结果后,进行一下“调优”。 PM有时也会布置任务,测试完成后“调一个优”。 一些人貌似有了这种观念:调优才使性能测试有意义、性能测试的目的就是调优、做调优才能显出测试人员的水平…… 随着经验的增长和对性能更深入的认识,我越来越体会到调优是一个复杂的过程,不是动动嘴、改俩个参数这么简单,只有通过科学的方法
2016-02-24 14:38:27
470
转载 性能测试新手常犯错误总结(六):性能监控
"数据库(或中间件)非常慢了,如何监控它的性能” “你想得到什么性能指标?” “就是……内部的性能指标” 收到性能测试人员这样的问题后,通常会发生上面的对话。 我的观点是,准确的说出你想要做什么,比你会不会做更重要。 那么对于性能测试人员来说,”性能监控“这门必修课,该从何下手呢? 监控什么 如果我给你一个黑盒子,告诉你里
2016-02-24 14:37:48
323
转载 性能测试新手常犯错误总结(五):如何提出一个好的性能问题
经常会见到新人提出这样的性能问题: “100用户时,A操作响应时间达到了XX秒,请修改。” 面对这样的问题,开发人员一定会觉得很无助,他们甚至不知道问题是什么。 即使从测试人员的角度来看,这也算不上是一个合格的问题。 那么一个好的性能问题应该是什么样呢? 好问题要描述清晰 100个用户,是指
2016-02-24 14:36:38
503
转载 性能测试新手常犯错误总结(四):一切来自录制
经常会有性能测试新手问这样的问题: C/S的系统如何录制,应该选择什么协议呢? 待测系统A的一个功能,是由B系统调用的,也需要搭建B系统的测试环境并对其录制么? 我的回答是,先弄清楚你想测的是什么?对它而言,压力又是什么? 新手总是想着如何录制客户端的操作,如何模拟客户端的点击。这种想法应该是受到了主流测试工具影响,性
2016-02-24 14:35:42
344
转载 性能测试新手常犯错误总结(三):用户数与压力
同样的项目、同样的性能需求,让不同的测试人员来测,会是相同的结果么? 假设有这样一个小论坛,性能测试人员得到的需求是“支持并发50人,响应时间要在3秒以内”,性能测试人员A和B同时开始进行性能测试(各做各的)。 只考虑发帖这个操作,A设计的测试场景是50人并发发帖,得到的测试结果是平均完成时间是5秒。于是他提出了这个问题,认为系统没有达到性能期望,需要开发人员进
2016-02-24 14:34:44
1945
转载 性能测试新手常犯错误总结(二):为什么我模拟的百万测试数据是无效的?
测试环境的重要性无需多说,大家都知道测试环境要尽量的模拟生产环境,当然也包括数据。这样测试的结果才会更加准确的反应真实的性能。就连开发过程,都已经开始在大数据量下加压开发了。那么,关于测试数据,你了解多少呢? 通常说的测试数据可以分为两类: 一是为了测试性能而准备的数据,这是用来模拟“压力”的数据 也就是常说的
2016-02-24 14:28:31
642
转载 性能测试新手常犯错误总结(一):找不到测试点,不知为何而测
有过一些性能测试经验的人很容易进入此状态,他们已经熟悉了性能测试的基本流程,能够比较熟练的使用测试工具开展工作。我大概从事性能测试一年左右时遇到了这个问题,那时我觉得性能测试的过程没有太多挑战,遇到的每一个系统,仿佛都可以用同样的流程完成。半天时间填写测试方案,一天时间来准备测试环境,一天时间准备测试脚本,一到两天来完成各种测试用例(基准测试、日常压力测试、峰值压力测试、绝对
2016-02-24 14:21:37
434
转载 Lua 语言 15 分钟快速入门
-- 两个横线开始单行的注释--[[加上两个[和]表示多行的注释。--]]1. 变量和流控制。num = 42 -- 所有的数字都是double。-- 别担心,double的64位中有52位用于 -- 保存精确的int值; 对于需要52位以内的int值, -- 机器的精度不是问题。s = 'walternate' -- 像Python那样的不可变的字符串。
2015-10-27 15:04:33
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人