API Testing với Postman (Phần 15) – Reuse test script

Update: bài này đã được viết lại hoàn toàn.

Có bạn hỏi hỏi “anh ơi, có cách nào reuse các function mình đã viết không? có mấy function em cứ phải copy qua lại, mệt quá

Hiện tại, mình nghĩ đến 2 cách nhưng đều 1 có chung steps:

  • (1) Save function dưới dạng String vào Collection Environment
  • (2) Get function đó ra và dùng function eval() để run function đó.
  • (3) Sử dụng function một cách bình thường.

Giờ mình sẽ nói đến 2 cách:

  • Cách 1: Save mỗi function vào 1 biến
  • Cách 2: Save toàn bộ function vào 1 biến dưới dạng function của object.

Cách 1: Save mỗi function vào 1 biến

Trong phần Pre-request Script của collection, mình sẽ viết như sau:

let f1 = `() => {
    console.log("this is function f1")
}`
pm.collectionVariables.set("f1", f1)

Như bạn đã thấy function f1 của mình là String, khi nó sử dụng dấu backtick ở 2 đầu ` `.

Sau đó, ở nơi nào bạn muốn dùng function này, bạn sẽ dùng function eval() để run String giống như code javascript thật. Có thể là Pre-request Script hoặc Tests của 1 request nào đó.

let f1 = eval(pm.collectionVariables.get('f1'));
f1();

Cách 2: Save toàn bộ function vào 1 biến dưới dạng function của object.

Tương tự, ở phần Pre-request Script của collection, mình sẽ viết như sau:

let common = `obj =  {
    print: function(name) {console.log(\`Hello \${name}\`)},
    toUpper: function() {console.log("toUpper")}
}`
pm.collectionVariables.set("common", common)

Điểm đặc biệt:

  • Vì mình dùng dấu backtick để biến toàn bộ object này thành String, đôi lúc bạn sẽ gặp phải tình huống syntax error, bạn cần dùng dấu \ để escape các ký tự đặc biệt \` hoặc \$

Sau đó sử dụng như sau:

eval(pm.collectionVariables.get("common"));

obj.print("Giang")
obj.toUpper()

Bởi vì mình save cả 1 cái object tên là obj nên sau khi eval() thì cái object obj sẽ available để mình sử dụng.

Tổng kết

Hi vọng bài này sẽ giúp bạn tiết kiệm được chút ít thời gian khi viết script với Postman. Like nếu bài viết có ích cho bạn. Thanks

5 2 votes
Article Rating
Subscribe
Notify of
guest
3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] API Testing với Postman (Phần 15) – Reuse test script This entry was posted in API Testing, Postman and tagged Postman by Giang Nguyen. Bookmark the permalink. […]

Mike
Mike
1 year ago

a ơi cái script phần Reuse script mà có sử dụng parameters bị lỗi ạ? a kiểm tra lại giúp e với (There was an error in evaluating the test script: ReferenceError: undefinedabc is not defined)