可以做兼职的网站推荐,网站建设的编程语言,创建全国文明城市倡议书,大邑做网站在编写Webapi测试用例的时候都是定义固定的测试数据#xff0c;但这样的测试只能针对单一数据。为了更好的模拟实际情况#xff0c;往往需要进行动态数据测试#xff1b;通过动态数据测试可以更好的测出服务在不同数据情况下的处理能力。WebBenchmark支持动态数据函数#… 在编写Webapi测试用例的时候都是定义固定的测试数据但这样的测试只能针对单一数据。为了更好的模拟实际情况往往需要进行动态数据测试通过动态数据测试可以更好的测出服务在不同数据情况下的处理能力。 WebBenchmark支持动态数据函数通过动态数据函数可以让测试用例在每次测试所提交的数据都可以动态产生从而达到更符合现实应用的压力测试。数据函数 进入WebBenchmark后可以通过配置的变量配置里查看软件默认提供的值和函数值以开头的是数据函数软件提供了数据函数有date 根据当前日志返回一个日期格式number返回一个随机数值guid创建一个guid值nextlist从一个字符列表中随机返回一个字符项软件提供的函数不多但基于这几个函数即可方便地完成动态数据构建并进行测试。订单查询 接下来针对一个订单查询功能进行一个动态数据测试。public object Orders(EFCoreDBNorthwindContext db, int index, int product, int employee, string customer)
{Console.WriteLine($jwt_info:{jwt_user}/{jwt_role});SQL sql select orders.*,(employees.FirstName || || employees.LastName) Employee,customers.CompanyName Customer from orders inner join employeeson orders.EmployeeID employees.EmployeeID innerjoin customerson orders.CustomerID customers.CustomerID where 11;if (employee 0)sql.And().WhereEmployee(e e.EmployeeID employee);if (!string.IsNullOrEmpty(customer))sql.And().WhereCustomer(c c.CustomerID customer);if (product 0){sql and orders.OrderID in(select orderid from Order Details where ProductIDp1);sql (p1, product);}DBRegionDataExpandoObject result new DBRegionDataExpandoObject(index, 10);result.Execute(db.DBContext, sql);foreach (dynamic item in result.Items){sql select [Order Details].*, Products.ProductName from [Order Details] inner join Productson [Order Details].ProductID Products.ProductID Where [Order Details].OrderID item.OrderID;item.Details sql.ListExpandoObject(db.DBContext);}return result;
}
以上是一个订单查询webapi接口提供的参数有查询的页数客户和雇员等。雇员和客户定义 为了可以动态构建这两个查询项需要针对这两个数据定义一个列表变量。针对这两个参数构建对应的列表变量后面就可以通过使用nextstr函数对这两个列表随机获取数据用于测试。构建测试用例以上先定义了一个随机在1-10的index参数可以多次测试看对应的结果接下来可以加入客户端查询参数加入客户参数后的测试结果接下来以同样的方式添加雇员参数压力测试 测试用例定义完成后就可以对它进行压力测试针对该用例定义一个性能测试用例 以上是针对sqlite上订单查询的压力测试结果。软件安装使用使用WebBenchmark对webapi进行管理和性能测试注意以上功能在免费版本并不提供【BeetleX通讯框架代码详解】
【WebApi示例扩展】
BeetleX开源跨平台通讯框架(支持TLS)轻松实现高性能:tcp、http、websocket、redis、rpc和网关等服务应用https://beetlex.io如果你想了解某方面的知识或文章可以把想法发送到henryfanmsn.com|adminbeetlex.io