作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
grinder 使用 jython 作为它的主要脚本语言。
我需要测试一些只有 soap 接口(interface)的网络服务。
我一直没能找到让这个工作的方法。我是 The Grinder 的新手,虽然他们有一个示例脚本显示 XmlRpcClient 的使用,但即使是这个示例也会出错,指出“导入错误:没有名为 apache 的模块”
最佳答案
这是我的网络服务的示例代码:
# coding=utf-8
import traceback
from net.grinder.script.Grinder import grinder
from net.grinder.script import Test
from net.grinder.plugin.http import HTTPPluginControl, HTTPRequest
from HTTPClient import NVPair
connectionDefaults = HTTPPluginControl.getConnectionDefaults()
httpUtilities = HTTPPluginControl.getHTTPUtilities()
connectionDefaults.useContentEncoding = 1
log = grinder.logger.info
class TestRunner:
def __call__(self):
your_url_for_web_service = ''
your_soap_message_body = ''
soapMessage = """<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>"""+
your_soap_message_body+"""
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>"""
self.send_service( your_url_for_web_service, soapMessage )
def send_service( self, soapMessage ):
request = HTTPRequest()
headers = (
NVPair( "Content-Type", "text/xml; charset=utf-8" ),
NVPair( "Content-Length", str( len( soapMessage ) ) ),
)
request.setHeaders(headers)
httpResponseObject = request.POST( url, soapMessage )
soapAsString = httpResponseObject.getText()
log( soapAsString )
def instrumentMethod(test, method_name, c=TestRunner):
"""Instrument a method with the given Test."""
unadorned = getattr(c, method_name)
import new
method = new.instancemethod(test.wrap(unadorned), None, c)
setattr(c, method_name, method)
# Replace each method with an instrumented version.
instrumentMethod(Test(1, 'soap request showcase example'), 'send_service')
请务必在 call
方法中更改以下内容:
your_url_for_web_service = ''
your_soap_message_body = ''
为您的网络服务设置适当的值。
关于soap - 如何在 The Grinder 中提交 SOAP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486405/
我是一名优秀的程序员,十分优秀!