concordion 初学笔记

Concordion 是什么

Concordion 是一种 自动化测试框架 ,是测试及文档,Specification By Example 的一种实现,可以用自然的语言来描述软件功能,能很好的描述用户的 Story。它不仅支持 Java,也同样支持.NET, Python, Scala, Ruby. 是 JUnit 的扩展,写好的测试不仅是格式良好的测试文档,同样也可以当成 JUnit 单元测试来跑

Concordion 工作原理

简单的说,Concordion 测试只是对 JUnit 的扩展,但是它可以从你写好的测试文(html)中读取测试数据,通过传统的 JUnit 来跑测试,并将测试结果输出为具有红绿标记(表示失败或成功 的 html 文档(基于原测试文档)

在上图中,Specification 即为我们写的 html 测试文档,与普通的 html文档不同的是,我们需要在其中加入一些名为 concordion 的标签,浏览器将忽略这些标签,但 Concordion 用这些标签来执行测试指令,比如调用 Fixture 中的测试函数等。Fixture 为继承自 ConcordionTestCase(最终继承自 JUnit 测试类)的测试用例,这些测试用例将调用我们自己所开发的功能代码

Concordion 在一起源码中的作用

作为登陆和注册以及关闭浏览器部分的测试

concordion实现 hello world

SDk 选择1.8
点击next
填写路径名和项目名

解压下载下来的包,并放入文件根目录
  • 将所的 jar 包加入库中
    将下载下来的包里面的所有 **jar** 包选中
点击右键然后再点击ok
  • 在 src 下建立两个文件夹,maintest, 并且在 main 文件夹里创建文件 HelloWorld.java , test 文件夹里面创建 HelloWorld.htmlHelloWorldTest.java

  • HelloWorld.html中添加如下代码

<html xmlns:concordion="http://www.concordion.org/2007/concordion">
<body>
<p>Should print:</p>
<p concordion:assertEquals="sayHello()">HelloWorld</p>
</body>
</html>
  • HelloWorld.java中添加如下代码
package main;
public class HelloWorld
{
public String sayHelloWorld()
    {
return "HelloWorld";
    }
}
  • HelloWorldTest.java中添加如下代码
package test;
import main.HelloWorld;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
@RunWith(ConcordionRunner.class)
public class HelloWorldTest 
{   
   public String sayHello()    
    {        
        return new HelloWorld().sayHelloWorld();    
    }
}
  • 在 HelloWorldTest.java中
有个绿色的三角
  • 单击 run HelloWorldTest
即可运行
  • 复制下方的file:后面的内容
    复制蓝色选中部分
  • 在浏览器粘贴复制的网址,绿色表面测试Hello World成功
运行成功
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,577评论 18 399
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,736评论 6 342
  • 友盟分享注册流程 注册友盟开发者账号、登陆友盟官网,在我的产品页面添加新应用,然后获取到Appkey。 2.申请第...
    OlivineVip阅读 6,457评论 2 3
  • 人们都说,发芽了的土豆有毒不能吃必须要扔掉,但是你却惦记那些没有发芽的地方,于是你将土豆上的芽全部挖掉,土豆变的坑...
    金光乍现i阅读 243评论 0 0