- 博客(31)
- 资源 (10)
- 收藏
- 关注
原创 如何用python编写collectd的plugin
collect的python plugin内嵌了一个python的解释器,可以方便我们用python自定义collectd的plugin,各个callback的函数定义可以参考collectd python plugin。比如自定义一个统计cpu利用率的plugin:
2016-02-15 22:04:20
4376
原创 collectd安装
collectd 5.5自带write_to_kafka plugin,不过目前需要从源代码安装,没有现成的rpm或者deb包。安装步骤如下:安装zlib,下载地址:http://ncu.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz安装librdkafka,下载地址:https://codeload.g
2016-01-16 19:57:52
3773
原创 Ruby gem包的管理
export HTTP_PROXY=http://xxx.com:xx1. 配置好Gemfile: gemfile中可以定义项目中必须要安装的包以及相应的版本号,这样就可以避免不同的安装包以及版本之间的差异带来的问题。source "http://rubygems.org"gem 'rake'gem 'fuubar'gem 'fuubar-cucumber', '0.0.18'
2014-03-23 20:47:02
6655
原创 Hudson/Jenkins -- eXtreme Feedback Panel高亮任务结果
Hudson/Jenkins中,如何及时的把每个任务的结果简明扼要的显示出来,引起每个人的注意呢?eXtreme Feeback Panel这个插件提供该功能。利用该插件,我们可以把配置对应的eXtreme Feedback视图,把任务的结果输出到一个显示器上,及时的引起项目组的注意。先上效果图:插件下载地址:https://wiki.jenkins-ci.org/display/JE
2014-03-23 20:05:46
1595
原创 Hudson/Jenkins -- 消除svn警告: "clock of the subversion server appears to be out of sync"
Hudson/Jenkins中配置svn的URL时,有时会出现如下警告信息:“WARNING: clock of the subversion server appears to be out of sync. This can result in inconsistent check out behavior”基本选择每次重新checkout最新的版本,也会出现该警告信息,其解决
2014-03-01 12:32:16
6310
原创 Hudson/Jenkins--如何自定义build name
Hudson/Jenkins的job的默认的build name一般都是基于时间格式的,如何在给出一个比时间更具有意义的build name呢,可以利用以下2个插件:Description Setter Plugin下载地址:https://wiki.jenkins-ci.org/display/JENKINS/Description+Setter+Plugin该plugi
2014-02-23 18:11:52
6395
原创 Hudson/Jenkins--配置TestNG/JUnit的email-ext email模板
Hudson/Jenkins默认提供了发送邮件的功能,但是比较有局限性。插件Email-ext提供了比较好的email功能。安装好该插件后,可以在$JENKINS_HOME($HUDSON_HOME)/email-templates目录下定义自己的email模板。下面提供一个jelly script基于junit的测试结果生成email的模板,先上email效果图:该email rep
2014-02-23 17:24:29
12171
原创 MS UI Automation简介
MS UI Automation(Microsoft User Interface Automation:UIA)是随.net framework3.0一起发布的,虽然在如今这个几乎每天都有各种新名词、新技术出来的所谓的21世纪,它显得已经有些过时了。前些日子,正好一个项目,可以
2011-07-27 16:48:37
20142
原创 利用with关键字写sql语句的一个小技巧
在写比较复杂的sql查询语句时,涉及到一个或多个select的语句,作为另外一个select语句的查询条件的情况时,如果一下子写不出来,可以利用with关键字,生成一个临时的表,然后在基于这个临时的表进行查询,这样,就减少了select语句的嵌套,同时也降低了难度。如下所示:with temp1 as (select * from table1 where item1='item1' and
2011-07-06 15:34:53
3926
原创 AQtime代码覆盖率深度分析之二
AQtime的Coverage Profiler有一些不错的特性,能方便我们更好的进行代码覆盖率的检测。 New Area和 Files to Ignore当目标module被加进来是,AQtime会以树形结构,把module的对象层次图显示出来,如c/c++
2011-07-06 14:50:21
1543
原创 AQtime代码覆盖率深度分析之一
前一篇介绍了Code Coverage的一些指标,那么如何比较简单的评价一款软件对这些指标的支持呢。由于公司的项目组选择AQtime这个工具,所以有机会能进行比较深入的体验一下。为了避免IDE自动产生的code,我们采用记事本来编写一个简单的C dll,同时,
2011-07-04 17:42:41
2751
原创 代码覆盖率分析
无论是单元测试、API测试还是功能性测试,最终都是调用了产品的代码;如何评价这些测试的效率,是否真正全部或者大部分覆盖了产品的代码,这个时候,代码覆盖率(code coverage)就是一个比较有价值的参考指标了。通常,代码覆盖率用在如下几个方面找出程序中没有被测试代码执行到的地方;增加新的测试代码,以提高代码覆盖率;分析测试代码的效率,以便设计出更有效的测试代码或测试用例代码覆盖率常用的指标语句
2011-07-03 10:06:25
18195
原创 White使用简介
最近有个文件格式转换的任务,需要把一批用旧版本上创建文件用新版本打开,存为另外一种版本。想想蛮适合自动化实现的:只是涉及到一些简单的最常用的控件, 固定而机械的操作。于是就马上想到了White这个开源的项目(http://white.codeplex.com/)(公司目前还没有商业的自动化测试工具)。 UIA & UISpyWhite是基于微软的UIA(UI automation)这套
2011-06-09 14:42:00
6484
原创 AQtime不能启动的问题
AQtime是AQA公司,现在是SmartBear的一款用于做性能分析、代码覆盖率等的工具,只支持windows系统。使用下来,虽然易用性很好,但是工具不太稳定,对于windows 7系统,有些机器还会出现安装问题。 AQtime Version: 6.50.xxxOS: Windows 7 安装好AQtime后,点击其快捷方式,想输入激活代码,但是AQtime的界面显示后,就
2011-06-07 14:10:00
3133
原创 Selenium学习笔记之五:封装几个通用的函数
<br />实际测试中,不可避免的需要等待控件完全ready,才能进行相关的操作,这个时候,就需要动态的以小步递进的方式,对某个条件判断,进行时间等待,而不是简单的等待几秒。可以把相关函数封装在一个SeleniumUtils类中,供大家调用:<br />import com.thoughtworks.selenium.Selenium;import com.thoughtworks.selenium.SeleneseTestCase;public class SeleniumUtils exte
2011-03-29 10:14:00
5522
原创 Nant使用简介续
若有如下代码目录结构:其中src下包含cs源文件,如dd.cs,class1下包含源文件,如aa.cs, bb.cs,class2下同样包含源文件,如cc.cs,共计4个cs文件。生成的dll文件将被放到release目录下,同时,还需要拷贝到一个公共的目录,比如//srv/release,可以编写如下nant文件来实现:
2011-03-04 14:17:00
1265
原创 Java程序打包成Jar包
例如有如下窗体程序,在package "cn.jar.test" 中,同时,程序有2个资源文件about.txt和about.gif:package cn.jar.test;import java.awt.*;import java.io.*;import java.net.*;import java.util.*;import javax.swing.*;public class ResourceTest { public static void main(String[]
2011-02-21 16:04:00
3470
原创 Selenium学习笔记之四:外部化相关测试数据
在写测试代码时,把locator值直接写到测试代码里面,不具备良好的可读性,同时,后期也不利于代码的维护。如下测试代码:selenium.type("userName", "seleniumtest");selenium.type("password", "seleniumtest");如果在某个build中,控件"User Name"的属性"userName"被开发人员重新改变了,这个时候,测试代码也要做相应的改动。如果把该值外部化到一个文件中,我们仅仅需要修改该文件,不需要对代码进行修改;同时,也利
2011-01-31 15:41:00
3620
原创 Nant使用简介
下载地址:http://nant.sourceforge.net/1. 创建一个最简单的target:以为标记,输出预定义的常量PROJECT_NAME 和PROJECT_VER
2011-01-21 15:33:00
6871
原创 VIX的几个常用命令
测试到一定规模后,不免会用到虚拟机,针对VMware esx,列出几条常用的命令:1. 列出esx server上的vm的存储路径(仅列出正在运行的vm)vmrun -T esx -h https://ServerIP/sdk -u ServerUserName -p ServerPassword list2. 启动某一个vmvmrun -T esx -h https://ServerIP/sdk -u ServerUserName -p ServerPassword start "[datastore1]
2011-01-12 14:51:00
3799
原创 Error: Collection was modified; enumeration operation may not execute.
<br />当用foreach遍历Collection时,如果对Collection有Add或者Remove操作时,会发生以下运行时错误:<br />"Collection was modified; enumeration operation may not execute." 如下所示:<br /> List<string> list = new List<string>();for (int i = 0; i < 10; i++){ list.Add(i.ToString());
2011-01-12 14:30:00
21547
原创 Selenium学习笔记之三
Selenium一共有6种方式来定位控件(Locating Elements):1. 控件为Hyperlink: 定位字符串为关键字"link=”加上link的显示文本,如下selenium.select("link=Register here");2. 控件具有name或者id属性,如果利用name或者id属性可以区分出来,可以采用如下三种定位字符串中的任意一种:/*control with name or id property that can identify itself. Locator str
2010-12-15 13:54:00
3796
原创 Selenium学习笔记之二
以在http://newtours.demoaut.com/index.php网站上完成一个简单的机票定制流程为例,慢慢优化:1. 打开eclipse,新建一个测试项目,在BuildPath-->Libraries中,加入selenium-java-client-driver-1.0.x文件下所有的jar包,以及junit包;2. 创建junit测试类SimpleWorkFlow, eclipse会自动创建测试的基本框架:3. 把SimpleWorkFlow的文件中的内容改写如下:import org.ju
2010-12-07 17:50:00
2043
原创 Selenium学习笔记之一
Selenium作为最流行的开源的web application的测试工具,很有必要好好的学习一下。主要学习Selenium RC,采用Java语言,开发工具eclipse, junit。开发环境准备:1. 安装JRE or JDK;2. 安装eclipse;3. 下载junit包;4. 安装firefox,并安装插件Selenium IDE, Firebug,Xpath Checker;5. 下载Selenium RC并解压缩相关链接:JRE or JDK:http://www.oracle.com/te
2010-12-07 17:25:00
2214
原创 Hudson配置slave machine
运行Hudson服务的机器叫做Master machine,通过Hudson的node功能,可以配置其他机器作为Master的slave,在master统一分配,运行任务。1. 启动Hudson;2. 点击Hudson-->Manage Hudson-->Manage Nodes-->New Node,输入要作为slave机器的机器名,并选中Dumb Slave;3. 配置相关的slave machine信息:点击Save,一个slave machine创建好了。可以在Hudson左侧栏中看到各个machi
2010-12-07 16:19:00
5114
原创 Hudson配置个人持续集成服务器
1. 安装Java Run Time or JDK,并把java安装目录设置到系统环境变量中(JAVA_HOME);2. 创建Hudson工作目录,例如d:/Hudson,并设置系统环境变量HUDSON_HOME到d:/hudson;3. 下载最新版本的Hudson安装包到d:/hudson目录下(http://hudson-ci.org/latest/hudson.war);4. 从windows命令行启动Hudson:java -jar d:/hudson/hudson.war,打开IE,输入http:
2010-11-26 13:55:00
7849
转载 使用Windows PowerShell 实现UI自动化
<br />这是从MSDN上发现的一篇文章,太长了,具体内容还是看原链接吧:<br />http://msdn.microsoft.com/zh-cn/magazine/cc163301.aspx<br /> <br /> <br />其结论是:<br /> <br />该方法非常适用于超轻型自动化的情况。当您想要执行一些快速、简便的UI自动化时,使用具有小型自定义 UI cmdlet 库的 Windows PowerShell 是个很不错的方法。当您希望从Windows PowerShell 命令行中执行
2010-11-03 16:14:00
4343
原创 C#创建Autocad实例
<br />C#创建AcadApplication实例时,有时候会创建实例失败,找了好久,参考以下链接整理了一下代码,经过测试,运行ok。<br />ref: http://through-the-interface.typepad.com/through_the_interface/2010/02/handling-com-calls-rejected-by-autocad-from-an-external-net-application.html<br /> <br />ref: http://soci
2010-09-27 14:00:00
3184
原创 Debug Error: ContextSwitchDeadlock was detected
利用Visual Studio 2005开发工具时,如果我们有很大量的数据进行处理,譬如3万多条数据写入Excel,对数据库进行频繁的读出写入,有可能会出现一下错误信息:"ContextSwitchDeadlock was detected" error message popping up when debugging. The CLR has been unable to transition from COM context 0x197060 to COM context 0x196ef0 for 6
2010-09-20 17:01:00
1668
转载 C#关闭进程树
Windows并不维护进程间的父子关系链,而是提供了另外一个妥协的办法 - Job对象。你可以自己维护相关的多个进程,或把多个进程放入一个Job对象中,以便统一管理。Windows task manager中"End Process" & "End Process Tree"分别对应kill掉一个单独的进程和一个进程树。关闭一个进程树,与之所有相关的进程也被关闭了;通常,Windows task manager中关闭一个父进程,其子进程不会被关闭(Windows并不维护进程间的父子关系链)。 分析进程的工具
2010-09-20 14:46:00
5723
原创 GIT简介
分布式版本控制系统(Distributed Version Control System,DVCS )在这类系统中,诸如 Git,Mercurial,Bazaar 还有 Darcs 等,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。 而诸如CVS,Perforce等则是集中式版本控制系统。mSysGit下载地址http://code.g
2010-09-20 14:16:00
941
高性能IO模型浅析
2018-05-05
Java应用程序性能调优
2018-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人