测试自动化-TeamCity+;葫芦+;吉拉+;呼吸试验
我是TeamCity/Spiratest的新手,有以下要求: (a) 我们必须让TeamCity运行葫芦测试和 (b) 然后,如果出现故障,则必须将屏幕截图记录到JIRA以获取缺陷 (c) 最后更新SpiraTest(我们的测试管理工具)中的通过/失败状态 我遇到了另一个话题:;但却无法在那里提问;所以,在这里发布一个新主题 (A) 您能否详细说明和指导如何配置TeamCity来运行葫芦ios测试 (B) 如果您对如何将结果与测试管理工具SpiraTest集成并在JIRA中记录失败测试的缺陷有想法;那将是一个很大的帮助 期待投入测试自动化-TeamCity+;葫芦+;吉拉+;呼吸试验,teamcity,jira,calabash,spiratest,Teamcity,Jira,Calabash,Spiratest,我是TeamCity/Spiratest的新手,有以下要求: (a) 我们必须让TeamCity运行葫芦测试和 (b) 然后,如果出现故障,则必须将屏幕截图记录到JIRA以获取缺陷 (c) 最后更新SpiraTest(我们的测试管理工具)中的通过/失败状态 我遇到了另一个话题:;但却无法在那里提问;所以,在这里发布一个新主题 (A) 您能否详细说明和指导如何配置TeamCity来运行葫芦ios测试 (B) 如果您对如何将结果与测试管理工具SpiraTest集成并在JIRA中记录失败测试的缺陷有想
非常感谢,我正在跟进您的问题。 不能告诉你TeamCity或Selenium有多少,我们正在使用Bambol和JIRA,我刚刚开始研究葫芦测试与JIRA的集成 (A)部分 TeamCity、Bambor和Jenkins之间应该没有太大区别。它们都支持运行自定义shell脚本。你需要在你的CI盒上安装Ruby和所有需要的宝石(黄瓜、葫芦黄瓜等)。 下面是我们用于测试的竹CI计划的示例
- 签出iOS应用程序代码
- 向应用程序添加葫芦框架(使用葫芦ios设置的shell脚本)
- 构建葫芦测试目标(使用xcodebuild的shell脚本)
- 签出测试代码(我们将其保存在单独的repo中)
- 对iOS应用程序测试目标运行cucumber测试
cucumber-p烟雾试验
这将运行烟雾测试配置文件并以HTML格式创建测试报告。
然后可以使用Cucumber测试报告插件。我知道Jenkins和Bambor肯定有一个,所以TeamCity也应该有一个,或者干脆选择HTML并将其作为测试结果发布
(B)部分
我刚开始调查,以下是一些发现
大西洋CLI
Atlassian为其所有产品提供了一套CLI。
这是一套完整的工具,如果您不想下载所有工具,您可以在市场上搜索JIRA only软件包
这些工具具有适用于类UNIX系统的.sh脚本和适用于Windows的.bat文件。
这是,这是。
在CI框上安装工具,更新所有路径,您将能够从CI任务甚至Cucumber步骤和场景挂钩中使用Atlassian命令
对于Mac OS X,有两个用于和cli的自定义自制tap,但每个都以不同的方式安装工具,而且,这两个工具都已过时并安装旧版本的cli
另外,还有一个RubyGem,名为,你必须安装在MacOSX上。我还没有尝试使用这个gem,但它看起来很有前途
使用标记和场景挂钩
这就是我现在正在努力做的事情
有了JIRA,你肯定会遇到用户故事、bug和其他类型的项目问题。
通常情况下,场景将与某个用户故事相关,或者一个用户故事可以有多个场景,甚至可以在多个用户故事之间共享一个场景
我们还有一些场景是针对JIRA中特定bug的回归测试
无论如何,您可以使用标记将葫芦/黄瓜场景链接到JIRA问题和项目。
用项目名称标记每个功能,如@JIRA-project-,也用JIRA问题名称标记场景@JIRA-issue-
这里有一个例子
@JIRA-PROJECT-X
功能:ProjectX的一些功能
特征描述
@JIRA-ISSUE-X-123
场景:用户故事或Bug X-111的一些场景
然后使用。
执行钩子时,您有场景对象。
此对象具有更新JIRA所需的所有信息。
它已经通过了?和失败了?方法,更重要的是,所有标记
put场景。源\标记\名称。连接(“,”)
#=>@JIRA-ISSUE-X-123,@JIRA-PROJECT-X
现在,您可以从标记中找出JIRA项目和所有相关问题,并为每个问题创建测试会话。测试会话只是另一个具有适当父级的“测试”类型的问题。请参见下面的粗略示例,需要对其进行修改,以便为与场景相关的每个问题创建测试会话
在do |场景之后|
project=scenario.source_tag_names.find{t|t.start_with?(“@JIRA-project”)}.gsub(“@JIRA-project-”,”)
issue=scenario.source_tag_names.find{t|t.start_with?(“@JIRA-issue”)}.gsub(“@JIRA-issue-”,”)
摘要=”