API testing với 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
nhanhnt
Fresher Tester
Posts: 12
Joined: Thu 07 Oct, 2010 10:28 am
Contact:

API testing với Jmeter

Post by nhanhnt » Fri 10 May, 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ỉ.
Last edited by nhanhnt on Thu 12 Dec, 2013 3:53 pm, edited 1 time in total.



tvn
Admin
Posts: 4742
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Load Testing server với Jmeter

Post by tvn » Sun 12 May, 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.



nhanhnt
Fresher Tester
Posts: 12
Joined: Thu 07 Oct, 2010 10:28 am
Contact:

Re: Load Testing server với Jmeter

Post by nhanhnt » Fri 17 May, 2013 2:39 pm

Thanks a



zinzen89
Fresher Tester
Posts: 10
Joined: Mon 07 Nov, 2011 12:44 pm
Contact:

Re: Load Testing server với Jmeter

Post by zinzen89 » Tue 11 Jun, 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



nhanhnt
Fresher Tester
Posts: 12
Joined: Thu 07 Oct, 2010 10:28 am
Contact:

Re: Load Testing server với Jmeter

Post by nhanhnt » Wed 12 Jun, 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



triendovan
Fresher Tester
Posts: 26
Joined: Fri 07 Oct, 2011 3:42 pm
Contact:

Re: Load Testing server với Jmeter

Post by triendovan » Fri 04 Oct, 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



nhatquyen
Hoc Tester
Posts: 1
Joined: Mon 30 Jun, 2014 11:03 am
Contact:

Re: API testing với Jmeter

Post by nhatquyen » Mon 30 Jun, 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!



kysudientu
Jr. Tester
Posts: 68
Joined: Wed 25 Dec, 2013 9:30 pm
Contact:

Re: API testing với Jmeter

Post by kysudientu » Wed 02 Jul, 2014 10:53 am

nhatquyen wrote: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



ngoclinh
Hoc Tester
Posts: 4
Joined: Fri 25 Mar, 2011 10:38 am
Contact:

Re: API testing với Jmeter

Post by ngoclinh » Wed 03 Jun, 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 đỡ.



Post Reply

Return to “JMeter”