热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自动化测试二(登入)

controller层importcom.choosefine.automatedtest.common.controller.BaseController;controller层继承的

controller 层

import com.choosefine.automatedtest.common.controller.BaseController;  // controller层继承的 封装json 
import com.choosefine.automatedtest.cases.login.service.UserService;  // service层
import io.swagger.annotations.ApiImplicitParam;   //注解
import io.swagger.annotations.ApiImplicitParams;    //注解
import io.swagger.annotations.ApiOperation;        //注解 对应的CRUD
import org.springframework.beans.factory.annotation.Autowired; //自动加载
import org.springframework.web.bind.annotation.GetMapping;    // 查找 和 delectmapping
import org.springframework.web.bind.annotation.PathVariable;    //路径参数
import org.springframework.web.bind.annotation.RequestMapping;   //获取路径
import org.springframework.web.bind.annotation.RestController; //controller注解

/**
* Created by Administrator on 2017/7/13.
*/

@RestController
@RequestMapping(
"/automated/login") //路径
public class UserController extends BaseController{
@Autowired
UserService userService;

@ApiOperation(value
= "登录")
@ApiImplicitParams({
@ApiImplicitParam(paramType
= "query", name = "userName", dataType = "String", required = true, value = "登陆名"),
@ApiImplicitParam(paramType
= "query", name = "password", dataType = "String", required = true, value = "密码")})
@GetMapping(
"/{userName}/{password}")        //查找 后面两个参数是对应下面userName password 用注解@pathVariable
public String login(@PathVariable String userName,@PathVariable String password){
String result
= userService.login(userName,password); //传到dao层
if(result.equals("error")){            //条件 如果错误就返回responseFail
return responseFail("密码错误");      
}
if(result.equals("success")){          //否则返回成功
return responseSuccess(result);      //把结果数据传输回来
}
return responseFail(result);         //传输失败
}
}

 

 service 层 

import com.choosefine.automatedtest.cases.login.dao.UserDao;     // dao
import com.choosefine.automatedtest.cases.login.model.User;    // model
import org.springframework.beans.factory.annotation.Autowired;  //自动加载
import org.springframework.data.mongodb.core.MongoTemplate;    //mongoTemplate包装类的
import org.springframework.stereotype.Service;    //service

import java.util.List;

/**
* service接收dao层数据
* 条件判断1.为空 2.正确
*/

@Service
public class UserService {
@Autowired
UserDao userDao;

public String login(String userName,String password){
User user
= userDao.findUser(userName);
if(user == null){
return "找不到该用户";
}
if(user.getPassword().equals(password)){
return "success";
}
return "error";
}

}

 

  dao 层

 

import com.choosefine.automatedtest.cases.login.model.User;
import com.choosefine.automatedtest.common.dao.BaseMapper; //dao层依赖的baseMapper 继承了mapper 和sqlmapper
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
* select * from automated_user where user_name = 'zs' and is_valid = 1 整条数据放回user
*/
@Mapper
public interface UserDao extends BaseMapper{
@Select(
"select * from automated_user where user_name = #{userName} and is_valid = 1")
User findUser(@Param(
"userName") String userName);
}

 

 BaseMapper

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

/**
* Created by Administrator on 2017/7/14.
*/
public interface BaseMapper extends Mapper, MySqlMapper {
//特别注意,该接口不能被扫描到,否则会出错
}

 

...


推荐阅读
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 有没有一种方法可以在不继承UIAlertController的子类或不涉及UIAlertActions的情况下 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
author-avatar
程序员那些事
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有