jmeter实现数据驱动分离(if控制器的使用)

批量编写测试用例脚本html

http://www.cnblogs.com/chengtch/p/6576117.htmlpost

 jmeter所有学习连接学习

http://www.cnblogs.com/fennudexiaoniao/p/6726726.html测试

https://www.cnblogs.com/111testing/p/6412173.html线程

 

当我研究要经过用例优先级控制用例是否执行时,我发现了用"若是(if)控制器"就能够很好的控制用例执行,再搭配“循环控制器”,设计

就能很好的读csv了。3d

     一、设计了以下的测试用例:调试

          

     二、根据用例设计脚本结构:orm

                      

 

      三、测试用例与脚本之间的关联:htm

           3.1 经过csv读取元件读取测试仪用例表格的每一行

                 

           3.2 http请求中关联用例的参数

                 我这里尝试着仅用一个http请求来依次 参数化执行全部用例,所以将请求名称、请求方法、请求参数等作了参数化:

                 

                 由于get请求不能放在body data里面,因此放在路径后面:

                 

 

            3.3 if控制器来选择执行方式和选择执行路径

                 3.3.1 为了先判断用例的请求方法时get仍是post,再按结果去执行对应的请求,作以下设置: 

                          

                 3.3.2 经过用例优先级选择是否执行

                     

  

        四、执行测试,查看结果

             以下图能够看出:

             (1)脚本只执行了优先级为high和normal的用例

             (2)若是控制器很好的选择的正确的请求方法和参数传入方式

             (3)虽然只有一个http请求,请求名参数化的方式很好的将测试接口的编号、名称、测试目的展现了出来,便于错误调试

             

 

        五、总结

                上面只是作了一个几条用例的demo来验证个人新想法,暂时看是蛮顺利。但当考虑到要用正则表单式来提取请求返回值做为后面用例的

             参数,我又遇到了困难,如上图中的提交办件用例,用到启动办件用例的响应,但无法传过来。

                暂时想到的解决方法:

                        (1)为尽可能减小接口用例之间的耦合性,避免将前一请求的响应做为后面请求的参数

                        (2)没法避免的地方,另建线程组,经过加入多个http请求来测试简单流程

                如今看来前面作的读取指定行的用例时全无必要的,if控制器君彻底能够代劳。。。

相关文章
相关标签/搜索