用户接口

Jmeter接口测试实战-数据传递

家住魔仙堡 提交于 2020-02-10 11:10:34
Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回json方式为例. 举例场景: 比如电商平台,用户登录后产生令牌token, 其他接口拿着这个token判断用户是否登录才能进行相关操作, 当用户将商品加入购物车支付完成后,系统按照规则生成订单号, 同时会在该用户的全部订单列表中查到全部订单和相应状态. 要点分析: 1. login接口登录后生成token 2. pay支付接口拿到token正确的情况下,支付完成后生成订单号 3. orderList 订单列表接口需要有token和订单号等为入参必填项,查出该用户的所有订单状态 有了Idea就开始动手吧! 手头有三个接口,来模拟上面场景,同时也为了演示方便 login登录 //生成token 创建用户 //生成用户id 删除用户 //拿到创建用户接口id, 并删除该用户 前提条件: 需要使用Json取样器, Jmeter默认没有提供, 可用plugin-manager安装, 也可以去jmeter官网把jar包下载后放在%jmeter_home%/lib/ext/目录下,重启jmeter生效. 第一步: 在线程组内新建三个sampler 登录接口 ​ 入参方式采用json,

启动另一个Activity(二)

Deadly 提交于 2020-02-10 00:54:57
前提准备 首先来看下项目结构 编辑xml文件 传递基础数据 启动端 MainActivity.java 编辑 接收端 MainActivity2.java 编辑 运行程序 传递对象数据 Serializable的接口 增加一个用户实体类并实现Serializable的接口 启动端 MainActivity.java 代码 接收端 Main2Activity.java 代码 Parcelable 接口 增加一个用户实体类并实现Serializable的接口 启动端 MainActivity.java 代码 接收端 Main2Activity.java 代码 JSON字符串传递 增加一个用户实体类 启动端 MainActivity.java 代码 接收端 Main2Activity.java 代码 总结 在实际项目中,启动另一个activity有时候通常需要携带一些数据过去,那么数据是怎么传递过去的呢? 前提准备 首先来看下项目结构 编辑xml文件 在 activity_main.xml 中添加两个 EditText 控件用以接收用户输入的内容 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns

UC接口文档

微笑、不失礼 提交于 2020-02-09 14:11:15
UC 接口文档 一、 功能描述 提供同步登录、退出、注册等相关接口,可以实现用户一个账号,在一处登录,全站通行。 二、 测试环境UC 地址 http://s1.p5w.net/uc/ 三、 相关接口 UC_API=http://s1.p5w.net/uc/ UC_IP = UC_KEY = 123456 UC_APPID = 15 UC_CONNECT = 1. 注册 integer uc_user_register(string username , string password , string email) 参数说明 username 用户名 password 密码 email 电子邮件地址 返回值 值 integer 大于 0: 返回用户 ID,表示用户注册成功 -1: 用户名不合法 -2: 包含不允许注册的词语 -3: 用户名已经存在 -4: Email 格式有误 -5: Email 不允许注册 -6: 该 Email 已经被注册 2. 用户登录 array uc_user_login(string username , string password [, bool isuid]) 参数 说明 username 用户名 password 密码 isuid 是否使用用户 ID登录 1:使用用户 ID登录 0:(默认值) 使用用户名登录 返回值 值 String 大于 0

微服务架构复杂吗?看完这篇你就明白了!

混江龙づ霸主 提交于 2020-02-08 19:26:39
本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。 要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。 一:最初的需求 几年前,小明和小皮一起创业做网上超市。小明负责程序开发,小皮负责其他事宜。当时互联网还不发达,网上超市还是蓝海。只要功能实现了就能随便赚钱。所以他们的需求很简单,只需要一个网站挂在公网,用户能够在这个网站上浏览商品、购买商品;另外还需一个管理后台,可以管理商品、用户、以及订单数据。 我们整理一下功能清单: 网站 用户注册、登录功能 商品展示 下单 管理后台 用户管理 商品管理 订单管理 由于需求简单,小明左手右手一个慢动作,网站就做好了。管理后台出于安全考虑,不和网站做在一起,小明右手左手慢动作重播,管理网站也做好了。总体架构图如下: 小明挥一挥手,找了家云服务部署上去,网站就上线了。上线后好评如潮,深受各类肥宅喜爱。小明小皮美滋滋地开始躺着收钱。 二:随着业务发展…… 好景不长,没过几天,各类网上超市紧跟着拔地而起,对小明小皮造成了强烈的冲击。 在竞争的压力下

