首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动化测试框架

自动化测试框架
EN

Stack Overflow用户
提问于 2012-02-03 11:08:47
回答 2查看 6.1K关注 0票数 8

我正在尝试为我们的一些内部web服务(java)构建一个自动化测试框架。每个服务都有一组API (3-5),虽然这可能相对容易实现,但问题来自于一些不像纯函数那样表现的API,例如:像persistX这样的东西,这可能会在数据库中存储一些东西,并在失败的情况下返回异常。没有简单的方法来验证,因为这里没有输出。

所以我想知道这是否可以有点一般化,比如在测试API时,用户可以向某种类型的框架提供一个简单的插件或脚本来验证测试。这只是一个想法,如果有人能告诉我一些更好的想法或任何关于相同的资源,那就太好了。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-03 11:14:40

我推荐robot framework。它是一个用python编写的关键字驱动的框架。因此,您可以使用jython在JVM中运行它,这意味着您可以使用java代码(当然也可以是python )来扩展它。我已经成功地使用它来调用API,然后通过窥视数据库或查询文件系统来验证结果。

它还可以在.NET平台上工作,有一个用于测试前端的selenium模块、一个jenkins插件和其他几个工具。它具有很强的可扩展性和灵活性。

票数 6
EN

Stack Overflow用户

发布于 2012-02-03 11:37:32

您看到的是黑盒和白盒测试的应用程序以及支持这两种测试的工具。

对于返回正确响应的web服务,您可以通过验证返回响应中的数据来执行黑盒测试。SoapUI是最好的工具。

对于那些行为不像纯函数的API,您可以通过验证其副作用(如持久性、事件生成、日志记录等)来进行白盒测试。为此,您喜欢可编程工具和SoapUI可能是也可能不是正确的选择。

我们在工作中都是这样做的,在评估了多种工具/框架(SoapUI、RSSPec、Robotframework)后,我选择了Spock。为什么是spock?

  1. 它允许你用BDD风格的
  2. 编写意图揭示的测试,我们是Java shop,我们也想使用同样熟悉的语言来实现自动化,但要简化语法糖。spock是所有groovy /Selenium 2的支持(包括based.
  3. Excellent ) Geb
  4. It构建在JUNIT之上,因此可以利用JUNIT的所有插件(代码覆盖率、hudson/jenkins集成等)
  5. 许多webservice和XML (不需要使用XPATH进行简单的based.
  6. Excellent设置(与robotframework不同,它不需要python、jython设置)

等等……

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

https://stackoverflow.com/questions/9123173

复制
相关文章

相似问题

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