Benutzerdefinierte APIs testen

In Oracle Mobile Hub können Sie Ihre benutzerdefinierten APIs vor der Bereitstellung mit Mock-Daten testen. Sie können Ihre REST-Connectors auch auf der Testseite testen, die zwei Modi unterstützt: Standardtests und erweiterte Tests.

Benutzerdefinierte Oracle Mobile Hub-API testen

So testen Sie Ihre benutzerdefinierte API direkt in Oracle Mobile Hub:

  1. Melden Sie sich bei Oracle Mobile Hub an.
  2. Klicken Sie auf das Menüsymbol, blenden Sie Entwicklung ein, und klicken Sie auf Backends.
  3. Wählen Sie Ihr mobiles Backend aus, und klicken Sie auf Öffnen.
  4. Klicken Sie in der linken Navigationsleiste auf Einstellungen.
  5. Kopieren Sie die URL aus dem SSO-Tokenendpunkt unter Umgebungs-URLs.
  6. Fügen Sie die kopierte URL in ein Webbrowserfenster ein, drücken Sie jedoch nicht die Eingabetaste.
  7. Kopieren Sie Ihre Client-ID im Abschnitt OAuth Consumer.
  8. Fügen Sie der SSO-Tokenendpunkt-URL, die Sie in Ihrem Webbrowser im Format ?clientID=[YourClientID] eingefügt haben, einen Abfragezeichenfolgenparameter hinzu, und drücken Sie die Eingabetaste. Ein Beispiel für die URL sieht wie folgt aus:
    https://<YourSSOTokenEndpointURL>?clientID=<yourClientID>
    Im Browser wird ein Single Sign-On OAuth-Token angezeigt.
  9. Klicken Sie in Ihrem mobilen Backend-Fenster auf die Seite "APIs" in der linken Navigation. Der Browser wechselt von der Seite Einstellungen zur Seite APIs.
  10. Klicken Sie auf APIs auswählen.
  11. Klicken Sie auf den API-Namen, den Sie testen möchten. Es wird eine neue Seite geöffnet, auf der die API-Endpunkte in der linken Navigation sowie die Registerkarten Anforderung und Antwort angezeigt werden.
  12. Klicken Sie auf den Endpunkt, den Sie testen möchten.
  13. Wählen Sie im Abschnitt Authentifizierung in der Authentifizierungsmethode die Option Single Sign-On-Token aus.
  14. Kopieren Sie Ihr SSO-OAuth-Token, und fügen Sie es in das Feld Single Sign-On-Token ein.
  15. Klicken Sie auf Endpunkt testen. Wenn alles korrekt ist, antwortet der Server mit dem Status 200. Die JSON-Daten sollten in der Antwort angezeigt werden.

API-Endpunkte mit Mock-Daten testen

Sie können Mock-Daten in Ihren Anforderungs- und Antwortnachrichtentexten während der Entwurfsphase Ihrer API-Konfiguration angeben. Auf diese Weise können Sie den Kontext jedes Anrufs untersuchen, ohne Echtzeitdaten verwenden oder mit einem Echtzeitdienst interagieren zu müssen. Beispiel: Um zu testen, ob Ihr Code eine ungültige ID richtig verarbeitet, können Sie ein Beispiel mit Modelldaten hinzufügen, die eine ungültige ID enthalten. Wenn Sie den Test abgeschlossen haben, können Sie das Beispiel durch anderen Code ersetzen, um einen anderen Aspekt der Methode zu testen.

Im Beispiel FixItFast können Sie mit den Mock-Daten im Antwortbody prüfen, ob die korrekten Kundeninformationen zurückgegeben werden. Im Folgenden finden Sie ein Beispiel für Mock-Daten, die der Serviceentwickler für den Antwortbody des POST-Vorgangs der Ressource contact im Beispiel FixItFast erstellen könnte:
{
 "id": 20934,
 "title": "Lynn's Leaking Water Heater",
       "contact": {
       "name": "Lynn Adams",
       "street": "45 O'Connor Street",
       "city": "Ottawa",
       "postalcode": "ala1a1"
       "username":"johneta"
       }
 "status": "new",
 "driveTime": 30,
 "priority": "high",
 "createdon": "2015-04-23 18:12:03 EDT"
}

Wenn Sie eine benutzerdefinierte API erstellen, wird automatisch eine Mock-Implementierung erstellt. Mit der Mock-Implementierung können Sie die API aus Ihrer mobilen Anwendung aufrufen, bevor Sie den benutzerdefinierten Code implementieren. Auf diese Weise können Sie die mobilen Anwendungen und den benutzerdefinierten Code gleichzeitig entwickeln und testen. Wenn Sie mit der Konfiguration zufrieden sind, können Sie eine echte Implementierung hinzufügen.

Bis Sie die erste Implementierung erstellen, ist die Standardimplementierung die Mock-Implementierung. Nachdem Sie eine echte Implementierung erstellt haben, wird sie zur Standardimplementierung für die API.

Klicken Sie auf den Navigationslink Implementierungen, um eine Implementierung hochzuladen oder vorhandene Implementierungen anzuzeigen. Sie können die Standardimplementierung auf der Seite "Implementierungen" ändern. Nachdem Sie eine Implementierung hochgeladen haben, wird eine Liste der vorhandenen Implementierungen mit der Mock-Implementierung angezeigt.

REST-Connector-API testen

Nachdem Sie die REST-Connector-API definiert und die Konfiguration gespeichert haben, müssen Sie prüfen, ob Sie eine Anforderung senden und die erwarteten Ergebnisse vom Webservice erhalten können. Das Testen einer Verbindung ist ein optionaler Schritt, kann jedoch Zeit sparen, indem Sie Probleme jetzt identifizieren und beheben, bevor Sie die Connector-API abschließen. Auf der Testseite können Sie jeweils einen Endpunkt testen.

