Heim > Web-Frontend > js-Tutorial > Hauptteil

Automatisiertes Testen mit PostMan

不言
Freigeben: 2018-04-03 09:14:53
Original
5733 Leute haben es durchsucht
Ich aktualisiere kürzlich ein altes Projekt. Der erste Schritt besteht darin, die Knotenversion von 4.x auf 8.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 das PostMan, 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. HeaderBodyInstallation von PostManPostMan
Es scheint, dass das Herunterladen und Verwenden von

das Umgehen der Firewall erfordert.-

Denn es gibt jetzt zwei Formen von Apps:

PostMan

    Plug-in
  1. (bereits fast aufgegeben, es wird empfohlen, eine unabhängige App zu verwenden)

    chrome

    Unabhängige App
  2. Und Sie müssen sich bei der Verwendung in Ihrem Konto anmelden. Ich habe mich direkt angemeldet
  3. Konto -. -Es scheint andere Möglichkeiten zu geben, aber ich habe sie nicht ausprobiert.

Cloud-Disk-Adresse der unabhängigen App-Version (GoogleVersion, 6.0.10, gerade heute heruntergeladen, bitte holen Sie sie sich selbst, wenn Sie sie benötigen):

Link: https://pan.baidu.com/ s/ 18CDp... Passwort:

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

Anfrage senden

Dies ist die grundlegendste Verwendung von

, die zum Senden einer Anfrage verwendet wird.

kann

, PostMan und andere Informationen festlegen.
HeaderBody
Automatisiertes Testen mit PostManSammlungen

Wir können jede gesendete Anfrage speichern, sodass wir sie bei der nächsten Anforderung der Schnittstelle direkt aufrufen können,

Wenn Sie die Anfrage speichern, wird sie in einem

gespeichert, ähnlich einer Sammlung.


bietet eine Methode, um alle Anfragen im gesamten Collections mit einem Klick auszuführen.
PostManCollections
Automatisiertes Testen mit PostMan
Automatisiertes Testen mit PostMan Dann können wir bei Bedarf alle Anfragen in der Sammlung direkt ausführen.


Automatisiertes Testen mit PostManWählen Sie beim Speichern des Anforderungsdatensatzes das entsprechende unten

Collection
Automatisiertes Testen mit PostManStart aus API-Tests

Speicherort des Testskripts

Automatisiertes Testen mit PostManDas 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

bietet auch eine Behauptung, die bei der Überprüfung hilft.

PostMan wird der Wert

zugewiesen, um „bestanden“ anzuzeigen, und
tests['Status code is 200'] = responseCode.code === 200

tests['Data length >= 10'] = JSON.parse(responseBody).data.length >= 10
Nach dem Login kopieren
, um einen Fehler anzuzeigen. Die direkte Zuweisung von

true ist relativ begrenzt. Wenn Sie andere asynchrone Vorgänge im Skript ausführen, müssen Sie false verwenden.
testspm.testNur ​​die obige

Aufgabe +
setTimeout(() => {
  pm.test("test check", function () {
    pm.expect(false).to.be.true
  })
})
Nach dem Login kopieren
kann unsere Bedürfnisse erfüllen, und der Rest ist darüber hinaus nur syntaktischer Zucker.

Verschiedene Syntaxbeispieletestspm.test/pm.expectAnfragen in Testskripten senden

Nachdem wir ein

Rückgabeergebnis erhalten haben, können wir basierend auf dem Ergebnis einige neue Anfragen senden und dann Behauptungen hinzufügen.

APIWenn wir einige dynamische Schnittstellen testen müssen, können wir diese Schreibmethode ausprobieren.

Die Schnittstelle der ersten Ebene gibt
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不存在,断言则会失败
  })
});
Nach dem Login kopieren

Die Schnittstelle der zweiten Ebene erhält die entsprechenden Informationen gemäß
von List.

如何处理大量重复的断言逻辑

针对单个API,去编写对应的断言脚本,这个是没有什么问题的。
但是如果是针对一个项目的所有API去编写,类似于判断statusCode这样的断言就会显得很溶于,所以PostMan也考虑到了这点。
在我们创建的Collection以及下层的文件夹中,我们可以直接编写针对这个目录下的所有请求的断言脚本。
Automatisiertes Testen mit PostMan
Automatisiertes Testen mit PostMan
这里的脚本会作用于目录下所有的请求。
这样我们就可以将一些通用性的断言挪到这里了,在每个请求的Tests下编写针对性的断言脚本。

变量的使用

PostMan提供了两种变量使用,一个是global,一个是environment

global

代码操作的方式:

pm.globals.set("variable_key", "variable_value") // set variable
pm.globals.get("variable_key") // get variable
pm.globals.unset("variable_key") // remove variable
Nach dem Login kopieren

通过GUI设置:
Automatisiertes Testen mit PostMan
Automatisiertes Testen mit PostMan

设置完后我们就可以这样使用了:
Automatisiertes Testen mit PostMan

基本上在所有的可输入的地方,我们都能够使用这些变量。

environment

环境变量,这个是权重比global要高一些的变量,是针对某些环境来进行设置的值。
操作方式类似。

在使用代码操作的方式时,只需将globals替换为environment即可。
在发起一个请求,或者一键发送所有请求时,我们可以勾选对应的环境,来使用不同的变量。
Automatisiertes Testen mit PostMan

在针对大量API测试时,拿environment来设置一个domain将是一个不错的选择。
这样在请求中我们只需这样写即可:

{{domain}}/res1
{{domain}}/res2

domain: https://api.github.com
Nach dem Login kopieren

一个简单的示例:

通过直接运行一个Collection,我们可以很直观的看到所有的接口验证情况。
Automatisiertes Testen mit PostMan
Automatisiertes Testen mit PostMan

参考资料

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!