Module 4: API-testen met Katalon en Salesforce

API-testen met Katalon en Salesforce

Interactie met de Salesforce API en uitvoering van SOQL queries

Om interactie te hebben met de Salesforce API en SOQL queries uit te voeren via een REST-eindpunt, kunt u het gegeven voorbeeld gebruiken maar aangepast voor gebruik in Katalon Studio. De aanpak omvat het construeren van een REST API-verzoek dat de SOQL-query als URL-parameter bevat, waarbij ervoor wordt gezorgd dat de query correct is gecodeerd voor de URL. Hier is hoe u dit kunt bereiken in Katalon Studio:

Stap 1: Construeer de SOQL Query

Eerst moet u uw SOQL-query klaar hebben. Bijvoorbeeld:


SELECT name FROM Account WHERE name = 'sree'

Stap 2: URL Encode de SOQL Query

Voordat de SOQL-query aan de URL wordt toegevoegd, moet deze worden gecodeerd voor de URL om te zorgen dat deze correct is.




SELECT name FROM Account WHERE name = 'sree'


SELECT+name+FROM+Account+WHERE+name+%3D+%27sree%27

Stap 3: Construeer het API-verzoek in Katalon Studio

  1. Maak een nieuwe test case: Begin in Katalon Studio met het maken van een nieuwe test case voor uw project.
  2. Voeg een Request Object toe: Navigeer naar de Object Repository, klik met de rechtermuisknop en selecteer Nieuw > REST Request. Geef het een naam, bijvoorbeeld QueryAccountByName.
  3. Configureer het verzoek:
  • Methode: GET
  • URL: Construeer de URL met behulp van uw Salesforce instantie URL, het REST API-eindpunt voor het opvragen, en de gecodeerde SOQL-query. Het zou er ongeveer zo uit moeten zien:

https://yourInstance.salesforce.com/services/data/v20.0/query/?q=SELECT+name+FROM+Account+WHERE+name+%3D+%27sree%27

Vervang yourInstance.salesforce.com door uw daadwerkelijke Salesforce instantie URL.

Autorisatie: Zorg ervoor dat u autorisatie toevoegt aan uw verzoek. Salesforce vereist een OAuth 2.0 toegangstoken voor authenticatie. In het tabblad Autorisatie van het verzoekobject, selecteer Bearer Token en geef het toegangstoken op dat u heeft verkregen via uw voorkeursauthenticatiemethode.

Stuur het verzoek en verwerk het antwoord:

Terug in uw test case, gebruik de sendRequest methode om de API-oproep uit te voeren en sla het antwoord op.


import com.kms.katalon.core.testobject.RequestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS

RequestObject request = findTestObject('Object Repository/QueryAccountByName')
def response = WS.sendRequest(request)

// Optioneel, verwerk het antwoord, bijvoorbeeld, verifieer statuscode, extraheer gegevens
WS.verifyResponseStatusCode(response, 200)
println('Antwoord: ' + response.getResponseText())

Aanvullende opmerkingen

  • Vergeet niet om uw toegangstoken te verkrijgen en te vernieuwen indien nodig.
  • Codeer altijd queryparameters voor de URL om fouten te voorkomen.
  • De REST API-versie van Salesforce kan worden bijgewerkt; gebruik de nieuwste versie voor optimale functies en compatibiliteit.
  • Overweeg het gebruik van Katalon’s ingebouwde variabelen en profielen om gevoelige gegevens zoals toegangstokens en instantie-URL’s veilig te beheren. Deze aanpak stelt u in staat om Salesforce API-oproepen naadloos te integreren in uw Katalon Studio testcases, waardoor geautomatiseerd testen van Salesforce-toepassingen mogelijk wordt door gebruik te maken van SOQL-queries.

Stap 1: Identificeer het te verwijderen record

Zorg ervoor dat u de Salesforce Object ID van het record dat u wilt verwijderen heeft. Bijvoorbeeld, als u een Account-record wilt verwijderen, heeft u de Account ID nodig, die meestal een tekenreeks van 15 of 18 tekens is.

Stap 2: Maak een nieuwe test case en Request Object in Katalon

  1. Maak een nieuwe test case: Maak in uw Katalon Studio-project een nieuwe test case voor de verwijderingsoperatie.
  2. Voeg een nieuw REST Request Object toe: Ga naar de Object Repository, klik met de rechtermuisknop en selecteer Nieuw > REST Request. Geef het een passende naam, bijvoorbeeld DeleteAccountRecord.
  3. Configureer het REST Request Object:
  • Methode: DELETE

  • URL: Construeer de URL met behulp van uw Salesforce instantie URL gevolgd door het specifieke eindpunt voor het record dat u wilt verwijderen. Voor een Account-record zal het URL-formaat zijn:

  • bash

  • Kopieer code https://yourInstance.salesforce.com/services/data/v20.0/sobjects/Account/{AccountId}

  • Vervang yourInstance.salesforce.com door uw Salesforce instantie URL en {AccountId} door de daadwerkelijke ID van het account dat u wilt verwijderen.

  1. Stel Autorisatie in: Ga in het verzoekobject naar het tabblad Autorisatie, selecteer Bearer Token en voer uw toegangstoken in.

Stap 3: Implementeer de verwijderingsoperatie in uw test case

Voeg het volgende script toe aan uw test case, waarbij u het pad van het verzoekobject en de specifieke ID van het te verwijderen record aanpast:

import com.kms.katalon.core.testobject.RequestObject

import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS

// Vervang ‘Object Repository/DeleteAccountRecord’ door het juiste pad naar uw verzoekobject

RequestObject deleteRequest = findTestObject(‘Object Repository/DeleteAccountRecord’, [(‘AccountId’) : ‘yourAccountIdHere’])

// Het verzenden van het DELETE-verzoek

def response = WS.sendRequest(deleteRequest)

// Optioneel: Verifieer de responsstatuscode om te zorgen voor succesvolle verwijdering

WS.verifyResponseStatusCode(response, 204) // HTTP Status Code 204 betekent “Geen inhoud” wat duidt op succesvolle verwijdering

println(‘Verwijdering succesvol voor record ID: yourAccountIdHere’)

We zullen bespreken hoe een echte testcase uit te voeren in de volgende les.