工厂模式{C#描述}

China☆狼群 提交于 2020-02-08 05:01:30
概述 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。 简而言之: 通过传入"类名", 创建不同的对象. 意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 类: CAdmin(管理员类), CUser(普通用户类) 接口: IUser(用户类) 关系: CAdmin(管理员类), CUser(用户类) 都实现 IUser接口 类: CAdmin(管理员类) namespace WebApplication1 { public class CAdmin:IUser { #region IUser 成员 public string GetName() { return "我是管理员, 小样敢乱发言逮捕!"; } #endregion } } 类: CUser(普通用户类) namespace WebApplication1 { public class CUser:IUser { #region IUser 成员 public string GetName() { return "我是普通用户!"; } #endregion } }

UML规则笔记

旧街凉风 提交于 2020-02-07 08:20:41
一、类   类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。   在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责。在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。类的属性即类的数据职责,类的操作即类的行为职责。设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分。   在软件系统运行时,类将被实例化成对象(Object),对象对应于某个具体的事物,是类的实例(Instance)。   类图(Class Diagram)使用出现在系统中的不同类来描述系统的静态结构,它用来描述不同的类以及它们之间的关系。 在系统分析与设计阶段,类通常可以分为三种,分别是实体类(Entity Class)、控制类(Control Class)和边界类(Boundary Class),下面对这三种类加以简要说明:   (1) 实体类:实体类对应系统需求中的每个实体,它们通常需要保存在永久存储体中,一般使用数据库表或文件来记录,实体类既包括存储和传递数据的类,还包括操作数据的类。实体类来源于需求说明中的名词,如学生、商品等。   (2) 控制类:控制类用于体现应用程序的执行逻辑,提供相应的业务操作

大白话五种IO模型

微笑、不失礼 提交于 2020-02-04 12:57:12
目录 大白话五种IO模型 一、I/O模型介绍 二、阻塞I/O模型 2.1 一个简单的解决方案 2.2 该方案的问题 2.3 改进方案 2.4 改进后方案的问题 三、非阻塞I/O模型 3.1 非阻塞I/O实例 四、多路复用I/O模型 4.1 select/poll模型 4.1.1 select网络I/O模型 4.1.2 select监听fd变化的过程分析 4.1.3 该模型的优点 4.1.4 该模型的缺点 4.2 epoll模型(了解) 五、信号驱动I/O模型(了解) 六、异步I/O模型 七、I/O模型比较分析 大白话五种IO模型 一、I/O模型介绍 为了更好地了解I/O模型,我们需要事先回顾下: 同步、异步、阻塞、非阻塞 同步(synchronous) I/O和异步(asynchronous) I/O,阻塞(blocking) I/O和非阻塞(non-blocking)I/O分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous I/O和non-blocking I/O是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不相同。所以,为了更好的回答这个问题,我先限定一下本文的上下文。 本文讨论的背景是Linux环境下的network I/O。本文最重要的参考文献是Richard

Spring基于AOP的事务管理

好久不见. 提交于 2020-02-01 08:35:10
Spring基于AOP的事务管理 事务    事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务就将回到最开始的状态,仿佛一切都没发生过。例如,老生常谈的转账问题,从转出用户的总存款中扣除转账金额和增加转出用户的账户金额是一个完整的工作单元,如果只完成扣除或者增加都会导致错误,造成损失,而事务管理技术可以避免类似情况的发生,保证数据的完整性和一致性。同样在企业级应用程序开发过程中,事务管理技术也是必不可少的。   事务有四个特性:ACID 原子性(Atomicity):事务是一个原子操作,有一系列动作组成。原子性保证所有动作都完成,或者不执行任何动作。 一致性(Consistency):一旦事务完成(不论成败),系统必须确保它所建模的业务处于一致的状态。 隔离性(Isolation):可能有很多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。 持久性(Durability):一旦事务完成,无论系统发生生什么系统错误,它的结果都不会受到影响,保证能从系统崩溃中恢复过来,通常事务的结果会被写入到持久化存储器中。   Spring事务是基于面向切面编程(Aspect Oriented Programming,AOP)实现的(文中会简单讲解AOP)。Spring的事务属性分别为传播行为、隔离级别、回滚规则

Linux哲学思想

依然范特西╮ 提交于 2020-01-31 04:39:55
1.一切皆文件:Linux系统把几乎所有的系统资源全部都抽象为文件形式,包括硬件设备,甚至通信的接口都是以文件形式存在的。 2.Linux系统是由许许多多的小程序组成的,这些小程序的功能性单一,组合这些小程序才能完成一些复杂的任务。 3.尽量避免的捕捉用户的接口,避免和用户互交,运行完某个程序时直接输出结果,这样易于以编程的方式完成自动化任务。 4.使用文本方式保存配置文件,便于修改某些配置功能来实现自动化。 借鉴文章 http://www.178linux.com/56779 来源: CSDN 作者: Giyomwd 链接: https://blog.csdn.net/Giyomwd/article/details/104116766

.netcore 3.1高性能微服务架构:webapi规范

江枫思渺然 提交于 2020-01-30 13:45:07
原文: .netcore 3.1高性能微服务架构:webapi规范 1.1 定义 1、基础接口:单一职责原则,每个接口只负责各自的业务,下接db,通用性强。 2、聚合接口:根据调用方需求聚合基础接口数据,业务性强。 1.2 协议 1. 客户端在通过 API 与后端服务通信的过程中, 应该使用 HTTPS(生产环境) 协议 2. 服务端响应的数据格式统一为JSON 1.3域名host prd环境:https://xxx-xxx-api.example.com/ uat环境:https://xxx-xxx-api-uat.example.com/ test环境:https://xxx-xxx-api-test.example.com/ dev环境:https://xxx-xxx-api-dev.example.com/ 将api放到子域名里,这种做法可以保持某些规模化上的灵活性。 1.4路径path path命名应该是以资源为导向的命名,对资源的操作是由HttpMethod(get、post、put、delete)来决定。所以一般来说url上的单词都应该是名词,一定不要是动词。一般遵循以下约定: (1)URL 的命名必须全部小写; (2) URL 必须 是易读的 URL; (3)一定不可 暴露服务器架构 (4)出现复合词汇使用下划线分隔,例如:animal_types 举几个正面例子: