开发人员看测试之运行Github中的JBehave项目
本文要阐述的主要有两点,一是介绍自动化测试框架JBehave,二是介绍如何在Github上拉项目,编译成myeclipse环境中的项目,并最终导入Myeclipse中运行。
JBehave是何物?
JBehave是基于BDD框架的开源自动化测试框架。提供Web集成的BDD层扩展。
JBehave特征:
- JBehave是纯Java实现,可以利用Java丰富的API为己所用;
- 具有基于文本的story,可以对其进行定义并执行,比较灵活和易扩展;
- 基于注解(Annotation)的运行配置信息,指定story对一个的steps类文件;
- 支持依赖注入;
- 具有多种不同呈现方式HTML、XML、TXT等的story report;
- 支持多种IDE编辑环境;
- 支持Ant、Maven集成;
- 可以使用Junit或者任何基于annotation的测试框架运行story测试。
JBehave Web特征:
- JBehave Queue:允许stories异步运行
- Web Runner:允许stories同步运行
- Selenium Integration:支持使用Selenium进行网页自动化测试
构建一个JBehave的应用的5大步骤:
- Write story
- Map steps to Java
- Configure Stories
- Run Stories
- View Reports
从了解BDD到JBehave,一直在想的就是像当初学习Prefuse那样,可以先搭起环境,然后run一些demo,这样更加直观,也更方便调试学习。可是这一路并不顺利(客观来说,还好,花了两三个晚上),在Github大行其道的时候,却一直没有从github上pull项目,尤其是Maven项目,并运行。所以首先想到尝试去Github上pull一些可以用的project,至于将这些步骤写出来,主要是因为当时自己在网上搜了一轮,或是只言片语,或是顾左右而言他,也没有专门针对这个问题写出详细步骤的,所以准备在这里做个笔记,留下自己经过的足迹。下面简述下整个过程。
1.已知
安装:Myeclipse8.6
JDK1.6
2.Git插件和Maven:
2.1 下载好Git插件

导入Git项目的插件到Myeclipse中(下载后解压,将features、plugins文件夹和artifacts.jar、content.jar至于MyEclipse\dropins\egit\目录下,重启即可)

安装成功后,就会由如图所示选项。
2.2 安装配置Maven
下载Maven并配置好环境变量,同时将settings.xml文件拷贝到User/Administrator/.m2下。通过maven -version来验证是否安装成功:

3.选择合适的github项目pull下来
3.1 打开Myeclipse
File->Import->Projects from git,点击next,再点击clone,在弹出的对话框中输入git项目的链接
3.2 如何获取git项目的链接?
选中你需要的git项目,进入详情页面,在右侧点击如图所示的按钮,该项目对应的链接就会被复制。
将此链接粘贴进3.1打开的对话框的URI中,如下图所示:

之后一路next,直到finish,最后你会发现项目被pull到git的安装目录下。
4.通过执行命令生成Myeclipse项目文件
通过dos命令窗口,进入项目目录下,执行mvn eclipse:eclipse,等待命令执行完毕后,就可以将项目导入到Myeclipse中。

至此,就成功的实现了将Github中的代码pull下来,并完美的导入Myeclipse以备运行。
友情赞助
如果你觉得博主的文章对你那么一点小帮助,恰巧你又有想打赏博主的小冲动,那么事不宜迟,赶紧扫一扫,小额地赞助下,攒个奶粉钱,也是让博主有动力继续努力,写出更好的文章^^。
1. 支付宝 2. 微信

