Enable tính năng Undo/Redo trong JMeter

Công cụ kiểm thử hiệu năng miễn phí, chỉ hỗ trợ java.
Forum rules
Công cụ kiểm thử hiệu năng miễn phí, chỉ hỗ trợ java.
Post Reply
harano
Jr. Tester
Posts: 58
Joined: Fri 20 Apr, 2012 10:43 am
Contact:

Enable tính năng Undo/Redo trong JMeter

Post by harano »

Xin chào mọi người!

Bài viết hôm nay mình sẽ hướng dẫn mọi người các enable tính năng Undo/Redo trong JMeter (Performance TestingTool). Nghe thì có vẻ như vô lý, vì đây là một tính năng mà dường như bất cứ một tool nào cũng có, vậy mà với JMeter lại cần phải enable? Đúng như vậy, chỉ đến phiên bản JMeter 2.12, thì tính năng này mới xuất hiện, và nó cũng chỉ hiển thị 2 button Undo/Redo trên Toobar mà thôi, muốn sử dụng thì phải enable trước đã. Có 1 vài lý do giải thích cho vấn đề này:

- Technical Issue: JMeter file có extension là .jmx, và thực chất đây là 1 text file với nội dung là xml, khi sử dụng Gui Mode (là JMeter UI mà mọi người vẫn dùng để viết script đó) thì thực chất là nó cũng render ra các xml tương ứng, và display lên trên UI để mình thao tác, theo mình được biết vì việc Undo/Redo này sẽ khó khăn hơn so với những dạng khác.
- Performance Issue: Khi Undo/Redo avaiable trên JMeter từ phiên bản 2.12, nó vẫn bị disable by default vì việc sử dụng tính năng này sẽ ngốn khá nhiều resource, càng undo/redo nhiều thì việc thao tác trên JMeter càng chậm.
- Known Issue: Ngay cả khi tính năng này đã khả dụng, thì chính JMeter cũng xác nhận việc còn 1 vài bug khi sử dụng, nên đây cũng là 1 lý do chính đáng nữa mà JMeter quyết định disable undo/redo by default.

Bây giờ sẽ là phần chính, mình sẽ chia ra 2 mục là Undo/Redo và Automates Backup file. Cả hai đều là những cách hữu ích để mình có thể "cứu vãn" trong trường hợp mình làm sai, sửa sai, hoặc xoá sai một phần quan trọng nào đó khi scripting trên JMeter:

1. Undo/Redo

Từ phiên bản JMeter 2.12, trên Toobar mọi người sẽ thấy 2 button như thế này

Image

Để kích hoạt tính năng này, mọi người làm theo các bước:
- Step 1: Vào thư mục /JMETER_HOME/bin (với JMETER_HOME là thư mục gốc của JMeter mà mọi người down về)
- Step 2: Open file jmeter.properties ở dạng text editor (Notepadd, Notepad++ với Win, hoặc TextEdit với MAC, v.v... miễn là text editor)
- Step 3: Tìm text này undo.history.size

Mọi người sẽ thấy nội dung như bên dưới

Code: Select all

# Number of items in undo history
# Feature is disabled by default (0) due to known and not fixed bugs:
# https://bz.apache.org/bugzilla/show_bug.cgi?id=57043
# https://bz.apache.org/bugzilla/show_bug.cgi?id=57039
# https://bz.apache.org/bugzilla/show_bug.cgi?id=57040
# Set it to a number > 0 (25 can be a good default)
# The bigger it is, the more it consumes memory
#undo.history.size=0
- Step 4: Uncomment dòng #undo.history.size=0 bằng cách xoá dấu # ở đầu, và sửa số 0 lại thành con số bạn muốn.

Con số này là gì? Nó phải là một số nguyên dương, và nói đại diện cho số steps tối đa mà bạn có thể Undo. Ví dụ bạn set undo.history.size=10 thì tối đa bạn sẽ undo, trở về trước đó được 10 steps (những steps trước đó nữa sẽ không quay lại được). Vậy tại sao mình ko set con số này lớn lớn 1 chút, 50 hay 100? Khi đó có thể undo thoải mái bao nhiêu steps tuỳ ý? Sai, điều này liên quan đến lý Performance Issue mà mình đề cập ở trên. Càng lưu lại nhiều steps để có thể undo, JMeter sẽ chạy càng chậm. Bản có thể thử set con số 20, và undo thử với 1 Test Plan hơi "bự" một chút, bạn sẽ được trải nghiệm cảm giác chậm của nó ngay ^^. Với kinh nghiệm của riêng mình, dù trong đoạn mô tả JMeter đề nghị 25 là hợp lý, mình cũng chỉ set nó bằng 5, để phòng khi sai sót gì thì sẽ undo ngay luôn, chứ ko để lâu. Hoặc nếu máy của bạn khá mạnh, RAM > 16GB thì có thể set con số là 10. Lúc đó nó sẽ như thế này:

Code: Select all

# Number of items in undo history
# Feature is disabled by default (0) due to known and not fixed bugs:
# https://bz.apache.org/bugzilla/show_bug.cgi?id=57043
# https://bz.apache.org/bugzilla/show_bug.cgi?id=57039
# https://bz.apache.org/bugzilla/show_bug.cgi?id=57040
# Set it to a number > 0 (25 can be a good default)
# The bigger it is, the more it consumes memory
undo.history.size=5
Lưu ý nhớ xoá # ở phía đầu dòng

