开发人员看测试之运行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 ...
随机推荐
- 读bootstrap2.3.2有感2
排版: Bootstrap定义的全局 font-size 是 14px,line-height 是 20px.这些样式应用到了 <body> 和所有的段落上.另外,对 <p> ...
- 两份div之间出现空隙的原因及解决方法
在一个div加有< ul><li> 因为ul有个默认的margin和padding值 如果该div中没有设边框 ul默认的值的就会对上一个div有影响 解决方法:将ul的 ...
- 多线程_先产后销_运行结果有BUG
class Shop { public static void main(String[] args) { Things t=new Things(); Custom c=new Custom(t); ...
- [转]Oracle VM VirtualBox虚拟机,Ubuntu虚拟机共享文件夹
VirtualBox的菜单里选择"设备" -> "安装增强功能...". "设备" -> "共享文档夹",添 ...
- Knockoutjs 实践入门 (2) 绑定事件
Knockoutjs 绑定事件 Knockoutjs 不仅支持UI 元素的属性绑定到model的属性,还支持UI 元素的事件绑定model的事件. 需求: l click me button 每单击 ...
- A Silverlight Bug ?
昨日在写Silverlight程序的时候,遇到一个问题,感觉是Silverlight的Bug.使用版本是Silverlight5.异常信息如下: 行: 56错误: Silverlight 应用程序中未 ...
- 说说WeakReference弱引用
WeakReference弱引用概述 http://www.cnblogs.com/xrq730/p/4836700.html,关于Java的四种引用状态具体请参看此文 Java里一个对象obj被创建 ...
- dojo/dom-form
表单的处理在前端开发中一样意义非凡,dojo/dom-form模块提供了一系列方法来处理表单元素.比如: fieldToObject: 将一个表单字段转化成JavaScript原生类型,可能是stri ...
- [ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)
引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别 ...
- ejs模板中的四种表达式输出形式
在ejs模板中,通常会用下面四种方式在HTML中输出服务端的变量或表达式的值: 1. 直接在<%%>中写表达式或变量.这种情况通常只是用来进行表达式计算或给变量赋值,不会有任何输出,被称作 ...