首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测试Rest的最佳方法?

测试Rest的最佳方法?
EN

Stack Overflow用户
提问于 2014-09-30 11:07:04
回答 1查看 1.1K关注 0票数 0

我的组织开发人员已经开发了Rest,它公开了应用程序的所有用户细节。我们在一个特定的测试环境上执行这个测试,到目前为止,我已经开发了一个框架,它与RestAssured.I一起在selenium上工作,我将解释我在框架中所做的事情:

  1. 框架使用selenium创建应用程序中的所有先决条件测试数据(例如,测试用户、admin等),因为到目前为止,应用程序不提供POST API。
  2. 使用RestAssured,它测试所有Rest方法。
  3. 为了管理测试数据,框架使用了显式的基于SQLite的database.Selenium,还使用相同的基于SQLite的数据在构建中创建测试数据。

我一直面对的问题:

  1. 测试数据的管理在这里有点棘手,因为应用程序有太多的东西,所以我不得不在SQLite中创建多个表,并且必须编写非常复杂的查询。
  2. API向应用程序用户公开排序、分页、过滤功能,因此在应用程序中出现任何新数据( SQLite数据库中不存在)时,测试实际响应变得非常困难。
  3. 问题太多了,但我会自己解决的。

例如,如果我想测试排序特性,那么首先通过SQL查询对其进行排序,然后将其与实际响应进行比较。对于新的数据,sql查询得到的数据与实际的响应不匹配,因此在没有任何问题的情况下,往往会失败测试用例。

任何建议,我如何能够开发框架,将负责创建测试数据的api测试。

EN

回答 1

Stack Overflow用户

发布于 2014-10-13 23:44:03

普里扬舒,我只想确定我明白这一点。首先,不是WebDriver不支持向RESTful API发送创建测试数据的POST请求,而是直接进行RESTful查询。第二,当您使用WebDriver通过UI测试排序特性时,您不会得到与您的测试的匹配,这些测试也在进行直接的SQL查询。

所以,我的问题是:选项的接口(排序、分页等等)不是吗?命令其余的GET查询将是什么?由于您已经有了REST,我认为您可能需要探索使用另一个工具,而不是消除对原始SQL查询和一个不建立任何直接数据库连接的基于浏览器的测试工具(因为它只是一个web浏览器模拟器)执行断言的差距。

如果您想测试一个API,可以使用一个API测试工具,比如运行范围- http://runscope.com。您可以使用多个API请求定义测试(例如,一个使用REST发布新数据,另一个使用排序/分页等任何类型的参数/选项获取数据)。以及用于数据验证的简单断言。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26119294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档