Mesin skrip Apidog menggunakan objek pm untuk mengakses data tentang permintaan, respons, dan variabel. Metode ini kompatibel dengan Postman.Objek pm#
Objek pm memiliki properti utama berikut.| Properti | Tipe Data | Deskripsi |
|---|
pm.info.eventName | String | Jenis skrip yang sedang berjalan saat ini (skrip praprosesor atau skrip pascaprosesor). |
pm.info.iteration | Number | Jumlah iterasi saat ini (hanya valid dalam koleksi pengujian). |
pm.info.iterationCount | Number | Jumlah total iterasi (hanya valid dalam koleksi pengujian). |
pm.info.requestName | String | Nama API saat ini yang sedang berjalan. |
pm.info.requestId | String | ID API saat ini yang sedang berjalan. |
Mengirim Permintaan (pm.sendRequest)#
pm.sendRequest digunakan untuk mengirim permintaan HTTP/HTTPS asinkron dalam skrip.Metode ini menerima parameter permintaan yang kompatibel dengan collection SDK dan parameter fungsi callback. Callback memiliki 2 argumen. Yang pertama adalah error dan yang kedua adalah respons yang kompatibel dengan collection SDK. Lihat informasi selengkapnya dalam dokumentasi Collection SDK. Anda dapat menggunakannya dalam skrip praprosesor maupun pascaprosesor.
Untuk referensi selengkapnya, silakan kunjungi:pm.variables#
Variabel lokal. Prioritas berbagai variabel adalah sebagai berikut:Local Variables > Environment Variables > Global Variables Shared within Project > Global Variables Shared within Team.pm.variables.has(variableName:String):function → Boolean: Periksa apakah variabel sementara ada.
pm.variables.get(variableName:String):function → *: mendapatkan variabel sementara.
pm.variables.set(variableName:String, variableValue:String):function → void: mengatur variabel sementara.
pm.variables.replaceIn(variableName:String):function: Mengganti "variabel dinamis" dalam string (misalnya, {{variable_name}}) dengan nilai aktual. Contoh:
// 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: Mengganti "ekspresi nilai dinamis" dalam string (misalnya, {{$person.fullName}}) dengan nilai aktual. Metode ini mengembalikan Promise, jadi Anda perlu menggunakan await saat memanggilnya. Contoh:
// 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: mendapatkan semua variabel lokal sebagai objek.
pm.iterationData#
Saat ini kami tidak mendukung pengaturan variabel data pengujian secara langsung dalam skrip, karena data pengujian dikelola secara terpisah. Namun, Anda dapat mengakses variabel dalam skrip seperti yang ditunjukkan di bawah ini:pm.iterationData.has(variableName:String):function → Boolean: Periksa apakah variabel pengujian ada.
pm.iterationData.get(variableName:String):function → *: mendapatkan variabel pengujian.
pm.iterationData.replaceIn(variableName:String):function: mengganti variabel dinamis dalam string dengan nilai aktualnya, misalnya, {{variable_name}}.
pm.iterationData.toObject():function → Object: mendapatkan semua variabel lokal sebagai objek.
pm.environment#
pm.environment.name:String: nama lingkungan.
pm.environment.has(variableName:String):function → Boolean: Periksa apakah variabel lingkungan ada.
pm.environment.get(variableName:String):function → *: mendapatkan variabel lingkungan.
pm.environment.set(variableName:String, variableValue:String):function: mengatur variabel lingkungan.
pm.environment.replaceIn(variableName:String):function: mengganti variabel dinamis dalam string dengan nilai aktualnya, misalnya, {{variable_name}}.
pm.environment.toObject():function → Object: mendapatkan semua variabel lokal sebagai objek.
pm.environment.unset(variableName:String):function: membatalkan pengaturan variabel lingkungan.
pm.environment.clear():function: menghapus semua variabel lingkungan di bawah lingkungan saat ini.
TIP operasi yang disebutkan di atas hanya membaca dan menulis nilai saat ini; operasi tersebut tidak membaca atau menulis nilai jarak jauh.pm.moduleVariables#
pm.moduleVariables: ObjectDigunakan untuk mengelola Current Value dari variabel tingkat modul.pm.moduleVariables.has(variableName: String): function → Boolean
Memeriksa apakah variabel modul tertentu ada.
pm.moduleVariables.get(variableName: String): function → *
Mengambil nilai variabel modul tertentu.
pm.moduleVariables.set(variableName: String, variableValue: String): function
Mengatur nilai variabel modul tertentu.
pm.moduleVariables.replaceIn(variableName: String): function
Mengganti placeholder {{variable}} dalam string dengan nilai aktualnya.
pm.moduleVariables.toObject(): function → Object
Mengembalikan semua variabel modul sebagai objek pasangan kunci-nilai.
pm.moduleVariables.unset(variableName: String): function
Menghapus variabel modul tertentu.
pm.moduleVariables.clear(): function
Menghapus semua variabel modul dalam modul saat ini.
Catatan Kompatibilitas:
pm.collectionVariables bekerja dengan cara yang sama seperti pm.moduleVariables dan dapat digunakan secara bergantian.
pm.globals#
pm.globals.has(variableName:String):function → Boolean: Periksa apakah variabel global ada.
pm.globals.get(variableName:String,variableScope:String):function → *: mendapatkan variabel global. Gunakan 'PROJECT' (default) atau 'TEAM' untuk menentukan cakupan variabel.
pm.globals.set(variableName:String,variableValue:String, variableScope:String):function: mengatur variabel global. Gunakan 'PROJECT' (default) atau 'TEAM' untuk menentukan cakupan variabel.
pm.globals.replaceIn(variableName:String):function: mengganti variabel dinamis dalam string dengan nilai aktualnya, misalnya, {{variable_name}}.Untuk mendapatkan nilai parameter permintaan yang berisi variabel dalam skrip praprosesor, gunakan pm.globals.replaceIn untuk mengganti variabel dengan nilai sebenarnya.
pm.globals.toObject():function → Object: mendapatkan semua variabel global sebagai objek.
pm.globals.unset(variableName:String,variableScope:String):function: membatalkan pengaturan variabel global. Gunakan 'PROJECT' (default) atau 'TEAM' untuk menentukan cakupan variabel.
pm.globals.clear():function: menghapus semua variabel global di bawah lingkungan saat ini.
1.
Semua operasi di atas hanya memengaruhi current values, bukan initial values.
2.
Saat menggunakan set dengan cakupan 'TEAM', ini hanya akan memperbarui nilai saat ini dari variabel tim yang sudah ada. Jika variabel tim tidak ada, variabel tersebut tidak akan dibuat. Sebaliknya, variabel tersebut akan diperlakukan sebagai variabel lokal.
pm.request#
request adalah objek permintaan API. Dalam skrip praprosesor, ini adalah permintaan yang akan dikirim. Dalam skrip pascaprosesor, ini adalah permintaan yang telah dikirim.request mencakup informasi berikut:pm.request.url:Url: URL dari permintaan saat ini.pm.request.getBaseUrl(): Mengambil BASE URL yang dipilih oleh lingkungan runtime saat ini. Fitur ini didukung setelah versi 2.1.39.
pm.request.headers:HeaderList: daftar header dari permintaan saat ini.pm.request.method:String: metode permintaan saat ini, seperti GET, POST, dll.
pm.request.body: RequestBody: body dari permintaan saat ini.pm.request.headers.add({ key: headerName:String, value: headerValue:String}):function: Menambahkan header dengan kunci, headerName, dalam permintaan saat ini.
pm.request.headers.remove(headerName:String):function: Menghapus header dengan kunci, headerName, dalam permintaan saat ini.
pm.request.headers.upsert({ key: headerName:String, value: headerValue:String}):function: Melakukan upsert header dengan kunci, headerName, dalam permintaan saat ini. Jika kunci sudah ada, kunci tersebut akan dimodifikasi.
API berikut hanya dapat digunakan dalam postprocessor scripts.
pm.response#
Gunakan pm.response untuk mengakses informasi respons yang dikembalikan dalam skrip pascaprosesor.pm.response mencakup informasi berikut: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 adalah daftar cookie di bawah nama domain permintaan saat ini.pm.cookies.has(cookieName:String):Function → Boolean
Periksa apakah nilai cookie dari cookieName ada.
pm.cookies.get(cookieName:String):Function → String
Mendapatkan nilai cookie dari cookieName.
pm.cookies.toObject:Function → Object
Mendapatkan semua cookie di bawah domain saat ini sebagai objek.
pm.cookies.jar().clear(pm.request.url)
Menghapus semua cookie.
pm.cookies adalah cookie yang dikembalikan setelah permintaan API, bukan cookie yang dikirim oleh permintaan API.
pm.test#
Fungsi ini digunakan untuk mengasersi apakah suatu hasil memenuhi ekspektasi.Contoh di bawah ini dapat digunakan untuk menentukan apakah respons sudah benar.Anda dapat menjalankan pengujian asinkron menggunakan done (parameter opsional) dalam fungsi callback.pm.test.index():Function → Number
Mendapatkan jumlah total pengujian dari lokasi tertentu.
pm.expect#
pm.expect adalah metode aservi. Lihat dokumentasi pustaka ChaiJS expects BDD di sini.Metode ini dirancang untuk mengasersi data dalam respons atau variabel. Untuk contoh pm.expect lainnya, silakan kunjungi contoh pustaka Aservi.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.*#
Anda dapat menggunakan pm.response.to.be bawaan untuk aservi cepat.pm.response.to.be.info
Periksa apakah kode status adalah 1XX.
pm.response.to.be.success
Periksa apakah kode status adalah 2XX.
pm.response.to.be.redirection
Periksa apakah kode status adalah 3XX.
pm.response.to.be.clientError
Periksa apakah kode status adalah 4XX.
pm.response.to.be.serverError
Periksa apakah kode status adalah 5XX.
pm.response.to.be.error
Periksa apakah kode status adalah 4XX atau 5XX.
pm.response.to.be.ok
Periksa apakah kode status adalah 200.
pm.response.to.be.accepted
Periksa apakah kode status adalah 202.
pm.response.to.be.badRequest
Periksa apakah kode status adalah 400.
pm.response.to.be.unauthorized
Periksa apakah kode status adalah 401.
pm.response.to.be.forbidden
Periksa apakah kode status adalah 403.
pm.response.to.be.notFound
Periksa apakah kode status adalah 404.
pm.response.to.be.rateLimited
Periksa apakah kode status adalah 429.