- Step 5: Sau khi sửa xong, nhớ save file này lại, và restart JMeter (tắt JMeter mở lại). Tạo 1 Test Plan và thực hiện tạo một vài element, bạn sẽ thấy 2 button Undo/Redo được "bật" lên

Image

Note: Một sự bất tiện là bắt buộc mọi người phải nhấn vào button để có thể Undo/Redo, cách thông thường là sử dụng Ctrl + Z sẽ ko xi nhê gì trong trường hợp này đâu nhé :D

2. Automated Backups File

Kể từ khi xuất hiện từ phiên bản JMeter 3.0, có thể tính năng này sẽ giúp người dùng và cả JMeter "xoá bỏ" luôn việc Undo/Redo ở trên. Với Automated Backups File, Test Plan của bạn sẽ được backup mỗi khi bạn saved (Ctrl + S). Nghe rất thú vị phải không nào? Và mặc định tính năng này đã được kích hoạt sẵn, với những options sau:
  • - Những backup files sẽ được lưu tại /JMETER_HOME/backups với tên là your-test-plan-name-000001.jmx
    - Những backup files sẽ tồn tại cho đến khi bạn xoá nó
    - Tối đa sẽ có 10 phiên bản gần nhất được lưu lại, phiên bản mới nhất được lưu vào thì phiên bản thứ 10 trước đó sẽ bị xoá đi.
Và tất nhiên, bạn có thể thay đổi những tuỳ chỉnh này một cách rất dế dàng. Tương tự như trên, các bạn thực hiện theo các bước:

- Step 1: Vào thư mục /JMETER_HOME/bin
- Step 2: Open file jmeter.properties ở dạng text editor
- Step 3: Tìm text này JMX Backup configuration. Bạn sẽ thấy những dòng này:

Code: Select all

#---------------------------------------------------------------------------
# JMX Backup configuration
#---------------------------------------------------------------------------
#Enable auto backups of the .jmx file when a test plan is saved.
#When enabled, before the .jmx is saved, it will be backed up to the directory pointed
#by the jmeter.gui.action.save.backup_directory property (see below). Backup file names are built
#after the jmx file being saved. For example, saving test-plan.jmx will create a test-plan-000012.jmx
#in the backup directory provided that the last created backup file is test-plan-000011.jmx.
#Default value is true indicating that auto backups are enabled
#jmeter.gui.action.save.backup_on_save=true
 
#Set the backup directory path where JMX backups will be created upon save in the GUI.
#If not set (what it defaults to) then backup files will be created in
#a sub-directory of the JMeter base installation. The default directory is ${JMETER_HOME}/backups
#If set and the directory does not exist, it will be created.
#jmeter.gui.action.save.backup_directory=
 
#Set the maximum time (in hours) that backup files should be preserved since the save time.
#By default no expiration time is set which means we keep backups for ever.
#jmeter.gui.action.save.keep_backup_max_hours=0
 
#Set the maximum number of backup files that should be preserved. By default 10 backups will be preserved.
#Setting this to zero will cause the backups to not being deleted (unless keep_backup_max_hours is set to a non zero value)
#jmeter.gui.action.save.keep_backup_max_count=10
Trong này có 4 properties giúp bạn thay đổi các tuỳ chỉnh mặc định của tính năng Automated Backups:

- jmeter.gui.action.save.backup_on_save: Enable hoặc Disable tính năng backup, default nó là true (enable), nếu ko thích mọi người có thể tắt nó bằng cách set = false
- jmeter.gui.action.save.backup_directory: Bạn muốn thay đổi folder dùng để lưu các file backup? Copy full path của folder đó và set giá trị cho property này nhé
- jmeter.gui.action.save.keep_backup_max_hours: Thời gian tối đa các file backups được lưu trữ? Bạn có thể thấy mặc định nó bằng 0 nghĩa là lưu mãi mãi, change nó thành con số mà bạn muốn, ví dụ 168 (1 tuần), sau 1 tuần các file sẽ tự động được xoá đi, để tiết kiệm bộ nhớ chẳng hạn.
- jmeter.gui.action.save.keep_backup_max_count: Số file backup tối đa mà bạn muốn lưu, 10 đang là con số mặc định, bạn có thể đổi nó thành 20, 30, 50 tuỳ theo bộ nhớ trống của bạn nhiều hay không.

Đây là phần set-up của mình:

Code: Select all

jmeter.gui.action.save.backup_on_save=true
jmeter.gui.action.save.backup_directory=/Users/user/Desktop/MyBackup
jmeter.gui.action.save.keep_backup_max_hours=0
jmeter.gui.action.save.keep_backup_max_count=50
Và đây là 1 phần test thử việc backup file (Nhớ là nó chỉ backup mỗi khi các bạn Save file, nên trong quá trình scripting, nhớ nhấn Ctrl + S liên tục nhé 8-) )

Image

This would prevent anyone to lose work anymore…

Link bài viết phiên bản tiếng Anh: https://jmetervn.wordpress.com/2016/09/ ... in-jmeter/



Post Reply

Return to “JMeter”