EDIT: đã xem xét hướng dẫn API, và nó xuất hiện rằng bạn có những điều sau đây:
def project = com.eviware.soapui.model.support.ModelSupport.getModelItemProject(request)
Sau đó, bạn gọi project.getPropertyValue
. Theo số API guide, không có phương pháp như vậy được gọi là getPropertyValue
cho com.eviware.soapui.model.support.ModelSupport
.
Có một giao diện được gọi là com.eviware.soapui.model.project. Trừ khi bạn đang kế thừa từ interface com.eviware.soapui.model.TestPropertyHolder, bạn sẽ không nhận được getPropertyValue
.
Để giúp giải quyết vấn đề của bạn, bạn cần phải gỡ lỗi vào mã của mình. Tùy thuộc vào kết quả từ 'yêu cầu' trên dòng đầu tiên của bạn, bạn có thể rất tốt không có thuộc tính oauth_consumer_key
, oauth_consumer_secret
, oauth_access_token
hoặc oauth_access_token_secret
. Xuất nội dung của request
(hoặc chỉ thiết lập điểm ngắt trong SoapUI tại def project
và làm việc thông qua xác thực nếu bạn có thuộc tính).
Nếu không, có một số cách khác để giải quyết vấn đề của bạn. Đây là những giải pháp hướng tới việc sử dụng OAuth với SoapUI.
Thử 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.');
Lợi ích của mã này là "token gậy xung quanh trong các thuộc tính TestSuite vĩnh viễn này có tác dụng phụ/lợi ích của việc cho phép tôi để chạy thử nghiệm sau. kiểm tra xác thực ".
Nếu cách này không hiệu quả, có great article here giải thích cách thực hiện OAuth với Vimeo; điều này rất giống với Twitter OAuth.
Cả hai giải pháp này đều không yêu cầu SoapUI Pro.
Đây có phải là Python không? không mã làm việc mà không có khuôn khổ kiểm tra SoapUI? – mb21
đây là mảnh mã hấp dẫn mà iam sử dụng trong xà phòng ui – ChanGan