08 2015 档案
摘要:前文讲述了通过 CSV Data Set Config 实现参数化配置(详情敬请参阅:JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置),在 JMeter 的配置元件中还有一个元件:用户定义的变量,通过 用户定义的变量,也可实现参数化的配...
阅读全文
摘要:通过 Fiddler 可以简单的模拟性能测试的并发测试,此方法非常的简单,直接讲述如何使用,敬请参阅!首先我们要获取需要并发的 HTTP请求,此操作非常简单,则在此不再赘述。获取到响应的 HTTP请求后,在 Fiddler 界面按下快捷键【Shift + R】(在大写状态下),会弹出设置模拟并发次数...
阅读全文
摘要:前文简述了如何通过 Fiddler 修改 HTTP请求 的请求参数,详情请参阅:Fiddler-006-修改HTTP请求参数。在进行 App 测试时,经常需要修改请求参数,以获得不同的显示效果,以查看相应的页面显示处理。例如:电商购物App中商品都有好几种状态(在售、缺货、暂不销售、下 架等)。同时...
阅读全文
摘要:在进行 App 测试时,经常需要修改请求参数,以获得不同的显示效果,以查看相应的页面显示处理。例如:可以通过修改 HTTP请求 的参数,来获取不同的响应结果。下面以修改 HTTP请求的商品系统编号为例,简单讲解一下如何通过 Fiddler 修改 HTTP请求 的请求参数。初始未修改时,页面显示的商品...
阅读全文
摘要:前文简述了 JMeter 如何通过 HTTP Cookie管理器,实现了在不执行登录操作的情况下,通过 Cookie 实现登录态的操作,具体请参阅:JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录。我们在日常的自动化测试脚本编写过程中,通常会...
阅读全文
摘要:前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息。参阅上篇文章,获取到 Cookie 后,将 Cookie 保存到文本文件中,例如 userCookie.txt。 下面以购物App常用
阅读全文
摘要:前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例、多参数获取,相应博文敬请参阅 简单实例、多参数获取。此文主要讲述如何引用正则表达式提取器获取的数据信息。其实,正则表达式提取器获取的数据,均可看做一个变量(单个数据,此处指所需获取的测试相关数据)或数组(多个数据),通过引用变量或...
阅读全文
摘要:众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果)。因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确。 日常常见的线上监控几个简单的监控示例场景如下: 监控电商网站某个类目下的商品数量。若类目中商品的数
阅读全文
摘要:前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)。 此文主要对正则表达式提取器的 正则表达式、模板、匹配数字,三者的关系,做进一步的讲解。 截取商品列表
阅读全文
摘要:随着网络安全(例如:登录安全等)要求的不断提升,越来越多的登录应用在登录时添加了验证码登录,而验证码生成算法也在不断的进化,因而对含登录态的自动化测试脚本运行造成了一定程度的困扰,目前解决此种问题的方法主要有如下三种:第一、OCR识别。获取验证码图片,识别图片中的验证码,此方法适用于单纯的验证码,而...
阅读全文
摘要:前文讲述了通过 Fiddler 进行网络抓包的一个小实例,具体敬请参阅博文:有些细心的小主可能发现了,我们捕获的 HTTP请求 中有一些请求不是我们需要的,而是一些非必要数据,页面如下图所示:那么我们该如何,过滤掉上述请求中域名非 www.cnblogs.com 的数据呢?Fiddler 为我们提供...
阅读全文
摘要:前两篇文章已经对 Fiddler 有了一个初始的 认识(更详细的介绍等,请各位小主自行联系度娘和谷大爷了解),以及对其的简单配置,那么此文将以一个简单的实例,给各位小主们演示一下如何抓取 HTTP 请求。此文以使用 Chrome 浏览器访问我的个人博客主页 http://www.cnblogs.co...
阅读全文
摘要:日常在应用 Fiddler 进行网络抓包时,有时需要查看服务器的类型或者其他信息,此文主要讲述实际应用中针对 Fiddler 进行的定制化配置,以方便日常的工作学习。第一:显示服务器的类型和请求域名对应的 IP 地址依次点击 【Rules / Customize Rules】或直接按快捷键 Ctrl...
阅读全文
摘要:Fiddler 是一个非常简单的网络调试器,也是目前最常用的http抓包工具之一 。通过 Fiddler,我们能够能够记录客户端和服务器之间的所有 HTTP请求,即记录并检查所有你的电脑和互联网之间的http通讯,同时可以针对特定的HTTP请求设置断点,查看所有的进出Fiddler的数据,可以分析请...
阅读全文
摘要:上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言那么我们如何获取 HTTP请求 响应结果中的数据呢?此文以获取类目 手机数码-手机通讯-苹果 结果列表中的第一个商品的系统编号为例演示(脚...
阅读全文
摘要:之前的文章中已经对如何录制 web 的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战同时,我们的手机应用(例如:京东、天猫、唯品会、携程、易迅 等等 App)所发出的请求,也可进行录制,只需要将手机连接的无线网络代理到本机(以 iPhone 为例,依次点击 【设置】/【...
阅读全文
摘要:至如下地址下载 windows 远程工具:http://www.microsoft.com/zh-CN/download/confirmation.aspx?id=18140下载完成后,依据向导进行安装,安装成功页面如下图所示:运行 DOCK 中的 远程桌面连接工具,页面如下图所示:输入要远程的计...
阅读全文
摘要:前文讲述了类名或方法的应用之一调试源码,具体请参阅:Java学习-025-类名或方法名应用之一 -- 调试源码此文主要讲述类名或方法应用之二统计分析,通过在各个方法中插桩(调用桩方法),获取方法的调用关系。通过调用关系,我们可以统计出被调用次数比较多的方法,同时也可以构建全系统调用关系链;通过操作重...
阅读全文
摘要:当先我们在日常的编程开发工作中使用编程工具(例如 Eclipse、Sublime 等等)都有相应的代码折叠展开功能,如下图所示,极大的方便了我们的编码工作。同时,我们在日常的网页,尤其的广大的博客网站的源码展示部分,都采用了此种显示方式,如下图所示(示例引用位置:008-Selenium 操作下拉列...
阅读全文
摘要:上文讲述了如何获取类名和方法名,敬请参阅:Java学习-024-获取当前类名或方法名二三文 。通常在应用开发中,调试或查看是哪个文件中的方法调用了当前文件的此方法,因而在实际的应用中需要获取相应的包名、类名、方法名、行数,从而快速定位,及统计方法被调用的次数,生成类方法关系链。相信爱钻研的小主们,通...
阅读全文
摘要:今天,看朋友编写程序,打印日志时,需要记录当前类的类名以及当前方法的方法名,我发现 TA 将类名或者方法名直接写死在了代码中。。。虽说这样可以实现记录类名和方法名,但是当有特殊情况需要修改类名或者方法名时,源码中涉及类名或者方法名的地方必须同步变更,若修改的地方比较多,难免可能发生有遗漏的地方,那么...
阅读全文
摘要:随着移动端 App 测试自动化的兴起,为更好的控制产品质量,越来越多的中大型公司开始了移动端的自动化测试。Appium 自动化测试技术也是我很早之前就想学习的一门技术,却一直没有比较空余的时间来学习(也许是自己懒得缘故吧 ^_^),自今天开始我将开始自己的移动端 UI 自动化测试之旅。Appium ...
阅读全文
摘要:Selenium 获取 JavaScript 返回值非常简单,只需要在 js 脚本中将需要返回的数据 return 就可以,然后通过方法返回 js 的执行结果,方法源码如下所示: 1 /** 2 * Get Object of return from js 3 * 4 ...
阅读全文
摘要:之前有写过两篇博文讲述了 WebUI 自动化测试脚本中常用的截图方法,敬请参阅如下所示链接:浏览器显示区域截图浏览器指定区域截图那么当需要截取的区域不在浏览器显示窗口范围之内时,之前的方法显然无法满足,那么该如何操作呢?刷新页面,相当于页面归位操作判断要截取的区域范围与当前浏览器显示区域大小关系,若...
阅读全文
摘要:获取 body 元素大小的方法,非常简单,直接上码,敬请参阅! 1 /** 2 * Get body size 3 * 4 * @author Aaron.ffp 5 * @version V1.0.0: autoSeleniumDemo main....
阅读全文
摘要:我在之前的文章中曾给出浏览器显示区域截图的方法,具体请参阅 。或许,有些小主已经想到了,每次都获取整个显示区域的截图存储,那么经过一段时间后,所使用的图片服务器的容量将会受到极大的挑战,尤其是在产品需要获取页面样式截图或断言失败截图比较多的情况下。解决此问题有两种途径,一是定期清理过期的样式截图;二...
阅读全文
摘要:之前的文章讲述了通过 WebDriver 如何启动 Firefox、Chrome 浏览器,及其相应的 MacOX 环境配置,请各位小主们参阅以下链接:既然是在 MacOX 中穿插学习 PySe,那怎么可能少了 Safari 浏览器呢,幸运的是 Selenium2 支持了 Safari 浏览器,下面就...
阅读全文
摘要:之前的文章讲述了如何在 MacOX 下配置 Python + Selenium2 的 WebUI测试自动化环境配置,敬请参阅 PySe-001-基础环境配置(MacOX) 。此文主要讲述如何配置 Python + Selenium2 在 Win7 下的 WebUI测试自动化环境配置,敬请各位小主...
阅读全文
摘要:上篇文章简略讲述了 WebDriver 启动 firefox 浏览器的示例脚本源码,具体请参阅: PySe-003-Se-WebDriver 启动浏览器之一 - Firefox此文主要讲述在 MacOX 系统下如何配置 Chrome 的测试环境,及如何通过 Python 启动 Chrome 浏览器。...
阅读全文
摘要:此文主要演示 MacOX 下 WebDriver 启动 Firefox 浏览器,因 WebDriver 对 Firefox 浏览器是原生支持的,因而无需像启动其他浏览器一样需要相对应的 driver。启动 firefox 浏览器的代码非常的简单,直接上码了,敬请参阅。操作内容如下所示:启动 fire...
阅读全文
摘要:非常简单而又国际化的例子 Hello World!在控制台依次输入命令:python, print "This is first program %s" % "Hello Python",运行结果如下所示:Aaron-test:pyse aaron$ pythonPython 2.7.6 (defa...
阅读全文
摘要:Python 是一种面向对象、解释型计算机程序设计语言,其源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。由于Python语言的简洁、易读以及可扩展性,已成为广大攻城狮最受欢迎的程序设计语言之一。其在设计上坚持了清...
阅读全文
摘要:上篇文章中概述了 Ant windows 环境的基本配置,此文讲述在初次使用的过程中遇到的问题。今天通过 ant 执行 TestNG 测试用例时,执行报错,相应的错误信息如下所示:Buildfile: D:\DevTool\autoUI_64\workspace\ReportNG\build.xml...
阅读全文
摘要:一、Ant 概要基础知识Apache Ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git、TestNG等搭建持续集成测试开发环境,从而高效、高质量的构建产品。Ant 有以下一些优点:跨平台,可移...
阅读全文
摘要:在自动化脚本编写过程中,操作元素之前,需要对元素进行高亮显示(通过修改元素的边框样式),同时进行截图,以记录操作的元素对象。在实际应用中较为少见,通常用于演示,或者发生错误时的屏幕截图捕捉,用于错误报告分析。直接上码了...... 1 /** 2 * 3 * @func...
阅读全文
摘要:通过 JS 或 JQuery 获取到元素后,通过offsetLeft、offsetTop、offsetWidth、offsetHeight 即可获得元素的位置和大小,非常的简单,直接上源码了,敬请参阅! 1 /** 2 * Get element position by jquer...
阅读全文
摘要:自动化测试过程中,有时需要获取元素的位置、大小,以获取元素的位置,通过 Actions 模拟鼠标,进行相对坐标操作。例如,有些元素定位不方便,或者需要对某一元素相对区域范围进行暴力点击测试,此时就需要获取相应的坐标。获取元素位置和大小的源码比较简单,直接上码了......敬请参阅! 1 /*...
阅读全文
摘要:非常简单的源码,敬请各位小主参阅。若有不足之处,敬请大神指正,不胜感激! 1 /** 2 * Verify the element exist or not 3 * 4 * @author Aaron.ffp 5 * @version V1...
阅读全文
摘要:在自动化脚本编写过程中,经常需要获取页面元素的文本进行判断,以便对于不同的文本进行不同的处理。比如:很多的购物网站,加入购物车的按钮是有多个状态的(加入购物车、到货通知、暂不销售等),那么在实际的操作过程中,需要对此按钮对应的不同的值,执行相应的逻辑。代码相对比较简单,在此不再详细说明了,直接上码,...
阅读全文
摘要:日常的 Web UI 自动化测试过程中,get 或navigate 到指定的页面后,若想截图的元素或者指定区域范围不在浏览器的显示区域内,则通过截屏则无法获取相应的信息,反而浪费了无畏的图片服务器资源,当然,最重要的还是未能达到自己的预期,是不是很内伤啊。此时,我们就不得不像正常用户操作一样,通过滚...
阅读全文
摘要:非常简单的方法封装,就不啰嗦了,直接上码咯 ^_^ 1 /** 2 * Get element. It will be return null when there is not such element. 3 * 4 * @author Aaron....
阅读全文
摘要:通常我们在进行自动化测试的过程中,有时候需要对页面进行截图,以保存此时的页面,用作后续的判断或测试报告。在 Web UI 自动化测试脚本过程中,通常有以下几种截图的要求:常规截图 - 页面样式(全页面)。此种应用也较为广泛,主要发生区域为:UI 或测试人员对页面样式的检验,应用于所有页面的截图,将对...
阅读全文
摘要:在 Web UI 自动化测试的过程中,通常会测试页面在不同分辨率下的显示效果,即在不同大小的显示器上全屏浏览器后的页面展示,此种测试方法需要购置不同大小的显示器,或者频繁的设置屏幕分辨率,不仅浪费了大量的金钱,同时也需要有人值守,从而使测试变成了半自动化,背离了自动化测试的初衷,也在一定程度上困扰了...
阅读全文
摘要:之前的博文 020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小) 简述了通过 JavaScript 获取浏览器显示区域大小,此文将简述另一种获取浏览器显示区域大小的方法,即通过 WebDriver 的截图功能,获取显示区域的截图,通过截图的大小获取浏览...
阅读全文
摘要:前几篇文章中简略概述了,如何获取、设置浏览器窗口大小,那么我们该如何获取浏览器显示区域的大小呢?此文讲对此进行简略概述,敬请各位小主参阅。若有不足之处,敬请各位大神指正,不胜感激!获取浏览器显示区域的方法,我目前想到的只有以下两种方法:1、通过 JavaScript 获取浏览器显示区域的大小2、通过...
阅读全文