IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 【Cucumber系列】编写第一个用例(Java) -> 正文阅读

[开发测试]【Cucumber系列】编写第一个用例(Java)

目录

Feature文件

Step Definition

实现步骤方法

?执行测试

Feature文件

我们想像一下手工测试流程,首先我们会在Excel/Xmind或者其他工具编写测试用例,测试用例包含详细测试步骤和预期结果,然后通过手工一步一步执行测试步骤,最后验证测试结果是否和预期结果一致。

同理,Feature文件可以简单理解为一个用例文件,Feature文件中包含不同的测试场景,每个场景中有不同的测试步骤,最后自动化测试框架执行每个测试场景不同的步骤来完成测试,从而达到手工测试到自动化测试转变的目的。

新建Feature文件夹

项目根目录下新建src文件夹,文件中包含两个子文件夹分别为maintest

test文件夹下新建resources文件夹,将文件夹标记为Test Resources Root

新建Feature文件

?1.resources目录下新建一个feature文件,命名为Login_Test.feature

2.复制粘贴以下代码到feature文件中

Feature: Login Action

  Scenario: Successful Login with Valid Credentials
    Given User is on Home Page
    When User Navigate to LogIn Page
    And User enters UserName and Password
    Then Message displayed Login Successfully

  Scenario: Successful LogOut
    When User LogOut from the Application
    Then Message displayed LogOut Successfully

关键字

Feature:定义你需要执行测试的功能

Scenario:定义对不同测试场景,上面例子中两个场景分别是用户登录和登出的场景

Gvien:测试步骤的前置条件

When/And:定义你需要完成测试场景的额外步骤

Then:判断测试实际结果与预期结果

Step Definition

Step Definition,步骤定义,顾名思义对测试步骤的定义,我们可以看到新建的feature文件是不能执行成功,feature文件只是一个对测试场景的定义,但是没有对场景的每一个步骤进行定义。

举个例子:Given User is on Home Page这个步骤表示用户打开浏览器,输入网址并访问去到首页,因此需要定义一个方法完成相应操作

新建Step文件夹

首先将java文件夹标记为Test Sources Root,并且在该目录下新建steps文件夹

新建Step文件

将鼠标定位到feature文件标黄的步骤,点击Create step definition

?输入文件名,选择steps目录(如果选择不了,可以手动输入目录)

?参考代码如下:

后面创建step可以选择已有文件或者新建step文件

实现步骤方法

示例中的代码暂时不实现具体方法,具体的实现方法同学们可以跟进自己的实际项目实现,以及博主后续会有详细实现讲解。

参考代码如下:

import io.cucumber.java8.En;

public class LoginSteps implements En{
    public LoginSteps() {
        Given("^User is on Home Page$", () -> {
            System.out.println("这里实现用户打开浏览器输入网址");
        });

        When("^User Navigate to LogIn Page$", () -> {
            System.out.println("这里实现用户点击登录按钮,跳转至登录页面");
        });

        And("^User enters UserName and Password$", () -> {
            System.out.println("这里实现用户输入用户名和密码");
        });

        Then("^Message displayed Login Successfully$", () -> {
            System.out.println("这里判断用户是否登录成功");
        });

        When("^User LogOut from the Application$", () -> {
            System.out.println("这里实现用户登出操作");
        });

        Then("^Message displayed LogOut Successfully$", () -> {
            System.out.println("这里判断用户是否登出成功");
        });
    }
}

执行测试

Good Job!出现上图的输出结果代表我们的第一个Cucumber用例就跑成功啦!!!

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:30:46  更:2022-04-15 00:32:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:18:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码