如何使用SoapUI访问Twitter API?
我已使用以下代码从SoapUI运行,但仍然得到一个缺少的属性异常: 类请求不存在此类属性 我如何解决这个问题如何使用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
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中找到的免费“”。这正是您要寻找的答案,包括使其运行所需的所有代码。