随笔分类 - Selenium
一个自己比较喜欢的开源的java语言的功能测试工具--Selenium。该工具的使用还是很畅销的。推荐中。。
摘要:CucumberPeople 网站:http://alterhu.github.io/CucumberPeople/This eclipse plugin based onRubyMine,and It includes all Cucumber Features you known,But It'...
阅读全文
摘要:Do your scripts suffer from the following automation test flaky symptoms?Test randomly failWorks on your machine but not on another machineTest take a...
阅读全文
摘要:selenium自带了对应的API可以上传问题,如果这个上传文件的html code中显示的type是file那么你就可以使用下面的代码上传文件。/** * click the upload button to upload the file ,this is for hte webFile element ,the input type is file * @param driver * @param e * @param filepath * http://sauceio.com/index.php/2012/...
阅读全文
摘要:主要的问题可能就是页面加载的问题,有时候页面没有加载成功导致对象找不到,从而导致脚本不能运行。主要使用的方式是,在测试的全局中设置一个页面的加载时间,如果timeout就是没有找到对象。如下参考:http://chon.techliminal.com/ajax_wait/#/intro这个可以使用在所有的页面跳转中。但是对于在测试中交互的对象的显示可以使用如下的代码解决。 /**wait for the ajax to be completed * inspired by the the blow url: * @link http://hedleyproct...
阅读全文
摘要:/** * getCurrentURL:(get the current page URL address). * @author huchan * @param driver --- the web driver instance * @return String ---the url of current page * @since JDK 1.6 */ public String getCurrentPageURL(){ String pageu...
阅读全文
摘要:使用QTP习惯了,在QTP中可以通过访问对象的highlight方法直接高亮对象,确实很方便,那么如何让Selenium高亮页面的测试对象了,可以通过javascript修改页面对象的属性进而高亮对象,如下coding: public void highLight(WebElement e) { if (driver instanceof JavascriptExecutor) { String script="arguments[0].style.border='3px solid red'";JavascriptExecutor j...
阅读全文
摘要:利用selenium的可以执行javascript脚本的特性,我写了一个java版本的获得页面加载速度的代码,这样你就可以在进行功能测试的同时进行一个简单的测试页面的加载速度的性能测试。我现在的项目用途主要是在功能测试的同时获得各个测试页面的加载速度,看看哪些页面的加载速度比较慢,如果加载的时间太慢,我就专门针对这个页面使用YSlow工具去检查一下这个页面,然后给出这个页面加载比较慢的建议,提交给开发人员,让他们自己去看看如何解决这个问题?通过调用通用的浏览器的Performance.timing接口API进而获得页面的真实加载速度。这里需要注意的是,通过调用APIwindow.perform
阅读全文
摘要:使用Selenium的framework,大家免不了要使用他的page object pattern来开发适合自己的framework,原因很简单,page object 可以将测试的对象抽象成一个个的class 类,每个页面对应一个page的class。这个有点类似于QTP的对象库,所以使用它的好处显而易见。一个好的framework是可以节省很多的coding的。所以你在使用page object的时候可以先写一个基础的page object的类,然后其他的任何的page都继承这个类,这样的好处就是符合面向对象编程的多态的特性,而且在其他的page对象中很容易引用基础类中的method,这
阅读全文
摘要:自己在google code中开源了自己一直以来做的两个自动化的框架,一个是针对QTP的一个是针对Selenium的,显而易见,一个是商业的UI automation工具,一个是开源的自动化工具。只是代码,可能你直接看的话,有点不太懂。呵呵,其实也不是想让大家都懂的。简单介绍下:qtp的项目是在:https://code.google.com/p/qtp-reporter/这个框架支持QTP分布式单独执行,内置一个我们这边人做的Monkey的框架,其实做执行还可以,但是如果真的要用的话,其实还是很臃肿的。。。。。QTP访问的共用的libraries是通过一个共享服务器的形式做的,file sh
阅读全文
摘要:自己在google code中开源了自己一直以来做的两个自动化的框架,一个是针对QTP的一个是针对Selenium的,显而易见,一个是商业的UI automation工具,一个是开源的自动化工具。只是代码,可能你直接看的话,有点不太懂。呵呵,其实也不是想让大家都懂的。简单介绍下:qtp的项目是在:https://code.google.com/p/qtp-reporter/这个框架支持QTP分布式单独执行,内置一个我们这边人做的Monkey的框架,其实做执行还可以,但是如果真的要用的话,其实还是很臃肿的。。。。。QTP访问的共用的libraries是通过一个共享服务器的形式做的,file sh
阅读全文
摘要:最近一个爱尔兰的同事介绍了我们agile模式下的automation的工作机制,提到了测试金字塔的概念。值得推敲。其中主要的思想就是,针对automation工作我们更多的focus点应该是Unit test,对于所有的UI Automation工作所在的级别比较高,但是我们更应该的注意的是所有的UI Cover的点其实都应该在Unit Test中Cover到的,如何UI 测试中出现了任何问题其实都可以追究到Unit Testing没有Cover到。体现了Unit Testing的重要性。Unit Test应该做的比UI Automation和Service Automation做的更多。如下
阅读全文