如何使用SoapUI访问Twitter API?

如何使用SoapUI访问Twitter API?,soap,twitter,Soap,Twitter,我已使用以下代码从SoapUI运行,但仍然得到一个缺少的属性异常: 类请求不存在此类属性 我如何解决这个问题 def project = com.eviware.soapui.model.support.ModelSupport.getModelItemProject( request ) // initialize OAuth consumer def consumer = new oauth.signpost.commonshttp.CommonsHttpOAuthConsum

我已使用以下代码从SoapUI运行,但仍然得到一个缺少的属性异常:

类请求不存在此类属性

我如何解决这个问题

def project = com.eviware.soapui.model.support.ModelSupport.getModelItemProject( request ) 

// initialize OAuth consumer     
def consumer = new oauth.signpost.commonshttp.CommonsHttpOAuthConsumer( project.getPropertyValue( "oauth_consumer_key" ), project.getPropertyValue( "oauth_consumer_secret" ));    
consumer.setTokenWithSecret( project.getPropertyValue( "oauth_access_token" ), project.getPropertyValue( "oauth_access_token_secret" )); 

// sign the request     
consumer.sign( context.httpMethod ) 

编辑:查看API指南,您似乎有以下内容:

def project = com.eviware.soapui.model.support.ModelSupport.getModelItemProject( request ) 
然后调用
project.getPropertyValue
。根据,对于
com.eviware.soapui.model.support.ModelSupport
,没有称为
getPropertyValue
的方法

有一个接口称为。除非继承自,否则将无法获得
getPropertyValue


为了帮助解决问题,您需要在代码中进行调试。根据第一行“请求”的结果,您很可能没有属性
oauth\u consumer\u key
oauth\u consumer\u secret
oauth\u access\u token
oauth\u access\u token\u secret
。输出
请求
的内容(或者在SoapUI中的
def项目
中设置一个断点,然后验证是否具有该属性)

否则,有两种替代方法可以解决您的问题。这些解决方案旨在将OAuth与SoapUI结合使用

试试

def gu = new com.eviware.soapui.support.GroovyUtils( context );

def xml = gu.getXmlHolder( 'Authenticate - Default#Response' );
def token = xml.getNodeValue( '/auth/token' );
log.info( 'Got token: ' + token );

def suite = context.testCase.testSuite;
suite.setPropertyValue( 'auth_token', token );
log.info( 'Saved auth_token to suite.' );
这段代码的好处是“令牌永久地留在TestSuite属性中。这有一个副作用/好处,允许我在身份验证测试之后运行测试”

如果这不起作用,有一个解释如何对Vimeo执行OAuth;这应该非常类似于Twitter OAuth


这两种解决方案都不需要SoapUI Pro。

此处包含的代码将进入项目编辑器的“事件”选项卡中,并使用RequestFilter.filterRequest事件执行。您还必须为使用者密钥、使用者密钥、oauth访问令牌和oauth访问令牌密钥创建自定义属性。

以下是如何在smartbear网站上实现此功能的指南

这是Python吗?代码在没有SoapUI测试框架的情况下工作吗?这是我在SoapUI中使用的groovy代码段,它不需要SoapUI pro。这应该适用于免费的SoapUI根据博客帖子(在答案中找到),他们使用的是免费版本的SoapUI中找到的免费“”。这正是您要寻找的答案,包括使其运行所需的所有代码。