摘要: 当你看完WebDriver的工作原理这篇博客以后,是不是也跃跃欲试想印证文章里的理论是不是正确,想自己也看下webdriver的源代码,并且调试下,通过代码来更深入的了解WebDriver的工作原理。ok,没有问题,咱们接下来就告诉大家怎么把源代码加载到eclipse里去。具体内容如下:前提条件你需要先在eclipse创建一个java project,具体步骤就不细说了,相信大家有点基础的应该都可以创建成功的。然后去selenium官网下载selenium client。具体下载位置请看下图:一般下载的内容都是一个zip包,解压缩后的内容如下:添加libs目录里的所有jar包和selenium 阅读全文
posted @ 2014-02-16 21:00 mark.. 阅读(2071) 评论(0) 推荐(0) 编辑
摘要: 之前了解过github,并在上面看了一些项目的源代码,于是自己也在github上创建了账户,希望以后有机会也把自己的项目托管在上面去。但是前提你要先了解git/github,下面的内容是从我的好基友虫师的博客上转载过来,我觉得写不错分享给大家,也作为自己知识的积累记录下来。之前初学过一点git版本控制工具,利用github做仓库,照着github上的文档练习的了一下。不过那只篇只是照虎画猫(我的水平只能照着老虎画个猫模样,嘻嘻!)。最近在学hibernate,公司与家之间都要调用我练习的小项目,交给git/github来管理,我只想说真的爽歪歪了。本文在我之前的那篇《git/github学习笔 阅读全文
posted @ 2014-02-16 12:29 mark.. 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 大家在运行自动化case的时候都会碰到失败的情况,有的时候可能是被测程序有bug,还有就是网络的问题,如果想采取失败的case再运行一次的机制,那么有bug的情况,即使再运行N次还是失败,那么如果是网络的问题,那你再运行一次可能就会执行成功(因为再次运行的话,这时候需要操纵的页面元素会正确的加载进来),这样会大大的加强了自动化脚本的健壮性。接下来通过代码来讲解这个机制的实现过程。实际上这个机制是通过testng来实现的,虽然testng没有直接提供这种retry to run fail cases的功能,但是testng提供了实现这种功能的接口,它就是IRetryAnalyzer,一旦实现了接 阅读全文
posted @ 2014-02-14 22:46 mark.. 阅读(1070) 评论(0) 推荐(0) 编辑
摘要: 大家在用Loadrunner11录制脚本的时候,会产生多个action,比如login, search, logout.在调试脚本的时候,我不想从头开始运行脚本里的所有action,只想运行单独某几个action,这样大家可能就会想到禁用不跑的action就可以了吧。的确这样的思路是没有问题的,但是lr在vugen里没有直接提供禁用或者启用action的功能,但是我们可以通过其它途径来实现这个功能,具体操作步骤如下:录制的脚本结构如下:这时候我们想禁用和启用search和logout,那么就需要根据以下步骤来进行操作:1.右击某个action name,选择Run-time Settings, 阅读全文
posted @ 2014-02-13 14:26 mark.. 阅读(1564) 评论(0) 推荐(0) 编辑
摘要: 今天QQ群有个朋友说,他现在对webdriver的使用已经比较熟悉了,但是对于webdriver的工作原理还不是太了解。我觉得他的这些话说出一些的人的心声。大家想下如果在你面试的时候面试官问你这个问题的话,你会怎么回答呢?希望大家看了我下面写的文章会有所理解,并且会很顺利的回答出来。下面详细的阐述下WebDriver的工作原理:在我们new一个WebDriver的过程中,Selenium首先会确认浏览器的native component是否存在可用而且版本匹配。接着就在目标浏览器里启动一整套Web Service(实际上就是浏览器厂商提供的driver, 比如IEDriver, ChromeD 阅读全文
posted @ 2014-02-12 16:58 mark.. 阅读(19174) 评论(0) 推荐(0) 编辑
摘要: QTP10的安装和破解方法下载QTP10.0并安装。安装成功后,在C:\Program Files\Common Files\Mercury Interactive下创建文件夹:License Manager将破解工具mgn-mqt82.exe复制到C:\Program Files\HP\QuickTest Professional\bin下。运行mgn-mqt82.exe,ok,关闭。用记事本打开License Manager下的lservrc文件,将第一行#前的代码Copy。将代码复制到license向导中的license输入的地方,点击完成就可以了。QTP11&UFT11.5的安 阅读全文
posted @ 2014-02-11 15:03 mark.. 阅读(4774) 评论(0) 推荐(0) 编辑
摘要: 第一部分:自动化一个测试用例当你要开始自动化一个测试用例的时候,有一些重要的事情需要完成。当你完成所有这些事情的时候,测试脚本的自动化也随之完成。在这里,我们将首先在大部分的自动化测试用例里找出所有通用的任务。让我们用一个例子(GmailLogin)来理解前面所说的内容为了自动化Gmail Login,你需要写一些代码来做以下的事情:打开Gmail Url输入正确的用户名和密码点击登录按钮通过下面的图让我们更加详细的理解这一点:任务1 - 识别对象在你对任何对象做操作之前,你需要唯一地识别这个对象。比如,在你输入Email之前,你应该知道在Gmail Login界面上的2个输入框那个是Emai 阅读全文
posted @ 2014-02-10 15:40 mark.. 阅读(1825) 评论(0) 推荐(0) 编辑
摘要: 学习QTP或者其他相关任何工具的方法都是首先把基本的概念过一遍。正所谓砍柴不怕磨刀功,一旦你对这些概念熟悉了,你就可以学习该工具的高级部分了。写这篇文章的目标是列出初学QTP的人应该掌握的所有基本概念。对于那些曾经接触过qtp人来说,可以看下这篇文章介绍的checklist,看下自己对这些基础概念是否有遗漏QTP的基本概念QTP是什么?这个应该你第一次接触这个工具脑子想到的问题,你还会想QTP可以用来做什么类型的测试,并且它可以支持什么类型的应用以及QTP最新版本会有什么好东东,我可以从那可以把它下载下来,不同许可证的模式有什么不同,等等设么样的应用和测试用例可以考虑用QTP进行自动化.在你开 阅读全文
posted @ 2014-01-16 13:29 mark.. 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 今天在群里有人问到一个问题,我觉得应该会有很多人会碰到,今天根据自己的思路把这个解决方案整理出来,供自己和大家参考需求描述:当输入一个身份证号码的时候,这个号码所对应的数据会被加载到所属的省和市的下拉列表里问题描述:按照需求,手动操作没有问题,数据会被正常的加载到所需的列表里了,但是当跑脚本的时候就会发现当输入身份证号码以后,对应的数据不能被加载出来解决方法:遇到这种情况一般都是输入身份证号码以后,没有正确的触发身份证号码输入完毕的事件(一般该事件触发机制不是根据号码长度来判断,而是根据输入号码后,鼠标点击其他控件来触发该事件),这种情况就需要模拟鼠标操作来强制触发该事件,从而可以把数据正确加 阅读全文
posted @ 2014-01-15 13:30 mark.. 阅读(827) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是自动化测试框架?假定你有一个活,需要构建许多自动化测试用例来测试这个应用程序。当你对这个应用程序完成自动化测试后,你对自己创建脚本应该有什么期望吗?你难道不想要-脚本应该按照预期的来执行而且没有发生任何问题脚本和流程应该会被很容易的理解脚本是容易维护的所有以上观点需要一个合适的自动化测试框架才能被实现一个自动化测试框架是一个规范或者是约束,你需要让测试脚本遵从一些规则来完成上面提到的3点内容,这些规则或者纲要如下,比如指定一些目录结构用来存储对应的测试用例,函数库,对象库和数据表格决定数据表格格式,比如数据表个应该怎么组织,脚本是怎么访问这些数据表格的遵循正确的代码标准,并且要在代 阅读全文
posted @ 2014-01-14 15:05 mark.. 阅读(1258) 评论(0) 推荐(1) 编辑