本文要阐述的主要有两点,一是介绍自动化测试框架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大步骤:

  1. Write story
  2. Map steps to Java
  3. Configure Stories
  4. Run Stories
  5. 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项目的更多相关文章

  1. 开发人员看测试之细说JBehave

    上篇我们说到如何从Github上clone出一个JBehave项目,既是为了学习JBehava,也是为了熟悉下Github.从clone下来的项目看来,基本没什么问题,稍微捋一捋就可以运行,但是就cl ...

  2. 开发人员看测试之TDD和BDD

    前言: 已经数月没有来园子了,写博客贵在坚持,一旦松懈了,断掉了,就很难再拾起来.但是每每看到自己博客里的博文的浏览量每天都在增加,都在无形当中给了我继续写博客的动力.最近这两天有听到Jbehave这 ...

  3. 写给Android App开发人员看的Android底层知识(1)

    这个系列的文章一共8篇,我酝酿了很多年,参考了很多资源,查看了很多源码,直到今天把它写出来,也是战战兢兢,生怕什么地方写错了,贻笑大方. (一)引言 早在我还是Android菜鸟的时候,有很多技术我都 ...

  4. 利用git把本地项目传到github+将github中已有项目从本地上传更新

    利用git把本地项目传到github中 1.打开git bash命令行,进入到要上传的项目中,比如Spring项目,在此目录下执行git init 的命令,会发下在当前目录中多了一个.git的文件夹( ...

  5. 写给Android App开发人员看的Android底层知识(6)

    (十一)BroadcastReceiver BroadcastReceiver,也就是广播,简称Receiver. 很多App开发人员表示,从来没用过Receiver.其实吧,对于音乐播放类App,用 ...

  6. 写给Web开发人员看的Nginx介绍

    译者注:不知道其他开发者是否和我一样,参与或者写了很多Web项目,但是却没有真正的去完整的部署应用,很多时候都是交给ops即运维的同学帮忙来做.而作为一个有节操的开发者,我认为了解一些服务器方面的知识 ...

  7. 写给Android App开发人员看的Android底层知识(2)

    (五)AMS 如果站在四大组件的角度来看,AMS就是Binder中的Server. AMS全称是ActivityManagerService,看字面意思是管理Activity的,但其实四大组件都归它管 ...

  8. 写给Android App开发人员看的Android底层知识(3)

    (七)App启动流程第2篇 书接上文,App启动一共有七个阶段,上篇文章篇幅所限,我们只看了第一阶段,接下来讲剩余的六个阶段,仍然是拿斗鱼App举例子. 简单回顾一下第一阶段的流程,就是Launche ...

  9. 写给Android App开发人员看的Android底层知识(5)

    (十)Service Service有两套流程,一套是启动流程,另一套是绑定流程.我们做App开发的同学都应该知道. 1)在新进程启动Service 我们先看Service启动过程,假设要启动的Ser ...

随机推荐

  1. java——多线程——内部类共享同一个外部类对象的成员变量

    public class Shop { public static void main(String[] args) { Outer o=new Outer(); Thread t1=o.getSal ...

  2. ASP.NET 上传文件最大值调整

    首先,最容易找到的是web.config下面配置: <!--maxRequestLength=50MB--> <httpRuntime targetFramework="4 ...

  3. On One Side Kolmogorov Type Inequalities

    Let \(X_1,X_2,\ldots,X_n\) be independent random variables. Denote \[S_n=\sum_{i=1}^n X_i.\] The  we ...

  4. Redis中Value使用hash类型的效率是普通String的两倍

    什么Redis? 点击这里 最近要开发的一个项目是分布式缓存组件,解决参数缓存高效获取的问题.参数达到了500万级别,刚刚开始了解Redis.做设计的时候考虑到Value使用哪种类型的问题? 主要面临 ...

  5. .NET Framework3.0/3.5/4.0/4.5新增功能摘要

    Microsoft .NET Framework 3.0 .NET Framework 3.0 中增加了不少新功能,例如: Windows Workflow Foundation (WF) Windo ...

  6. 003. Asp.Net Routing与MVC 之一: 请求如何到达MVC

    基础知识 本文用到的基础知识:URL.HttpModule 与 HttpHandler.IIS 的请求处理过程. URL HttpModule与HttpHandler IIS7.0的请求处理过程 OK ...

  7. 与webview打交道中踩过的那些坑

    随着HTML5被越来越多的用到web APP的开发当中,webview这一个神器便日渐凸显出重要地位.简要的说,webview能够在移动应用中开辟出一个窗口,在里面显示html页面,css以及js代码 ...

  8. DDD领域驱动设计之领域基础设施层

    1.DDD领域驱动设计实践篇之如何提取模型 2.DDD领域驱动设计之聚合.实体.值对象 其实这里说的基础设施层只是领域层的一些接口和基类而已,没有其他的如日子工具等代码,仅仅是为了说明领域层的一些基础 ...

  9. FB引擎系列-之CloudSand

    CloudSand,欲打破之前的集中版本制作的模式, http://code.taobao.org/p/cloudsand包含服务器端代码(php)和客户端代码(unity)   EasyDown的时 ...

  10. L#脚本语言,直接把DLL当脚本执行(图解说明)

    L#是什么:Run DLL as a Script. A Pure C# IL Runner,直接解析执行IL的脚本引擎. 从原理上讲是模拟执行了CLR的工作,从表现上讲就是把DLL作为资源直接加载执 ...