开发人员看测试之运行Github中的JBehave项目的更多相关文章
- 开发人员看测试之细说JBehave
上篇我们说到如何从Github上clone出一个JBehave项目,既是为了学习JBehava,也是为了熟悉下Github.从clone下来的项目看来,基本没什么问题,稍微捋一捋就可以运行,但是就cl ...
- 开发人员看测试之TDD和BDD
前言: 已经数月没有来园子了,写博客贵在坚持,一旦松懈了,断掉了,就很难再拾起来.但是每每看到自己博客里的博文的浏览量每天都在增加,都在无形当中给了我继续写博客的动力.最近这两天有听到Jbehave这 ...
- 写给Android App开发人员看的Android底层知识(1)
这个系列的文章一共8篇,我酝酿了很多年,参考了很多资源,查看了很多源码,直到今天把它写出来,也是战战兢兢,生怕什么地方写错了,贻笑大方. (一)引言 早在我还是Android菜鸟的时候,有很多技术我都 ...
- 利用git把本地项目传到github+将github中已有项目从本地上传更新
利用git把本地项目传到github中 1.打开git bash命令行,进入到要上传的项目中,比如Spring项目,在此目录下执行git init 的命令,会发下在当前目录中多了一个.git的文件夹( ...
- 写给Android App开发人员看的Android底层知识(6)
(十一)BroadcastReceiver BroadcastReceiver,也就是广播,简称Receiver. 很多App开发人员表示,从来没用过Receiver.其实吧,对于音乐播放类App,用 ...
- 写给Web开发人员看的Nginx介绍
译者注:不知道其他开发者是否和我一样,参与或者写了很多Web项目,但是却没有真正的去完整的部署应用,很多时候都是交给ops即运维的同学帮忙来做.而作为一个有节操的开发者,我认为了解一些服务器方面的知识 ...
- 写给Android App开发人员看的Android底层知识(2)
(五)AMS 如果站在四大组件的角度来看,AMS就是Binder中的Server. AMS全称是ActivityManagerService,看字面意思是管理Activity的,但其实四大组件都归它管 ...
- 写给Android App开发人员看的Android底层知识(3)
(七)App启动流程第2篇 书接上文,App启动一共有七个阶段,上篇文章篇幅所限,我们只看了第一阶段,接下来讲剩余的六个阶段,仍然是拿斗鱼App举例子. 简单回顾一下第一阶段的流程,就是Launche ...
- 写给Android App开发人员看的Android底层知识(5)
(十)Service Service有两套流程,一套是启动流程,另一套是绑定流程.我们做App开发的同学都应该知道. 1)在新进程启动Service 我们先看Service启动过程,假设要启动的Ser ...
随机推荐
- php+redis window
http://download.csdn.net/detail/qwfy326/6572443 wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-x64
- Hibernate自动创建表
只要在hibernate.cfg.xml添加这句话,就可以自动生成数据表 <property name="hibernate.hbm2ddl.auto">update& ...
- Metro UI 菜单(Winform)
我有个项目需要要到菜单导航,就自己动作做了一个,感觉还可以,分享给大家.下载地址:http://files.cnblogs.com/files/dyj057/MetroUIMenu.zip 主要代码: ...
- 分享我开发的网络电话Android手机APP正式版,图文详解及下载
分享我开发的网络电话Android手机APP正式版,图文详解及下载 分享我开发的网络电话Android手机APP正式版 实时语音通讯,可广域网实时通讯,音质清晰流畅! 安装之后的运行效果: 第一次安装 ...
- centos 安装ffmpeg
wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz tar -zxvf ffmpeg-3.1.tar.gz cd ffmpeg-3.1 ./co ...
- objective-c(代码块)
objective-c代码块(block)对写惯C语言的人非常熟悉,就类似一个函数指针,指向一个代码段的首地址: 给出简单例子如下: int main(int argc, const char * a ...
- ZooKeeper学习第一期---Zookeeper简单介绍
一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术.那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术主要用来解决分布式环境当中多个进程之间的同 ...
- [.net 面向对象编程基础] (15) 抽象类
[.net 面向对象编程基础] (15) 抽象类 前面我们已经使用到了虚方法(使用 Virtual修饰符)和抽象类及抽象方法(使用abstract修饰符)我们在多态一节中说到要实现类成员的重写必须定义 ...
- 使用DBUnit框架数据库插入特殊字符失败的查错经历
本文记录的是使用DBUnit测试框架进行数据库数据插入时,插入特殊字符失败的查错经历.希望能对向我这样的小白同学们在遇到类似问题时,能够有一些启发.背景:在写跟数据库交互模块的单元测试,数据库表中的e ...
- jQuery 绑定事件到动态创建的元素上
在进入主题之前,我们先来看一个前台页面经常用到的功能:点击页面输入框时自动选择其中文本. 很容易想到利用输入框的focus事件,当输入框获得焦点时,再调用jQuery的select()方法. Okay ...