亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
使用 JMeter 完成常用的壓力測試
作者:網絡轉載 發布時間:[ 2012/12/3 14:26:54 ] 推薦標簽:

1. 例子由以下幾個文件組成:

    AuthorizenFilter.java,過濾器負責檢驗session中是否存在用戶信息。如果沒有,那么轉向到 login.jsp。它的主要方法 doFilter 內容如下:

    public void doFilter(ServletRequest request,
                    ServletResponse response,
                    FilterChain chain)
                    throws IOException, ServletException {
                    HttpServletRequest req = (HttpServletRequest)request;
                    HttpServletResponse res = (HttpServletResponse)response;
                    HttpSession session= req.getSession();
                    User user = (User)session.getAttribute("user");
                    if(null == user){
                    String uri= req.getRequestURI();
                    //如果請求頁是登錄頁,不轉向
                    if( uri.equalsIgnoreCase("/gWeb/login.jsp")){
                    chain.doFilter(request, response);
                    } else{
                    res.sendRedirect("/gWeb/login.jsp");
                    }
                    }else{
                    chain.doFilter(request, response);
                    }
                    }
                     
    User.java,用戶類負責記錄用戶的信息。為了簡化,這里的登錄操作只允許指定用戶名和密碼。主要內容如下:

    public class User {
                    private String user;
                    private String pwd;
                    public User(String user, String pwd) {
                    this.user = user;
                    this.pwd = pwd;
                    }
                    public boolean login(){
                    return user.equals("foxgem") && pwd.equals("12345678");
                    }
                    public String getUser() {
                    return user;
                    }
                    public void setUser(String user) {
                    this.user = user;
                    }
                    }
                     
    Login.jsp 和welcome.jsp。其中 login.jsp 負責生成 User 對象,并調用 User 的login。當 login 返回為 true 時轉向到 welcome.jsp。其驗證部分的代碼:

    <%
                    if( request.getParameter("Submit") != null) {
                    User ur= new User( request.getParameter("user"), request.getParameter("pwd"));
                    if( ur.login()){
                    session.setAttribute("user", ur);
                    response.sendRedirect("/gWeb/welcome.jsp");
                    } else{
                    session.setAttribute( "LOGIN_ERROR_MSG",
                    "無效的用戶,可能原因:用戶不存在或被禁用。");
                    response.sendRedirect("/gWeb/index.jsp");
                    return;
                    }
                    }
                    %>
                     
    web.xml,配置 filter 攔截所有訪問 JSP 頁面的請求:

    <filter>
                    <filter-name>authorizen</filter-name>
                    <filter-class>org.foxgem.jmeter.AuthorizenFilter</filter-class>
                    </filter>
                    <filter-mapping>
                    <filter-name>authorizen</filter-name>
                    <url-pattern>*.jsp</url-pattern>
                    </filter-mapping>
                     
2. 創建如下結構的Web測試計劃:

其中主要測試元件說明如下:

http請求默認值負責記錄請求的默認值,如服務器、協議、端口等。
第一個http請求,請求login.jsp,并附加驗證所需要的參數(user=foxgem,pwd=12345678,Submit=Submit);其包含的響應斷言驗證url中包含"welcome.jsp",這一點可以從程序中反應。
第二個http請求,請求是welcome.jsp;其包含的響應斷言驗證響應文本中包含"foxgem",它是welcome.jsp頁面邏輯的一部分。
http cookie管理器負責管理整個測試過程中使用的cookie,它不需要設置任何屬性。
循環控制器設置發送第二個請求的循環次數,表格監聽器負責收集和顯示第二個請求的測試結果。

啟動測試計劃之后,執行的順序是:首先,第一個請求登錄頁進行登錄;成功登錄之后,使用循環控制器執行第二個請求。請求welcome.jsp時,響應斷言用來驗證是否確實是welocme.jsp來處理請求,而不是因為其它頁。在這個測試計劃中需要注意的是http cookie管理器。正是由于它的作用,使得第二個請求能順利的發送到welcome.jsp進行處理,而不是因為缺少用戶安全信息轉發到login.jsp。

在這個例子中,我們并沒有在程序中使用cookie(使用的是session),那么http cookie管理器怎么會起作用呢?這是因為在servlet/jsp規范中對于session的狀態跟蹤有2種方式:

使用cookie,保留和傳遞sessionid。它不要求程序對于url有什么特殊的處理,但是要求瀏覽器允許cookie。在這個例子中,是這種情形。
使用url重寫,每次顯式的在瀏覽器和服務器之間傳遞sessionid。它要求程序對url進行編碼,對瀏覽器沒有要求。

對于第二種情形,可以使用JMeter前置管理器中的http url重寫修飾符來完成。對于Tomcat,Session參數是jsessionid,路徑擴展使用";"。使用url編碼時需要注意,必須將瀏覽器的cookie功能關閉。因為url編碼函數,如encodeURL,會判斷是否需要將sessionid編碼到url中。當瀏覽器允許cookie時,不會進行編碼。

如果cookie而不是session來保存用戶安全信息,那么直接使用http cookie管理器行了。此時,需要將使用的cookie參數和值直接寫到管理器中,由它負責管理。對于其它的cookie使用,也是如此操作。

登錄問題解決之后,對于 Web 服務器的測試沒什么難點了。剩下的是根據實際需要,靈活運用相關的測試組件搭建編寫的測試計劃。(當然,對于安全問題還有其它的使用情景。在使用時需要明確:JMeter 是否支持,如果支持使用哪種測試組件解決。)

數據庫服務器

數據庫服務器在大多數企業項目中是不可缺少的,對于它進行壓力測試是為了找出:數據庫對象是否可以有效地承受來自多個用戶的訪問。這些對象主要是:索引、觸發器、存儲過程和鎖。通過對于SQL語句和存儲過程的測試,JMeter 可以間接的反應數據庫對象是否需要優化。

JMeter 使用 JDBC 發送請求,完成對于數據庫的測試。一個數據庫測試計劃,建立如下結構即可:

其中:

JDBC連接配置,負責配置數據庫連接相關的信息。如:數據庫url、數據庫驅動類名、用戶名和密碼等等。在這些配置中,"綁定到池的變量名"(Variable Name Bound to Pool)是一個非常重要的屬性,這個屬性會在JDBC請求中被引用。通過它, JDBC請求和JDBC連接配置建立關聯。(測試前,請將所需要的數據庫驅動放到JMeter的classpath中)。
JDBC請求,負責發送請求進行測試。
圖形結果,收集顯示測試結果。

上一頁123下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 免费啪视频 | 欧美色图亚洲图片 | 国产一级爱c片免费观看 | 精品一区二区三区中文 | 中文字幕一区二区三区视频在线 | 中文字幕免费在线看 | 美女很黄很黄是免费的 | 羞羞视频污 | 成人嗯啊视频在线观看 | 色欧美色图 | 亚州毛色毛片免费观看 | 曰韩精品 | 国产一区免费视频 | 一级特黄录像绵费播放 | 日本动漫看片黄a免费看 | 日韩在线视频线视频免费网站 | 一个人看的www视频免费观看 | 欧美一级在线全免费 | 亚洲影音先锋看看 | 欧美专区亚洲专区 | 亚洲mv日韩mv欧美mv | 午夜剧场在线免费观看 | 人人草视频在线观看 | 欧美一级看片免费观看视频在线 | 欧美成人亚洲 | 日韩在线影院 | 手机亚洲第一页 | 伦理片免费看 | 日日摸夜夜添夜夜添人人爽 | www.欧美xxx | free性欧美极度另类性性欧美 | 国产播放啪视频免费视频 | 亚洲综合日韩在线亚洲欧美专区 | 午夜剧场普通用户 | 福利片免费观看 | 成人午夜免费视频 | 天堂在线资源网 | 久久久99精品免费观看精品 | 国产精品久久久久久久专区 | 国产一级毛片夜一级毛片 | 日韩爆操 |