Java 自动测试框架

Java 自动测试框架,java,testing,frameworks,automated-tests,Java,Testing,Frameworks,Automated Tests,我正在尝试为一些内部web服务(java)构建一个自动化测试框架。每个服务都有一组API(3-5),虽然这可能相对容易实现,但问题在于一些API的行为不象纯函数,例如:类似persistX的东西,它可以在数据库中存储某些东西,并在出现故障时返回异常。 因为这里没有输出,所以没有简单的验证方法 所以我想知道这是否有点普遍化,比如说在测试API时,用户可以向某种框架提供一个简单的插件或脚本来验证测试。这只是一个想法,如果有人能告诉我一些更好的想法或关于相同的任何资源,那就太好了 谢谢我向您推荐。它是

我正在尝试为一些内部web服务(java)构建一个自动化测试框架。每个服务都有一组API(3-5),虽然这可能相对容易实现,但问题在于一些API的行为不象纯函数,例如:类似persistX的东西,它可以在数据库中存储某些东西,并在出现故障时返回异常。 因为这里没有输出,所以没有简单的验证方法

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

谢谢

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


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

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

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

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

我们在工作中以及在评估了多个工具/框架(SoapUI、RSSPec、Robotframework)之后都会这样做,我选择了。为什么是斯波克

  • 它允许您以BDD样式编写意图揭示测试
  • 我们是Java商店,我们也希望使用同样熟悉的语言实现自动化,但要使用简化的语法。斯波克是基于groovy的
  • 优秀的Webdriver/Selenium 2支持(包括PageFactory),具有
  • 它构建在JUNIT之上,因此可以利用JUNIT的所有插件(代码覆盖率、hudson/jenkins集成等)
  • 大量webservice API和XML DSL(对于简单场景,无需使用XPATH)
  • 简化的设置(与robotframework不同,它不需要python、jython设置)
  • 等等