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
- Maak een nieuwe test case: Begin in Katalon Studio met het maken van een nieuwe test case voor uw project.
- 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.
- 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
- Maak een nieuwe test case: Maak in uw Katalon Studio-project een nieuwe test case voor de verwijderingsoperatie.
- 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.
- 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.
- 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.