Array và reuse test script

QA/QC Oct 06, 2021

I. Làm việc với array trong Postman

Các phần trước chúng ta đã làm việc nhiều với response trả về là các kiểu number, string, bài hôm nay sẽ giới thiệu cho mọi người 1 số cách làm việc khi response trả về là 1 array. Bài hôm nay sẽ hướng dẫn mọi người:

- Cách save 1 phần mảng và environment

- Cách tham chiếu đến phần tử của mảng

- Sử dụng giá trị trong mảng để chạy các api khác

Để cụ thể hơn thì chúng ta sẽ thực hiện bài toán sau: Chạy api list articles, sau đó save list article vào env từ đó thực hiện

+ Log ra 1 giá trị trong array đã save

+ Sử dụng 1 phần tử trong mảng đó để chạy api khác

Ta thực hiện theo các step sau:

  1. Chạy api get list articles trả về response có “result” là 1 array

Method: Get

Url: http://172.16.1.85:8080/api/articles

2. Save “result” trong response trả về vào environment như sau:

Sau khi chạy lại API list articles thì mảng “result” trả về trong phần response sẽ được thêm vào biến environment của môi trường đang sử dụng

3. Muốn log 1 giá trị của array “result” ta làm như sau:

Thêm script này vào tab Tests của api:

console.log(pm.environment.get('artilcle')[1].id)

Trong đó:

Lấy giá trị trong mảng để chạy api khác:

Ta xét bài toán: Test kết hợp api list và api delete. Khi test api delete thì mình sẽ phải điền id của article, khi id đó đã bị xóa thì api này sẽ không chạy được -> mỗi lần chạy api delete thì phải thay đổi id mới chạy được để test TH code = 200. Để đảm bảo lúc nào cũng chạy được api delete thì ta sẽ kết hợp với api list và xóa phần tử đầu tiên của api list trả về

Truyền vào body của api delete như sau:

Biến “id” được xác định như sau, truyền vào Pre-request script của api list articles

Khi run collection gồm 2 api list articles và delete articles thì biến “id” truyền lên ở phần body của api delete sẽ là id của phần tử đầu tiên của mảng “result” trả về trong api list articles

II. Reuse test script

Khi viết test script để test api với postman chúng ta sẽ gặp trường hợp rất nhiều đoạn code bị lặp lại. Để giải quyết vấn đề này, ở đây sẽ hướng dẫn mọi người cách sử dụng lại các đoạn test script trong postman mà không cần phải viết đi viết lại nhiều lần các đoạn code giống nhau. Chúng ta sẽ save cái code đó vào thành 1 variable trong environment rồi chỉ cần gọi cái code đó ở chỗ nào cần

Cách làm như sau:

  1. Sử dụng Pre-request để save common test vào environment

Để làm rõ hơn thì ta xét bài toán: Viết phần function Test cho TH status code = 400 để dùng chung cho api create và edit articles, sau đó ở mỗi api sẽ gọi function này để dùng lại

Thêm đoạn code sau vào folder to nhất:


2.   Sử dụng code đó ở nơi nào mình muốn

Dùng lệnh eval để gọi function mà mình đã viết

Ở bài toán trên, ta sẽ thêm đoạn code common vào collection gồm 2 api create articles và edit articles. Ở phần test của mỗi api ta sẽ dùng lệnh eval để gọi function đó. Khi run collection đó thì đoạn testscript đó sẽ chạy cho cả 2 api



Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.