10月 10

使用jcabi-ssh在java中操作ssh命令

使用jcabi-ssh在java中操作ssh命令

如果我们想在java代码中远程连接ssh,并且执行一些shell命令,可以使用jcabi-ssh这个小框架,纯java编写,很方便。这里介绍一下如何使用。

依赖

java框架,依赖的包肯定是jar文件了,jar包地址http://repo1.maven.org/maven2/com/jcabi/jcabi-ssh/1.1/jcabi-ssh-1.1.jar,如果使用maven管理,可以添加依赖: 继续阅读

10月 10

Android代码注入框架RoboGuice

Android代码注入框架RoboGuice

概述

RoboGuice 2可以让我们更方便、快捷地编写android代码。在写android代码时,我们在使用getIntent().getExtras()可能会忘记判空,findViewById()必须强制转换成TextView很别扭?RobotGuice 2可以帮我们省掉这些步骤。

RoboGuice 2可以注入到View,Resource,System Service或者其他任何对象中,我们不必在关心这些细节。 继续阅读

8月 24

Java读写Excel

Java读写Excel

工作中经常需要对Excel进行读写操作,java操作excel文件比较流行的是apache poi包,excel分为xls(2003)和xlsx(2007)两种格式,操作这两种格式的excel需要不同的poi包。

  • xls格式
      <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi</artifactId>
          <version>3.11-beta1</version>
      </dependency>
    
  • xlsx格式
      <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-ooxml</artifactId>
          <version>3.11-beta1</version>
      </dependency>
    

继续阅读

8月 23

一次数据库误update之后的数据恢复

工作需要,要对数据库(mysql)数据进行对比,写完测试脚本。想在表中修改一条数据,然后运行程序看看效果。正确的sql  update table1 set amount = 100 where id=123;。可是实际情况是没有写where条件,就按下了回车,shell很快返回“******条数据已经被修改”,晕了。还好,我不是DBA,我只有权限动测试库,可是测试库也是十几个人公用的。看了下时间21:30,其他都下班了,不着急自己慢慢搞。 继续阅读

7月 30

Selenium-spoon-plugin插件开发

对于web系统的自动化测试,selenium使用比较多,它支持多种语言java、python、C#等,本文中使用java。selenium执行case时,支持截图,代码如下:

File file =  ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(file, new File("screen.png"));

后面用Robotium写android自动化的时候,在github上发现android-spoon这个插件,可以将android自动化运行时的截图生成html报表,提供单机图片预览,多机图片比较等功能。于是想到也可以用到selenium上。初步做了实现,后续逐步改进。现在实现的功能有:

  • html浏览单独浏览器上case执行中的截图
  • 预览单个case截图的gif动态图
  • 查看case执行过程中日志(使用log4j)

继续阅读

7月 28

Java生成动态GIF图片

写selenium自动化时,为了查看运行效果,后给浏览器截图,想到可以生成gif图片来快速预览。看到已经有人实现了,直接拿过来。作者是Kevin Weiner

共涉及到三个java文件,分别是NeuQuant.java,LZWEncoder.javaAnimatedGifEncoder.java,有了这三个文件,我们可以自己编写方法调用

chrome_com.yeetrack.selenium.test.BrowserTest_baiduTest

继续阅读

7月 15

Review board整合ldap

Review board是个免费的code review平台,安装简单,功能强大,支持svn、git,并且它支持多种认证方式。
Review board已经支持ldap登录,我们需要做的就是一些安装、配置工作。首先review board需要python-ldap,如果没有安装,我们在打开ldap配置页面,就会提醒LDAP authentication requires the python-ldap library, which is not installed.

python-ldap下载地址https://pypi.python.org/pypi/python-ldap/,下载完成后,安装 继续阅读

7月 14

Httpclient MultipartEntity is deprecated

HttpClient是apache提供的很方面的java http客户端,它可以模拟浏览器发送请求,get、post、head等。我们在提交post表单时,表单中如果需要上传文件,那么表单的类型一般是**enctype=”multipart/form-data”,HttpClient也提供这种方法,需要用到http-mime.jar这个包。

MultipartEntity mutiEntity = newMultipartEntity();
File file = new File("d:/photo.jpg");
mutiEntity.addPart("desc",new StringBody("你好吗?", Charset.forName("utf-8")));
mutiEntity.addPart("pic", newFileBody(file));

httpPost.setEntity(mutiEntity);

在比较新的httpmime包中,MultipartEntity这个类已经不推荐使用了,推荐使用下面的方式 继续阅读

7月 14

Solr初级教程

预览

本文档简要介绍如何运行solr,如何进行数据操作。

环境

本教程使用solr 4.9,需要。。。
1. Java 1.7或者更高。 2. 下载solr,地址

开始

解压solr压缩包,并且进入到“example”文件夹中。

Solr可以在很多Java容器中运行,本教程使用jetty。

运行example文件夹中的start.jarjava -jar start.jar,就可以使用jetty运行solr的war包,配置文件使用的是example中的configs。
上面的命令会启动jetty服务器,端口默认是8983,并且会将日志打印到控制台。
可以通过http://localhost:8983/solr/来打开solr的管理员页面 继续阅读