POSTMAN PRACTICE-3

Simge Ş.
Akbank Teknoloji
Published in
4 min readNov 6, 2022

Postman uygulamasında alıştırma yapmak için hazırladığım serinin bu üçüncü yazısında “Collection runner” kullanımı hakkında bilgiler vereceğim. Birlikte adımları takip ederek projemizi ilerletelim 🔜

📌 Öncelikle bu yazıda yapılan işlemleri daha rahat takip etmek amacıyla serinin ilk iki yazısını okumanız sizin için daha iyi olacaktır.

(Postman Practices-1, Postman Practices-2)

Daha önceki yazılarda neler yaptık? API istekleri ile Trello web sitesinde pano, liste ve kart oluşturduk. Bu kartın ismini değiştirerek düzenleme yaptık ve kartımızı sildik. Ardından isteklerimize temel bazı testler ekledik. Son olarak da isteklerimizden geri dönen değerlerimizin postman-environment’a atamasını yaptık ve testlerimiz içerisinde bu değerleri çekerek kontrollerini sağladık.

Bu yazıda ise “Collection runner” ile çalıştırmak amacıyla, önceki alıştırmalarımızda manuel müdahaleler gerektiren işlemlerimiz üzerinde düzenlemeler yapacağız.

Haydi başlayalım 🏃‍♀️

  1. İlk çağrımız olan “Create Board” üzerinde düzenleme yapalım. Geri dönen cevapta bulunan id bilgisini “boardId” değişkenine atayalım.
Figure 1. “boardId” değişkeni ataması
Figure 2. Cevap olarak dönen boardId ve Environment değer kıyaslaması

2. Bir sonraki isteğimizde kartı oluşturmak istediğimiz pano id’sini tanımlamak için artık değişkenimizi çekebiliriz. Süslü parantezler içerisinde değişkenimizi çağıralım. {{boardId}}

Figure 3. Board id değerinin liste oluşturmak için kullanımı

3. 🔔 Haydi bu adımda da siz bir sonraki istekte dönen liste id’sini environment’a değişken olarak atamayı deneyin. Sonuç olarak dönen listId değişkenini environment değişkenindeki değer ile aynı görmeniz gerekmektedir.( Figure 4)

let jsonData = pm.response.json()
pm.environment.set(“listId”,jsonData.id)
Figure 4. Cevap olarak dönen listId ve Environment değer kıyaslaması

4. Şimdi de bir önceki adımda yaptığımız gibi kart oluşturmak için listId değişkenini kullanalım. İsteğimizde idList’e denk gelen değere {{listId}} yazarak güncelleyelim.

Figure 5. Listede kart oluşturmak için listId çağırılması

🔔 Bu adımda dilerseniz, bir önceki yazıda öğrendiğimiz isteği göndermeden önce dinamik değer atama işlemini, kart ismini (MediumTesting) değiştirmek için kullanabilirsiniz. (Postman practice 2 , pre-request script)

5. “Create Card into List” isteğimizin test bölümünü de biraz dolduralım. Geri dönen HTTP durum kodu 200 mü, geri dönen json verisindeki name değeri “MediumTesting” mi bunları kontrol edelim.

Tahmin ettiğiniz gibi oluşturulan kartın id’sini set etmeyi de atlamayalım tabi. 😊

Figure 6. Create Card into List test sonucu

Oluşturulan kartın da environment değişkeni olarak yer aldığını göreceksiniz.

6. Change Card isteğine ilerleyelim . Kartta PUT metodu ile yapacağımız değişikler için kart id’sini kullanmamız gerekiyor bunun için path değişkeninde değerini {{cardId}} şeklinde çağıralım.

Figure 7. Put metodunda cardId düzenlemesi

7. Eveet , bu isteğimizin test bölümüne de değiştirdiğimiz ismi test etmek için aşağıdaki kodları ekleyelim ve testimizin sonucunu gözlemleyelim. 🤩

let jsonData = pm.response.json();pm.test("card name is changed as updatedTesting",function(){pm.expect(jsonData.name).is.eql("updatedTesting");})pm.test("Status code is 200", function () {pm.response.to.have.status(200);});

8. Değişikliğimizi test ettikten sonra, Delete metodumuz ile dönen kodu test edelim ki tüm istekleri koştuğumuzda silme işlemini de doğru şekilde gerçekleştirdiğimizi anlayalım.

Figure 8. Delete request test and result

9. Sonunda run collection butonuna basmaya hazırız. Hadi her bir isteğimizi koşalım. 🥳

Figure 9. Run collection

⚠️ İsteklerinizin Figure 8' deki sıra ile olması gerekiyor. Collection runner sıra ile istekleri çalıştıracağı için örneğin PUT metodundan önce DELETE metodunu çağırırsanız , hata ile karşılaşırsınız. ⚠️

10. Tüm isteklerimizi seçerek “run manually” seçeneğine tıklayıp anında koşma yapabileceğiz. Parametrelerden Iterations testleri kaç tekrar ile koşacağınızı , delay her bir istek arasında ne kadar süre olması gerektiğini belirlemek için ve data parametresi de gerekli ise veri dosyası eklemeniz için kullanılmaktadır. [Using Collection Runner]

Figure 10. Collection runner yapılandırması

11. Run Collection butonuna basalım ve sonuçları gözlemleyelim. 👀

Videoda görüldüğü gibi collection runner sonuç raporunda bazı bilgiler bulunmaktadır. Environment değerlerimizi atadığımız ve çağırdığımız alandır. Bu alanın seçimini yaparak isteklerimizi çalıştırıyoruz. Iterasyon sayısı da testlerin collection olarak kaç kere koştuğunu göstermektedir. Normalde 14 testimiz bulunurken 2 iterasyon ile testlerimizin sayısı 28 oldu.

Bu sonuçta 4 tane testimizin hata aldığını görüyoruz. Aslında her bir iterasyonda 2 tane hata alan testimiz vardı. Bunlar, hata alacağını bildiğimiz önceki pratiklerimizden kalan testlerdi ve collection olarak koştuğumuzda görmek için bilerek silmedim.

Özet olarak ;

✔ ️POST metodu ile pano, liste ve kart oluşturduk. PUT metodu ile kartın isminde değişiklik yaptık. DELETE metodu ile de kartımızı sildik.

✔ İstek öncesi göndermemiz gereken değişkenleri pre-request bölümünde dinamik hale getirdik.

✔ İstek sonrası geri dönen cevaptan alacağımız değerleri test bölümünde atamasını yaptık. Ataması y️apılan değerleri de test bölümünde doğrulamak amacı ile çağırarak kontrol ettik.

✔ Her bir istekte environment değişkenleri kullanarak istekleri collection runner’a hazır hale getirdik.

✔ S️on olarak da collection runner ile tüm isteklerimizi koştuk ve raporumuzu değerlendirdik.

Umarım bu seride sizin için verimli bilgiler paylaşabilmişimdir. İlgili yazıları profilimde inceleyebilirsiniz.

İyi günler dilerim 💫🤗

--

--

Simge Ş.
Akbank Teknoloji

Software Automation Test Engineer - ISTQB Certificated