Wenn Sie einen Deskriptor angegeben haben, stehen Ihnen zwei Testmodi zur Auswahl:

  • Standardtests

    Wenn Sie Deskriptormetadaten angegeben haben, wird der Standardtestmodus angezeigt, in dem die Anforderungs- und Antwortbody aus den beschreibenden Metadaten generiert und in den Registerkarten Anforderung und Antwort angezeigt werden. Sie müssen nur die Parameter für GET-Methoden auswählen und alle HTTP-Header einschließen, mit denen Sie testen möchten.

  • Erweiterte Tests

    Sie können Ihre Tests verfeinern, indem Sie Im erweiterten Modus testen auswählen (den Testmodus, den Sie eingeben, wenn Sie eine Remote-Service-URL angegeben haben). Ohne beschreibende Metadaten wählen Sie die zu testende Methode und Ressource aus, nehmen alle HTTP-Header auf, die Sie aufnehmen möchten, und erstellen den JSON-Body manuell.

Im erweiterten Modus testen

Auf der erweiterten Testseite können Sie Pfadparameter manuell festlegen, Header sowie die Anforderungs- und Antwort-Payloads hinzufügen.

So konfigurieren Sie einen Connector-Test manuell:

  1. Klicken Sie auf den Navigationslink Testen.
  2. Wenn Sie einen Deskriptor angegeben haben, setzen Sie Im erweiterten Modus testen auf On.

    Die erweiterte Testseite wird automatisch angezeigt, wenn Sie eine Remote-Service-URL angegeben haben.

  3. Wählen Sie in der Dropdown-Liste die HTTP-Methode aus, die Sie testen möchten.
  4. Geben Sie alle Ressourcenpfadparameter im Feld "Lokale URI" an, die zu Testzwecken erforderlich sind. Beispiel:
    directions/json?origin=los+angeles&destination=seattle

    Dem Feld wird automatisch die lokale URI vorangestellt, die Sie bei der Eingabe eines API-Namens definiert haben. Nach unserem Beispiel würde der vollständige Inhalt des Feldes wie folgt aussehen:

    myMapAPI /directions/json?origin=los+angeles&destination=seattle

    Wenn Sie Regeln definiert haben, werden im Feld "Angewendete Regeln" (unter dem Feld "Text") Zahlen angezeigt, die den Regeln entsprechen, die für den ausgewählten Vorgang gelten. Im Feld "Remote-URL" wird die genaue Zeichenfolge angezeigt, die für den Test an den Service übergeben wird.

  5. Fügen Sie nach Bedarf einen oder mehrere HTTP-Header für Anforderungen oder Antworten hinzu.

    Diese Header dienen nur zu Testzwecken und werden Ihrer REST-Connector-API-Konfiguration nicht hinzugefügt.

  6. Klicken Sie in das Feld HTTP-Body, um den Nachrichtentext (die Payload) im Quelleditor zu erstellen.
    Beispiel:
    {
      "status":"ZERO_RESULTS",
      "routes":[ ]
    }

    Behalten Sie den Inhalt des Nachrichtentextes für den Zweck des Connectors bei, d.h. blenden Sie die Nachricht nicht durch Hinzufügen irrelevanter Daten. Das Einbeziehen nur relevanter Daten in den Nachrichtentext erleichtert die schnelle Übertragung der Anfrage oder Antwort.

  7. Wenn für den Service, mit dem Sie eine Verbindung herstellen möchten, eine Authentifizierung erforderlich ist, öffnen Sie den Abschnitt Authentifizierung, und geben Sie Ihre Zugangsdaten für mobile Benutzer für jede Testmethode ein. Wenn Sie Standardtestzugangsdaten verwenden, können Sie diesen Schritt überspringen.

    Bei SAML-basierten Sicherheits-Policys wird die Identität des Benutzers, der den Aufruf durchführt, an den externen Service propagiert. Bei anderen Sicherheits-Policys wie HTTP-Basisauthentifizierung und Username-Token werden die Zugangsdaten, die zur Authentifizierung beim externen Service verwendet werden, in den Policy-Overrides als CSF-Schlüssel angegeben. Je nachdem, welchen Vorgang Sie definiert haben, müssen Sie möglicherweise bestimmte Zugangsdaten für jeden Vorgang eingeben, oder Sie können ein Set von Zugangsdaten für alle Methoden verwenden, um den Connector beim Service zu authentifizieren.

  8. Klicken Sie auf Als aktuelle Standardzugangsdaten für das mobile Backend speichern, um den Benutzernamen und das Kennwort zu speichern, die Sie als Standardwert angeben.
  9. Wenn Sie sich in der Entwurfsphase des Connectors befinden und nur prüfen möchten, ob Ihre Endpunkte gültig sind, klicken Sie auf Standard-API-Designer-Testzugangsdaten, und wählen Sie ein mobiles Backend aus, bei dem Sie registriert sind, sowie dessen Versionsnummer.
    Optional können Sie Ihre Zugangsdaten für mobile Benutzer (Benutzername und Kennwort) eingeben.

    Diese Standardtestzugangsdaten sind für alle getesteten Methoden persistent. Sie bleiben während der aktuellen Mobile Hub-Session gültig.

  10. Klicken Sie auf Endpunkt testen.

    Testendpunkt wechselt zum Test abbrechen, wenn Sie darauf klicken. Wenn Sie den Test aus irgendeinem Grund stoppen möchten, klicken Sie auf Test abbrechen.

    Klicken Sie auf Zurücksetzen, um die Felder zu löschen und die Testparameter zu ändern.

  11. Klicken Sie auf Fertig, wenn Sie das Testen Ihrer Endpunkte abgeschlossen haben.