如何使用JMeter在OpenERP 7上创建/更新测试记录?

时间:2014-07-02 15:54:26

标签: jmeter openerp xml-rpc

我正在尝试测试我一直在开发的OpenERP模块的负载响应。由于tutorial,我已设法对我的模型进行身份验证和阅读。​​

我现在想测试现有记录的创建和更新,但我无法找到执行此类操作的语法。我尝试改编自read方法,但我无法弄清楚xml应该如何构建 有没有人已经做过这样的测试,愿意分享有关如何调用create和/或write方法的知识?

提前致谢!

2 个答案:

答案 0 :(得分:1)

请参阅OpenERP documentation on XML-RPC Web Services,其中包含有关createwrite操作的示例。

如果您无法将其PHP示例转换为JMeter XML-RPC XML正文,则可以使用SoapUI生成存根。

使用JMeter进行Web服务测试的通用方法也值得研究Testing SOAP/REST Web Services Using JMeter指南。

答案 1 :(得分:0)

终于开始工作了。在Lauchpad上发现了一个线程,报告了JMeter创建合作伙伴的错误,并且代码帮助我理解了它应该如何工作,所以我将留下XML配置文件在OpenERP上的自定义模块上创建记录。

<?xml version='1.0'?>
<methodCall>
    <methodName>execute</methodName>
    <params>
        <param>
            <!-- Select your database -->
            <value><string>may_9</string></value>
        </param>
        <param>
            <!-- User uid, 1, why not? -->
            <value><int>1</int></value>
        </param>
        <param>
            <!-- user login -->
            <value><string>admin</string></value>
        </param>
        <param>
            <!-- identify your object -->
            <value><string>generic.request</string></value>
        </param>
        <param>
            <!-- and your action -->
            <value><string>create</string></value>
        </param>
        <param>
            <!-- here comes the values to insert -->
            <value>
            <!-- create a struct where you identify the field name, the field type and the value you want to insert in it -->
            <struct>
                <member>
                    <name>name</name>
                    <value><string>JMeter Request</string></value>
                </member>
                <member>
                    <name>subject_type</name>
                    <value><int>1</int></value>
                </member>
                <member>
                    <name>responsible_name</name>
                    <value><int>4</int></value>
                </member>
                <member>
                    <name>request_description</name>
                    <value><string>Desc</string></value>
                </member>
                <member>
                    <name>stating_reasons</name>
                    <value><string>stating reasons</string></value>
                </member>
                <member>
                    <name>expected_date</name>
                    <value><string>08/31/2014</string></value>
                </member>
                </struct>
            </value>
        </param>
    </params>
</methodCall>

这应该可以正常工作! 希望这会有所帮助:)