API testing với Jmeter • testingvn.com


Thông báo về việc đăng ký mới thành viên: Sau khi đăng ký thành viên xong, các bạn vui lòng Thông báo cho Quản Trị Viên theo link này
để Quản Trị Viên sẽ kích hoạt tài khoản cho các bạn nhé. Xin lỗi vì sự bất tiện này.

API testing với Jmeter

Công cụ kiểm thử hiệu năng miễn phí, chỉ hỗ trợ java.
Nội qui chuyên mục
Công cụ kiểm thử hiệu năng miễn phí, chỉ hỗ trợ java.

API testing với Jmeter

Gửi bàigửi bởi nhanhnt » T.Sáu 10 Tháng 5, 2013 3:56 pm

Sau khi tìm hiểu 1 ít về Tool này, mình đưa ra cách làm và cách hiểu của mình. Mọi người xem và đóng góp ý kiến xem mình có bị hiểu sai hoặc thiếu kiến thức chỗ nào không nhé. Thanks

    - Ý tưởng: thực hiện Load testing xem server sẽ chịu tải được khi bao nhiêu người cùng sử dụng 1 chức năng tải về quyển sách.
    - Điều kiện: Người dùng Login vào hệ thống, sao đó tải về 1 quyển sách

Ghi chú: Do server cũng cấp các API cho Client là mobile nên đơn giản là ở client gửi request dạng http và reponse về kết quả ok là xong.

Các bước thực hiện
    1- Tạo Thread Group
    2- Tạo CSV Data Set Config với 2 trường là user, pass
    3- Tạo 1 Http Request:
      Ví dụ: Server Name or IP: localhost
      Port Number: 8088
      Path: /login?
      Mục Parameters add thêm 2 biến là:
      Name: username; Value: ${user}
      Name: password; Value: ${pass}
    4- Trong http Request tạo 1 BSF PostProcessor để tách kết quả trả về. Khi đăng nhập xong, hệ thống cung cấp 1 id. dùng id đó để mua sách, nên cần phải tách kết quả trả về để lấy được trường id này. Server trả về kết quả dạng Json
      - Chọn ngôn ngữ Javascript
      - Thêm vào dòng lệnh sau
        eval("var JSonResponse = " + prev.getResponseDataAsString());
        vars.put("iddn", JSonResponse.data.iddn);
      Câu JSonResponse.data.iddn nghĩa là vì:
      Kết quả server trả về khi đăng nhập thành công có dạng:
        {
        : "error":0,
        : "data":{"iddn":"ae6B10e5aa"}
        }
      ==> OK, sau khi đăng nhập thành công, iddn sẽ được lưu vào biến ${iddn}, chỉ cần gọi ra dùng lại
    5. Tạo 1 http request để mua sách như tạo các http request khác
Sau đó thì chạy và tăng dần số user lên. Đến khi nào thấy server treo thì biết được khả năng Load test của Server.
Mọi người đóng góp ý kiến xem thế ổn chưa nhỉ.
Sửa lần cuối bởi nhanhnt vào ngày T.Năm 12 Tháng 12, 2013 3:53 pm với 1 lần sửa.
nhanhnt
 
Bài viết: 12
Ngày tham gia: T.Năm 07 Tháng 10, 2010 10:28 am

Re: Load Testing server với Jmeter

Gửi bàigửi bởi tvn » CN 12 Tháng 5, 2013 11:17 pm

Chào bạn,

Cám ơn bạn đã chia sẻ, mình thấy các bước của bạn đã OK rồi đó. Nhưng khó khăn của Load test là máy client (dùng giả lập phía client để post request lên server) thường có cấu hình thấp hơn server. Nên một máy client không thể post sập server được, mặc dù giả lập nhiều request. Và khi bạn post http request thì thông thường mặc định phía server có chặn số lượng request liên tục trong thời gian ngắn. Nên sẽ có nhiều request bị reject (không gửi lên serer được), cách làm của mình như sau:

    1. Dùng nhiều PC làm client side để post request, mỗi máy post một lượng vừa đủ để máy tính còn có thể hoạt động được.
    2. Nhờ DEV xem cấu hình trong phần deploy web server (web adapter), nếu có chặn số lượng request http liên tục thì bỏ cấu hình này đi.
    3. Trước khi chạy load test và từng chặng cũng như sau khi test xong, nhớ ghi lại trạng thái của server (RAM, HDD, CPU,...)
    4. Nên cài ứng dụng nào đó để theo dõi, ghi lại thông số hệ thống server một cách tự động.
    5. Nếu được thì capture lại màn hình server theo từng chặng Vuser tăng để làm report.

