Ich aktualisiere kürzlich ein altes Projekt. Der erste Schritt besteht darin, die Knotenversion vonEs scheint, dass das Herunterladen und Verwenden von4.x
auf8.x
zu aktualisieren. Ich befürchte, dass es beim Upgrade Probleme geben wird, daher muss ich die Serviceschnittstelle überprüfen.
Wenn Sie verschiedene URLs manuell eingeben, prüfen Sie, ob eine oder zwei in Ordnung sind, der gesamte Dienst ist in Ordnung. . Dutzende Schnittstellen zu haben ist Zeitverschwendung -.-;
Da es sich um ein reines Schnittstellendienstprojekt handelt, planen wir, eine Welle automatisierter Tests für die entsprechende API durchzuführen;
Also machten wir uns auf die Suche nach den entsprechenden Tools Plötzlich entdeckte ich, dass dasPostMan
, das ich normalerweise verwende, das Schreiben von Testfällen zu unterstützen scheint, also habe ich den ganzen Nachmittag lang die Dokumentation und die vorherige Verwendung von war auf Änderungen beschränkt.
, um eine Anfrage zu senden. Ich habe nie darüber nachgedacht,PostMan
zum Testen zu verwenden. Ich habe das Gefühl, eine neue Welt entdeckt zu haben.Header
Body
Installation von PostManPostMan
PostMan
chrome
Und Sie müssen sich bei der Verwendung in Ihrem Konto anmelden. Ich habe mich direkt angemeldet
Cloud-Disk-Adresse der unabhängigen App-Version (Google
Version, 6.0.10, gerade heute heruntergeladen, bitte holen Sie sie sich selbst, wenn Sie sie benötigen):
Mac
Führen Sie es einfach direkt nach dem Herunterladen und Dekomprimieren aus und registrieren Sie dann ein Konto. Das visuelle Konto wird hauptsächlich für spätere Gruppenfreigabeanforderungen verwendet (Sie können Ihre Freigabe direkt hinzufügen die Anrufaufzeichnungen mit anderen). mrpf
, PostMan
und andere Informationen festlegen. Header
Body
Sammlungen
bietet eine Methode, um alle Anfragen im gesamten Collections
mit einem Klick auszuführen. PostMan
Collections
Dann können wir bei Bedarf alle Anfragen in der Sammlung direkt ausführen.
Wählen Sie beim Speichern des Anforderungsdatensatzes das entsprechende unten
Collection
Start aus API-Tests
Das für die Anforderung an diesem Speicherort geschriebene Testskript wird verwendetSyntax , rechts sind einige vorkonfigurierte Codeausschnitte.
und wir können in PostMan
Skripte schreiben, die vor dem Senden der Anfrage ausgeführt werden. JavaScript
Einige einfache SyntaxPre-request Script
PostMan
wird der Wert
tests['Status code is 200'] = responseCode.code === 200 tests['Data length >= 10'] = JSON.parse(responseBody).data.length >= 10
true
ist relativ begrenzt. Wenn Sie andere asynchrone Vorgänge im Skript ausführen, müssen Sie false
verwenden. tests
pm.test
Nur die obige
setTimeout(() => { pm.test("test check", function () { pm.expect(false).to.be.true }) })
Verschiedene Syntaxbeispieletests
pm.test/pm.expect
Anfragen in Testskripten senden
API
Wenn wir einige dynamische Schnittstellen testen müssen, können wir diese Schreibmethode ausprobieren.
let responseJSON = JSON.parse(responseBody) // 获取关注的第一个用户,并请求他的用户信息 pm.sendRequest(responseJSON[0].url, function (err, response) { let responseJSON = response.json() pm.test('has email', function () { pm.expect(responseJSON.email).is.be.true // 如果用户email不存在,断言则会失败 }) });
Die Schnittstelle der zweiten Ebene erhält die entsprechenden Informationen gemäß
von List
.
针对单个API,去编写对应的断言脚本,这个是没有什么问题的。
但是如果是针对一个项目的所有API
去编写,类似于判断statusCode
这样的断言就会显得很溶于,所以PostMan
也考虑到了这点。
在我们创建的Collection
以及下层的文件夹中,我们可以直接编写针对这个目录下的所有请求的断言脚本。
这里的脚本会作用于目录下所有的请求。
这样我们就可以将一些通用性的断言挪到这里了,在每个请求的Tests
下编写针对性的断言脚本。
PostMan
提供了两种变量使用,一个是global
,一个是environment
。
代码操作的方式:
pm.globals.set("variable_key", "variable_value") // set variable pm.globals.get("variable_key") // get variable pm.globals.unset("variable_key") // remove variable
通过GUI设置:
设置完后我们就可以这样使用了:
基本上在所有的可输入的地方,我们都能够使用这些变量。
环境变量,这个是权重比global
要高一些的变量,是针对某些环境来进行设置的值。
操作方式类似。
在使用代码操作的方式时,只需将globals
替换为environment
即可。
在发起一个请求,或者一键发送所有请求时,我们可以勾选对应的环境,来使用不同的变量。
在针对大量API测试时,拿environment
来设置一个domain
将是一个不错的选择。
这样在请求中我们只需这样写即可:
{{domain}}/res1 {{domain}}/res2 domain: https://api.github.com
通过直接运行一个Collection
,我们可以很直观的看到所有的接口验证情况。
https://www.getpostman.com/do...
之前使用PostMan
,最多就是模拟一下POST
请求,最近刚好碰到类似的需求,发现原来PostMan
还可以做的更多。
这篇只是使用PostMan
进行API测试的最基础操作,还有一些功能目前我并没有用到,例如集成测试、生成API
文档之类的。
接口相当于是获取和操作服务资源的方式,肯定属于产品的核心。
所以测试是必须的,在交付QA同学之前,自己进行一遍测试,想必一定能节省一部分的时间。
相关推荐:
chrome插件postman安装问题_html/css_WEB-ITnose
Das obige ist der detaillierte Inhalt vonAutomatisiertes Testen mit PostMan. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!