Tarayıcı komut dosyalarının kullanılması (Beta)
Tarayıcı testi, kullanıcıların web sitelerinin performansını izlemek ve ölçmek için tarayıcılar aracılığıyla Node.js tabanlı test komut dosyalarını kayıttan yürüterek kullanıcıların web uygulamaları aracılığıyla alabileceği yolların benzetimini yapar.
Instana Sentetik tarayıcı testi, Seleniumtabanlı API ' leri destekler ve 30 'dan fazla tarayıcı testi API 'siile tarayıcı test işlevlerini genişletir.
Buna ek olarak, Instana Synthetic, tarayıcı testini daha kolay, bakım yapılabilir ve güvenli hale getirmek için bir dizi genel değişken ve API sunar.
Bu özelliği kullanarak, komut dosyası geliştiricileri, tarayıcıları ve sürücüleri kurmak, tarayıcıları açmak ve kapatmak ve kaynakları serbest bırakmak yerine ağırlıklı olarak test mantığına odaklanabilirler.
- Önkoşullar
- Desteklenen çalıştırma zamanları ve yetenekler
- Tarayıcı komut dosyası test tipleri
- Tarayıcı komut dosyası örnekleri
- Tarayıcı komut dosyası testi ve hata ayıklama
Önkoşullar
Instana tarayıcı testi (Beta), Sentetik PoP Helm grafiği 1.0.15 ya da üstü için desteklenir.
Bu testleri çalıştırmak için yeni bir kayıttan yürütme motoru kullanılır. Tarayıcı kayıttan yürütme motorunu etkinleştirmek için Sentetik PoP sürümünüzü 1.0.15 ya da sonraki bir sürüme yükseltmeniz gerekir.
Sentetik PoP Helm grafiğinin sürümünü denetlemek için aşağıdaki komutu çalıştırın:
helm list -n <namespace>
Tarayıcı testi için yeni kayıttan yürütme motorunun etkinleştirilip etkinleştirilmediğini denetlemek için aşağıdaki komutu çalıştırın:
kubectl get pod -n <namespace> | grep browserscript
synthetic-pop-browserscript-playback-engine-8589bb6cbf-dh7sb 1/1 Running 0 13m
Desteklenen çalıştırma zamanları ve yetenekler
Instana Sentetik tarayıcı testi, Chromium, Mozilla Firefoxve Node.js yürütme ortamını destekler.
- Mozilla Firefox 115.4.0esr
- Chromium 118.0.5993.0
- Node.js v16.20.2
- selenium-webdriver 4.1.2
Instana Sentetik tarayıcı testi, Seleniumtabanlı API 'leri ve 30 'dan fazla tarayıcı testi API' lerini destekler.
Instana Sentetik tarayıcı testi, yanıt süresi ve yanıt boyutu gibi metriklerin analiz edilmesini ve toplanmasını destekler.
Instana Sentetik tarayıcı testi, test sonucunda kayıtları, ekran görüntülerini, tarayıcı günlüklerini, konsol günlüklerini ve HTTP Arşiv biçimini (HAR) destekler.
Tarayıcı komut dosyası test tipleri
Instana Synthetic ile aşağıdaki tarayıcı komut dosyası testlerini yaratabilirsiniz:
Tarayıcı komut dosyaları
Tarayıcı komut dosyaları Node.js tabanlıdır ve hem tek hem de paketlenmiş komut dosyalarını içerir.
Tarayıcı komut dosyaları: Tek tarayıcı test komut dosyası
Her şeyi tek bir senaryoda yazabilirsin. Genellikle bu şekilde çoğu kullanıcının ihtiyaçlarını karşılayabilir. Aşağıdaki örneğe bakın:
(async function () {
console.log("Access IBM website");
await $browser.get("https://www.ibm.com/us-en");
console.log("Accept all cookies");
const cookies = await $browser.waitForAndFindElement(
$driver.By.id(`truste-consent-button`),
30000
);
await cookies.click();
})();
Tarayıcı komut dosyaları: Paketlenmiş tarayıcı testi komut dosyaları
İş mantığı karmaşıksa, her şeyi tek bir komut dosyasında içermeyin. GitHub' da daha iyi bakım, kod yeniden kullanımı ve sürüm denetimi için birden çok komut dosyası kullanın.
Sıkıştırılmış bir dosyada paket komut dosyalarını kullanabilirsiniz.
Paylaşılan kitaplıklarla birden çok komut dosyası yazın. Aşağıdaki örneğe bakın:
// bundled/mytest.js const assert = require("assert").strict; let { testIBM } = require("./lib/myscript.js"); console.log("Start to test"); testIBM();// bundled/lib/myscript.js async function testIBM() { console.log("Access IBM website"); await $browser.get("https://www.ibm.com/us-en"); console.log("Accept all cookies"); const cookies = await $browser.waitForAndFindElement($driver.By.id(`truste-consent-button`), 30000); await cookies.click(); }; module.exports = { testIBM };Birden çok komut dosyasını bir
.zipdosyasına paketleyin. Aşağıdaki örneğe bakın:Komut dosyalarını üst klasör
bundledve ana dosyabundled/mytest.jsile.zipdosyasına sıkıştırın.zip -r bundledtest.zip bundledYa da tüm komut dosyalarını
mytest.jsana dosyasıyla.zipdosyasına paketleyin.zip -r bundledtest.zip *
Selenium IDE Komut Dosyaları
Selenium IDE komut dosyaları , Selenium IDE kayıtlı komut dosyalardır.
Tarayıcı komut dosyası örnekleri
Instana Synthetic, hızlı bir şekilde başlamanıza ya da kendi tarayıcı testlerinizi hızlı bir şekilde yazmanıza yardımcı olacak birçok örneksağlar.
Başlamak için aşağıdaki örneklere bakın:
Tarayıcı komut dosyası testi ve hata ayıklama
Instana Synthetic, kullanıcıların tarayıcı test komut dosyalarınızı yerel olarak geliştirmelerine, test etmelerine ya da hata ayıklamalarına yardımcı olmak için bir Node.js komut satırı uygulaması ( synthetic-browser-script) sağlar.
sentetik-tarayıcı-komut dosyası uygulaması artık GitHub ve npmjs sitesi' nde bulunmaktadır.
Sentetik tarayıcı testinizde size yardımcı olması için, İçgüdü Sentetik için yerel bir koşucu.
Kendi tarayıcı testlerinizi hızlı bir şekilde yazmanıza yardımcı olan birçok örneklebirlikte gönderilir. Daha fazla örnek eklenecek.
Aşağıdaki durumlarda synthetic-browser-script yerel çalıştırıcıyı kullanabilirsiniz:
Tarayıcı komut dosyalarınızı CLI ile test etmek ve hata ayıklamak için yerel bir çalıştırıcıya ihtiyacınız vardır.
Tüm Instana Sentetik tarayıcı testi API ' larını sağlayan bir npm paketi gerekir.
Tüm tarayıcı testi API ' leri için VS Kodunda "kod tamamlama" ya da "kod ima" gerekir.
Test işlemlerinizi tamamlamak ve komut dosyalarınızın kalitesini kanıtlamak için açık bir tam tarayıcı gerekir.
Kök nedende hata ayıklamaya yardımcı olmak için test hatalarınızı yerel olarak yeniden üretmeniz gerekir.
Tarayıcı testi API ' leri örneklerinden ders almanız ve bu örneklere dayalı olarak kendi tarayıcı testlerinizi yazmanız gerekir.