Cucumber-java入门基础篇
来源:程序员人生 发布时间:2015-06-04 08:02:38 阅读次数:4574次
最近公司提倡快速测试,之前ui界面自动化实在是不稳定且履行很慢,总会出现很多莫名奇妙的问题……
快速测试条件,是web响应里面只含json格式(其实xml格式也行)数据,到达html与数据分离,
这样就提供很大便利,数据校验很容易,也更加精确,延续集成更快速,更精肯定位问题。
大家热忱很高,用到的工具很多,
选好工具成功1大半,工具多了也忧愁
下面就标题介绍下Cucumber的使用基础
1. 安装Cucumber请点击,http://blog.csdn.net/musen518/article/details/45363911
2. Cucumber案例结构
a、定义features,案例集,用于描写多个场景(案例),主要由测试人员编写保护
b、定义steps,步骤定义,实现真实测试action,可以是测试人员或开发人员编写保护
3. features文件,
下面截图包括两个案例(场景=案例)
i. 场景1,带参数且多个数据驱动测试
ii. 场景2,不带参数,只能测试1条数据
Feature: testsuite
Scenario Outline: 登录成功测试(有多个参数)
Given 输入用户名: <用户名>
And 输入密码: <密码>
When 点击登录
Then 登录成功
Examples:
| 用户名 | 密码 |
| name1 | pwd1 |
| name2 | pwd2 |
Scenario: 登录失败测试(无参数)
Given 输入用户名: name3
And 输入密码: pwd3
When 点击登录
T
4. steps定义
a) Given注解,正则表达式,用于匹配feature文件内容,实现步骤和获得参数
b) When注解,动作事件步骤,表示动作行动
c) Then注解,断言
d) 更多注解可以去,Cucumber官网文档:https://cukes.info/docs/
</pre><pre name="code" class="java">package test;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
public class TestCaseSteps {
@Given("^输入用户名: (w+)$")
public void 输入用户名(String 用户名) {
System.out.println(用户名);
}
@Given("^输入密码: (w+)$")
public void 输入密码(String 密码) {
System.out.println(密码);
}
@When("^点击登录$")
public void 点击登陆() {
System.out.println("登陆中……");
}
@Then("^登录成功$")
public void 登录成功() {
System.out.println("登录成功");
}
@Then("^登录失败$")
public void 登录失败() throws Exception {
throw new Exception("登录失败");
}
}
4. 履行案例
a) 通过eclipse插件履行,必须安装Eclipse cucumber插件
选择feature文件,点击右键Run as,选择Cucumber feature
b) 通过junit履行,需要加载依赖,这类方式无需安装Cucumbereclipse插件(testng类似)
i. cucumber-junit⑴.2.2.jar
ii. hamcrest-core⑴.3.jar
iii. junit⑷.12.jar
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