Công cụ scripting của Apidog sử dụng đối tượng pm để truy cập dữ liệu về yêu cầu, phản hồi và biến. Phương thức này tương thích với Postman.Đối tượng pm#
Đối tượng pm có các thuộc tính chính sau.| Thuộc tính | Kiểu dữ liệu | Mô tả |
|---|
pm.info.eventName | String | Loại script hiện đang chạy (preprocessor script hoặc postprocessor script). |
pm.info.iteration | Number | Số của vòng lặp hiện tại (chỉ hợp lệ trong test collections). |
pm.info.iterationCount | Number | Tổng số vòng lặp (chỉ hợp lệ trong test collections). |
pm.info.requestName | String | Tên của API hiện đang chạy. |
pm.info.requestId | String | ID của API hiện đang chạy. |
Gửi yêu cầu (pm.sendRequest)#
pm.sendRequest được sử dụng để gửi các yêu cầu HTTP/HTTPS bất đồng bộ trong script.Phương thức này chấp nhận một tham số yêu cầu tương thích với collection SDK và một tham số hàm callback. Callback có 2 đối số. Đối số đầu tiên là lỗi và đối số thứ hai là phản hồi tương thích với collection SDK. Xem thêm thông tin trong tài liệu Collection SDK. Bạn có thể sử dụng phương thức này trong cả preprocessor script và postprocessor script.
Để biết thêm tài liệu tham khảo, vui lòng truy cập:pm.variables#
Biến cục bộ. Mức độ ưu tiên của các biến khác nhau như sau:Local Variables > Environment Variables > Global Variables Shared within Project > Global Variables Shared within Team.pm.variables.has(variableName:String):function → Boolean: Kiểm tra xem một biến tạm thời có tồn tại hay không.
pm.variables.get(variableName:String):function → *: lấy một biến tạm thời.
pm.variables.set(variableName:String, variableValue:String):function → void: đặt một biến tạm thời.
pm.variables.replaceIn(variableName:String):function: Thay thế "dynamic variables" trong một chuỗi (ví dụ: {{variable_name}}) bằng các giá trị thực tế. Ví dụ:
// Define a string containing a dynamic variable
let stringWithVariable = "Hello, {{username}}";
// Use the replaceIn method to replace the {{username}} placeholder
let realValueString = pm.variables.replaceIn(stringWithVariable);
// Output the replaced value
console.log(realValueString); // Output: "Hello, john_doe"
pm.variables.replaceInAsync(variableName:String):function: Thay thế "dynamic value expressions" trong một chuỗi (ví dụ: {{$person.fullName}}) bằng các giá trị thực tế. Phương thức này trả về một Promise, vì vậy bạn cần sử dụng await khi gọi nó. Ví dụ:
// Define a string containing a dynamic value expression
let stringWithVariable = "Hello, {{$person.fullName}}";
// Use the replaceInAsync method to replace the {{$person.fullName}}
let realValueString = await pm.variables.replaceInAsync(stringWithVariable);
pm.variables.toObject():function → Object: lấy tất cả biến cục bộ dưới dạng đối tượng.
pm.iterationData#
Hiện tại, chúng tôi không hỗ trợ đặt biến dữ liệu kiểm thử trực tiếp trong script, vì dữ liệu kiểm thử được quản lý riêng. Tuy nhiên, bạn có thể truy cập các biến trong script như minh họa dưới đây:pm.iterationData.has(variableName:String):function → Boolean: Kiểm tra xem một biến kiểm thử có tồn tại hay không.
pm.iterationData.get(variableName:String):function → *: lấy một biến kiểm thử.
pm.iterationData.replaceIn(variableName:String):function: thay thế các biến động trong một chuỗi bằng giá trị thực tế của chúng, ví dụ: {{variable_name}}.
pm.iterationData.toObject():function → Object: lấy tất cả biến cục bộ dưới dạng đối tượng.
pm.environment#
pm.environment.name:String: tên môi trường.
pm.environment.has(variableName:String):function → Boolean:Kiểm tra xem một biến môi trường có tồn tại hay không.
pm.environment.get(variableName:String):function → *: lấy một biến môi trường.
pm.environment.set(variableName:String, variableValue:String):function:đặt một biến môi trường.
pm.environment.replaceIn(variableName:String):function: thay thế các biến động trong một chuỗi bằng giá trị thực tế của chúng, ví dụ: {{variable_name}}.
pm.environment.toObject():function → Object: lấy tất cả biến cục bộ dưới dạng đối tượng.
pm.environment.unset(variableName:String):function: bỏ đặt một biến môi trường.
pm.environment.clear():function: xóa tất cả biến môi trường trong môi trường hiện tại.
MẸO: các thao tác được đề cập ở trên chỉ đọc và ghi các giá trị hiện tại; chúng không đọc hoặc ghi các giá trị từ xa.pm.moduleVariables#
pm.moduleVariables: ObjectĐược sử dụng để quản lý Current Value của các biến cấp mô-đun.pm.moduleVariables.has(variableName: String): function → Boolean
Kiểm tra xem một biến mô-đun cụ thể có tồn tại hay không.
pm.moduleVariables.get(variableName: String): function → *
Truy xuất giá trị của một biến mô-đun cụ thể.
pm.moduleVariables.set(variableName: String, variableValue: String): function
Đặt giá trị của một biến mô-đun cụ thể.
pm.moduleVariables.replaceIn(variableName: String): function
Thay thế các placeholder {{variable}} trong một chuỗi bằng giá trị thực tế của chúng.
pm.moduleVariables.toObject(): function → Object
Trả về tất cả biến mô-đun dưới dạng đối tượng khóa-giá trị.
pm.moduleVariables.unset(variableName: String): function
Xóa một biến mô-đun cụ thể.
pm.moduleVariables.clear(): function
Xóa tất cả biến mô-đun trong mô-đun hiện tại.
Ghi chú về khả năng tương thích:
pm.collectionVariables hoạt động giống như pm.moduleVariables và có thể được sử dụng thay thế cho nhau.
pm.globals#
pm.globals.has(variableName:String):function → Boolean: Kiểm tra xem một biến toàn cục có tồn tại hay không.
pm.globals.get(variableName:String,variableScope:String):function → *: lấy một biến toàn cục. Sử dụng 'PROJECT' (mặc định) hoặc 'TEAM' để chỉ định phạm vi của biến.
pm.globals.set(variableName:String,variableValue:String, variableScope:String):function: đặt một biến toàn cục. Sử dụng 'PROJECT' (mặc định) hoặc 'TEAM' để chỉ định phạm vi của biến.
pm.globals.replaceIn(variableName:String):function: thay thế các biến động trong một chuỗi bằng giá trị thực tế của chúng, ví dụ: {{variable_name}}.Để lấy giá trị của một tham số yêu cầu có chứa biến trong preprocessor script, hãy sử dụng pm.globals.replaceIn để thay thế biến bằng giá trị thực.
pm.globals.toObject():function → Object: lấy tất cả biến toàn cục dưới dạng đối tượng.
pm.globals.unset(variableName:String,variableScope:String):function: bỏ đặt một biến toàn cục. Sử dụng 'PROJECT' (mặc định) hoặc 'TEAM' để chỉ định phạm vi của biến.
pm.globals.clear():function: xóa tất cả biến toàn cục trong môi trường hiện tại.
1.
Tất cả thao tác ở trên chỉ ảnh hưởng đến current values, không ảnh hưởng đến initial values.
2.
Khi sử dụng set với phạm vi 'TEAM', thao tác này sẽ chỉ cập nhật giá trị hiện tại của một biến team đã tồn tại. Nếu biến team không tồn tại, biến đó sẽ không được tạo. Thay vào đó, biến sẽ được xử lý như một biến cục bộ.
pm.request#
request là đối tượng yêu cầu API. Trong preprocessor script, đó là yêu cầu sẽ được gửi. Trong postprocessor script, đó là yêu cầu đã được gửi.request bao gồm các thông tin sau:pm.request.url:Url: URL của yêu cầu hiện tại.pm.request.getBaseUrl(): Truy xuất BASE URL được chọn bởi môi trường runtime hiện tại. Tính năng này được hỗ trợ sau phiên bản 2.1.39.
pm.request.headers:HeaderList: danh sách header của yêu cầu hiện tại.pm.request.method:String: phương thức của yêu cầu hiện tại, chẳng hạn như GET, POST, v.v.
pm.request.body: RequestBody: body của yêu cầu hiện tại.pm.request.headers.add({ key: headerName:String, value: headerValue:String}):function: Thêm một header với khóa headerName vào yêu cầu hiện tại.
pm.request.headers.remove(headerName:String):function: Xóa một header với khóa headerName khỏi yêu cầu hiện tại.
pm.request.headers.upsert({ key: headerName:String, value: headerValue:String}):function: Upsert một header với khóa headerName trong yêu cầu hiện tại. Nếu khóa đã tồn tại, nó sẽ được sửa đổi.
API sau chỉ có thể được sử dụng trong postprocessor scripts.
pm.response#
Sử dụng pm.response để truy cập thông tin phản hồi trả về trong postprocessor script.pm.response bao gồm các thông tin sau:pm.response.status:String
pm.response.responseTime:Number
pm.response.responseSize:Number
pm.response.text():Function → String
pm.response.json():Function → Object
pm.cookies#
Cookies là danh sách cookie trong tên miền của yêu cầu hiện tại.pm.cookies.has(cookieName:String):Function → Boolean
Kiểm tra xem giá trị cookie của cookieName có tồn tại hay không.
pm.cookies.get(cookieName:String):Function → String
Lấy giá trị cookie từ cookieName.
pm.cookies.toObject:Function → Object
Lấy tất cả cookie trong miền hiện tại dưới dạng đối tượng.
pm.cookies.jar().clear(pm.request.url)
Xóa tất cả cookie.
pm.cookies là cookie được trả về sau yêu cầu API, không phải cookie được gửi bởi yêu cầu API.
pm.test#
Hàm này được sử dụng để khẳng định xem một kết quả có đáp ứng kỳ vọng hay không.Ví dụ dưới đây có thể được sử dụng để xác định xem một phản hồi có chính xác hay không.Bạn có thể chạy một kiểm thử bất đồng bộ bằng cách sử dụng done(một tham số tùy chọn) trong hàm callback.pm.test.index():Function → Number
Lấy tổng số kiểm thử từ một vị trí cụ thể.
pm.expect#
pm.expect là một phương thức khẳng định. Xem tài liệu thư viện ChaiJS expects BDD tại đây.Phương thức này được thiết kế để khẳng định dữ liệu trong phản hồi hoặc biến. Để biết thêm ví dụ về pm.expect, vui lòng truy cập ví dụ về thư viện Assertion.pm.response.to.have.*#
pm.response.to.have.status(code:Number)
pm.response.to.have.status(reason:String)
pm.response.to.have.header(key:String)
pm.response.to.have.header(key:String, optionalValue:String)
pm.response.to.have.body()
pm.response.to.have.body(optionalValue:String)
pm.response.to.have.body(optionalValue:RegExp)
pm.response.to.have.jsonBody()
pm.response.to.have.jsonBody(optionalExpectEqual:Object)
pm.response.to.have.jsonBody(optionalExpectPath:String)
pm.response.to.have.jsonBody(optionalExpectPath:String, optionalValue:*)
pm.response.to.have.jsonSchema(schema:Object)
pm.response.to.have.jsonSchema(schema:Object, ajvOptions:Object)
pm.response.to.be.*#
Bạn có thể sử dụng pm.response.to.be tích hợp sẵn để khẳng định nhanh.pm.response.to.be.info
Kiểm tra xem mã trạng thái có phải là 1XX hay không.
pm.response.to.be.success
Kiểm tra xem mã trạng thái có phải là 2XX hay không.
pm.response.to.be.redirection
Kiểm tra xem mã trạng thái có phải là 3XX hay không.
pm.response.to.be.clientError
Kiểm tra xem mã trạng thái có phải là 4XX hay không.
pm.response.to.be.serverError
Kiểm tra xem mã trạng thái có phải là 5XX hay không.
pm.response.to.be.error
Kiểm tra xem mã trạng thái có phải là 4XX hoặc 5XX hay không.
pm.response.to.be.ok
Kiểm tra xem mã trạng thái có phải là 200 hay không.
pm.response.to.be.accepted
Kiểm tra xem mã trạng thái có phải là 202 hay không.
pm.response.to.be.badRequest
Kiểm tra xem mã trạng thái có phải là 400 hay không.
pm.response.to.be.unauthorized
Kiểm tra xem mã trạng thái có phải là 401 hay không.
pm.response.to.be.forbidden
Kiểm tra xem mã trạng thái có phải là 403 hay không.
pm.response.to.be.notFound
Kiểm tra xem mã trạng thái có phải là 404 hay không.
pm.response.to.be.rateLimited
Kiểm tra xem mã trạng thái có phải là 429 hay không.