Testlerimizde büyük sorunlardan biri datayı yönetmektir. Table Driven bu konuda bize tablo kullanarak, parametrik olarak verileri yönetmemize yardımcı olur. Gauge, tablo üzerinde yinelenecek ve bu belirli senaryoyu her satıra karşı çalıştıracaktır.
Bir senaryo tasarlayalım ve farklı veriler için sürekli çalışmalı. Bu yapıyı uygulamamız için gereken Gauge Table Driven dir. Örnek üzerinden anlatmak gerekirse bir siteye birden fazla farklı kullanacı ile giriş yapmak için kullanılabilir. Böylece her kullanıcı için senaryo oluşturmamış oluruz.
Aşağıdaki örnekte, <username> dinamik bir parametredir. <username> tablonun “username” sütununda belirtilen değerleri alabilir. Bu durumda değerler “test1”, “test2” veya “test3”dir.
Senaryo:
- Adım: HepsiBurada login sayfasına git.
- Kullanıcı adı yaz.
- Giriş Yap butonuna bas.
- Şifre yaz.
- Giriş Yap butonuna bas.
HepsiBurada Login
======================
|username |password |
|-- |----------|
|test1@gmail.com|test1234|
|test2@gmail.com|test1234|
|test3@gmail.com|test1234|
Login
--------
* HepsiBurada sayfasına git
* Kullanıcı adını <username> yaz
* Giriş yap butonuna bas
* Şifreyi <password> yaz
* Giriş yap butonuna bas
Tablomu, kullanmak istediğim spec dosyama ekliyorum. Bu adımda dikkat etmeniz gereken, senaryoda kullanacağınız parametrik değerleri “<>” işaretleri arasında kullanmalısınız.
Testin sonucunda tabloda oluşturduğum her satır için senaryomun çalıştığını görebilirsiniz. Her satır için ”_index “ seklinde çıktı verir.
Veri tablosu için harici CSV dosyası kullanımı
Bir spesifikasyon için Veri Tabloları, harici bir CSV dosyasından da iletilebilir. Parametre, bir önek tablosu ve csv dosyasının yolunu içerir.
Value: Değer, csv dosyasının yoludur. Bu, mutlak dosya yolu veya projeye göre olabilir.
Prefix : Ön ek tablodur.
HepsiBurada Login
======================
table: /system/users.csv
Login
--------
* HepsiBurada sayfasına git
* Kullanıcı adını <username> yaz
* Giriş yap butonuna bas
* Şifreyi <password> yaz
* Giriş yap butonuna bas
Daha fazla bu bilgi için Gauge dökümanına gidebilirsiniz.