• 使用Servlet为LoadRunner提供全局连续唯一数


    原文:

    http://hi.baidu.com/higkoo/blog/item/1d4b5d6df8805ce842169451.html

        以前有针对LoadRunner自带的参数唯一数功能进行过说明,由于存在一些问题且灵活性差。

        也有针对使用脚本为LoadRunner提供唯一数的方法说明。

        两种方法各有千秋但都不完美,现需要拿到一批连续的唯一数,中间不要有断点。用上述的第1种方法可以实现,但必须一次执行完成,最大的问题是中途退出后数据会被重复使用。

        本想用PHP来简单实现一个,结果发现PHP不擅长做这事。

        了解了一下,用Java来实现非常容易。起一个Servlet,给一个全局变量加锁即可。Java的这个锁功能在这里是关键,代码示意如下:

     
    package org.higkoo.test;

    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class Demo extends HttpServlet{

        private static final long serialVersionUID = 1L;
        public static Object onlyYou = newObject();
        public static int id = 0;

        public void doGet(HttpServletRequestrequest,HttpServletResponseresponse)
                throws ServletException,IOException{
            response.setContentType("text/html ;charset=UTF-8");
            response.setHeader("Cache-Control","no-cache");
            PrintWriterout = response.getWriter();
            out.println(get_id());
            out.close();
        }

        public void doPost(HttpServletRequestrequest,HttpServletResponseresponse)
                throws ServletException,IOException{
            id = Integer.parseInt(request.getParameter("id"));
        }

        public static int get_id() {
            synchronized (onlyYou) {
                return id++;
            }
        }
    }

        直接使用get即可获取一个ID,使用POST方法可以对ID赋值。

        在LoadRunner获取这个ID的方法就不用介绍了吧,这事它最擅长不过了

  • 相关阅读:
    Git 的使用
    state介绍
    salt之pillar组件
    salt之grains组件
    python之commands模块
    install命令
    salt常用模块及API
    locate包的安装
    集中化管理平台Saltstack安装配置
    系统批量运维管理器pexpect的使用
  • 原文地址:https://www.cnblogs.com/preftest/p/1989149.html
Copyright © 2020-2023  润新知