gpt4 book ai didi

soap - 如何使用 SoapUI 访问 Twitter API?

转载 作者:行者123 更新时间:2023-12-04 21:18:34 26 4
gpt4 key购买 nike

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

No such property exists for class request



我该如何解决这个问题?
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 .根据 API guide , 没有这样的方法叫做 getPropertyValue对于 com.eviware.soapui.model.support.ModelSupport .

有一个接口(interface)叫 com.eviware.soapui.model.project .除非你继承自 interface com.eviware.soapui.model.TestPropertyHolder , 你不会得到 getPropertyValue .

为了帮助解决您的问题,您需要调试代码。根据第一行“请求”的结果,您很可能没有属性 oauth_consumer_key , oauth_consumer_secret , oauth_access_tokenoauth_access_token_secret .输出 request的内容(或者只是在 SoapUI 中的 def project 处设置一个断点,然后验证您是否拥有该属性)。

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

试试 following :
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.' );

此代码的好处是“ token 永久保留在 TestSuite 属性中。这具有允许我在身份验证测试后运行测试的副作用/好处”。

如果这不起作用,有一个 great article here 解释如何针对 Vimeo 进行 OAuth;这应该与 Twitter OAuth 非常相似。

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

关于soap - 如何使用 SoapUI 访问 Twitter API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16998996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com