Hiện nay TESTING VN đã có các khoá học về automation, trong đó có WebDriverJMeter.
tvn
 
Bài viết: 4645
Ngày tham gia: T.Ba 10 Tháng 8, 2010 10:11 am
Đến từ: HCM


Re: Load Testing server với Jmeter

Gửi bàigửi bởi zinzen89 » T.Ba 11 Tháng 6, 2013 5:30 pm

Hi Anh
Em đang tìm hiểu về Jmeter để test vấn đề chịu tải hệ thống cho cty.
Nên em xin nhờ anh giúp e về về file cài và tài liệu của phần a .
Em xin cảm ơn
zinzen89
 
Bài viết: 10
Ngày tham gia: T.Hai 07 Tháng 11, 2011 12:44 pm

Re: Load Testing server với Jmeter

Gửi bàigửi bởi nhanhnt » T.Tư 12 Tháng 6, 2013 10:36 am

http://jmeter.apache.org/
Lên trang chủ của nó download và tài liệu nó có trong đấy hết
Download về vào Bin, chạy file Jmeter.bat là được thôi
nhanhnt
 
Bài viết: 12
Ngày tham gia: T.Năm 07 Tháng 10, 2010 10:28 am

Re: Load Testing server với Jmeter

Gửi bàigửi bởi triendovan » T.Sáu 04 Tháng 10, 2013 11:43 am

Ban có thể làm 1 file hướng dẫn cụ thể không.Mình đang làm tới phần này
Login vào mantis -> oki
Nhưng không làm sao để có thể test phần post bug trên mantis.

Thanks bạn
triendovan
 
Bài viết: 26
Ngày tham gia: T.Sáu 07 Tháng 10, 2011 3:42 pm

Re: API testing với Jmeter

Gửi bàigửi bởi nhatquyen » T.Hai 30 Tháng 6, 2014 11:14 am

B ơi, mình muốn test case khi nhập user, pass đúng thì nó vào đúng trang bên trong của account đó, nếu pass sai thì nó hiện thông báo lỗi hoặc k vào đk. Nhưng sao mình đã nhập user, pass đúng rùi mà nó vẫn k vào đúng trang trong mà chỉ dừng lại ở màn hình login bên ngoài :)

Thanks bạn!
nhatquyen
 
Bài viết: 1
Ngày tham gia: T.Hai 30 Tháng 6, 2014 11:03 am

Re: API testing với Jmeter

Gửi bàigửi bởi kysudientu » T.Tư 02 Tháng 7, 2014 10:53 am

nhatquyen đã viết:B ơi, mình muốn test case khi nhập user, pass đúng thì nó vào đúng trang bên trong của account đó, nếu pass sai thì nó hiện thông báo lỗi hoặc k vào đk. Nhưng sao mình đã nhập user, pass đúng rùi mà nó vẫn k vào đúng trang trong mà chỉ dừng lại ở màn hình login bên ngoài :)

Thanks bạn!

Có thể trường hợp của bạn là do chỗ login nằm chung với 1 trang nào đó - ví dụ như trang HOME?

ví dụ: trang HOME là http://localhost/home. Trên home thì có 1 chỗ để bạn login (cho bạn nhập username/pass trên chính trang HOME, ko cần phải vào trang login) thì do đó Jmeter hiểu Path của trang login cũng là 'http://localhost/home', nên khi chạy nó ko thể trả về kết quả đúng.

Để giải quyết thường, nếu làm manual record thì bạn nên add HTTP Cache Manager/Cookie Manager, chạy 1-2 lần cho nó nhớ, sau đó hãy bắt đầu load test

Bạn có thể dùng Jmeter record cho chắc chắn.

Thanks
kysudientu
 
Bài viết: 68
Ngày tham gia: T.Tư 25 Tháng 12, 2013 9:30 pm

Re: API testing với Jmeter

Gửi bàigửi bởi ngoclinh » T.Tư 03 Tháng 6, 2015 11:23 am

Nếu dùng recorder mà khi chạy lại vẫn k thực hiện được mà báo lỗi thì xử lý thế nào nhỉ.
Page của mình test thì FW tự động sinh URL, k get được URL thực, URL hiển thị ra trên màn hình khác với URL mà link đến, vấn đề này sẽ xử lý thế nào nhỉ
Nhờ mọi ng giúp đỡ.
ngoclinh
 
Bài viết: 4
Ngày tham gia: T.Sáu 25 Tháng 3, 2011 10:38 am


Quay về JMeter

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách.