Kuklacı Eğitimi – Kuklacı Eğitimi 1 ve 2 için Mükemmel Bir Öğrenme Rehberi

Puppeteer, node-js kitaplığı ile geliştirilmiş açık kaynaklı bir java çerçevesidir. Kuklacı, bir web kazıma aracı olarak çalışma yeteneğine sahiptir. Selenium web sürücüsü gibi web tabanlı uygulamalar için test otomasyonu olarak da kullanılabilir. Kuklacının popülaritesi test otomasyonu için hızla artıyor. Kuklacı Eğitiminde ilerlemek için ön koşullar, komut satırı, JavaScript, OOP kavramı ve HTML DOM yapısı hakkında temel bilgilerdir. tam kuklacı eğitimi aşağıdaki içerik tablosunda belirtilen konulara dağıtılır. 

Kuklacı Eğitimi

Tosca Eğitimi #1: Kuklacıya Genel Bakış

Tosca Klavuz # 2: Kuklacı Ortam Değişkenleri

Tosca Klavuz # 3: Kuklacı Web Kazıma ve Kuklacı Test Otomasyonuna Genel Bakış

Tosca Klavuz # 4: Kuklacıyı Yükle 

Bu makalede Kuklacı Eğitimi, Kuklacıya Genel Bakış ve Kuklacı Ortam Değişkenlerini anlatacağız. 

Kuklacıya Genel Bakış

Puppeteer, node-js kitaplığı ile geliştirilmiş açık kaynaklı bir java çerçevesidir. Kuklacı, üst düzey uygulama arayüzü (API) yardımıyla Chrome tarayıcısını devtool protokolü üzerinden kontrol edebilir. Kuklacı, hem başsız hem de başsız krom tarayıcıları kontrol edebilir. 

Kuklacı çerçevesi Google tarafından tanıtıldı. İşlevselliğe göre, bu yeni bir kavram değil. Ama işi kolaylaştırır. Temel olarak, sıkıştırılmış bir paket aracılığıyla faaliyetlerin bir listesini özetler.

Kuklacı Eğitimi - Kuklacı
Kuklacı Eğitimi – Kuklacı

Kuklacılar nasıl çalışır?

  • Puppeteer, Node JS kitaplığını kullanır.
  • Node JS, üst düzey API'lerin kullanılmasına izin verir.
  • API'ler, Chrome tarayıcısını devtool protokolü üzerinden kontrol etme yeteneğine sahiptir.
  • Varsayılan olarak, Puppeteer, başsız Chrome tarayıcılarla çalışır, ancak varsayılan yapılandırmayı değiştirerek, güçlü Chrome tarayıcılarıyla da etkileşime girebilir.

Chrome DevTools Protokolü:

Puppeteer gibi araçlar, Chrome DevTools Protokolünü kullanarak, Chromium, Chrome vb.

Burada, tarayıcının araçları DOM, Hata Ayıklayıcı, Ağ vb. gibi bir dizi alana bölünmüştür. Her etki alanı, desteklenen tüm farklı komutları ve oluşturulan olayları açıklar.

Kuklacının Özellikleri:

  • Chrome tarayıcı üzerinden manuel işlemler otomatikleştirilebilir.
  • Herhangi bir web sayfasının ekran görüntüsünü yakalayabilir ve ekran görüntüsünün görüntüsünü veya pdf dosyasını oluşturur.
  • Kuklacı kullanılarak sunucu tarafı oluşturma için tek sayfalık bir uygulama geliştirilebilir.
  • Web formu gönderimini, UI testini, klavye girişini vb. kontrol noktalarıyla otomatikleştirebilir.
  • Chrome tarayıcı üzerinde daha fazla kontrol sağlar.
  • Varsayılan başsız modu çok hızlıdır.
  • Web kazımayı destekler.
  • Chrome performans analiz araçlarını kullanarak oluşturma ve yükleme zamanlamasını ölçebilme.

Kuklacı vs Kuklacı-çekirdek:

Puppeteer v1.7.0 sürümünden bu yana, iki paketin altında, her sürümde mevcuttur –

  • kuklacı çekirdek paketi
  • kuklacı paketi

Kuklacı Çekirdek Paketi:

kuklacı-çekirdek DevTools protokolünü destekleyen herhangi bir işlemi gerçekleştirebilen bir Java tabanlı Düğüm kitaplığıdır. Puppeteer-core, kurulum sırasında Chromium'u indirmiyor. Bir kitaplık olarak, Puppeteer-core, tamamen programlı arayüzü ile yönlendirilir. Ayrıca, Puppeteer-core'un özellikleri tüm PUPPETEER_* env değişkenleri tarafından özelleştirilemez. Puppeteer-core'u kurmak için temel komut – 

npm install puppeteer-core
# or "yarn add puppeteer-core"

Kuklacı çekirdeğini kullanırken, içerme ifadeleri aşağıdaki gibi görünecektir -

const puppeteer = require('puppeteer-core')

Puppeteer-Core ne zaman kullanılır:

  • Ek krom indirmenin gerekli olmadığı durumlarda DevTools protokolü üzerinden mevcut Chrome tarayıcısını kullanmak için Puppeteer projesi geliştirmek.
  • DevTools protokolüne ek olarak başka bir son kullanıcı ürünü veya kitaplığı geliştirmek. Örneğin, bir proje, kuklacı çekirdeği kullanarak bir ekran görüntüsü oluşturucu oluşturabilir ve depolama alanından tasarruf etmek için Chromium yerine headless_shell'i indiren özel bir setup.js komut dosyası yazabilir.

Kuklacı Paketi:

kuklacıya Chrome veya Chromium tarayıcı otomasyonu için eksiksiz bir üründür. Kurulum sırasında Chromium'un en son sürümünü indirir ve bundan sonra kuklacı-çekirdek tarafından çalıştırılır. Bir son kullanıcı ürünü olarak Puppeteer, davranışını özelleştirmek için tüm PUPPETEER_* env değişkenlerini destekler. Puppeteer'ı kurmak için temel komut – 

npm install puppeteer
# or "yarn add puppeteer"

Puppeteer'ı kullanırken, aşağıdaki gibi görünecek ifadeleri ekleyin –

puppeteer = require(‘puppeteer’)

Kuklacı ve Kuklacı çekirdeği arasındaki fark:

  • Puppeteer-core, kurulum sırasında Chromium tarayıcısını otomatik olarak indirmez.
  • Puppeteer-core, tüm PUPPETEER_* env değişkenlerini dikkate almaz.
  • Çoğu projede Puppeteer ürün paketini kullanıyoruz.

Başsız Krom:

Başsız krom, Kuklacı'nın arka plan uygulaması olarak bir krom tarayıcıyla etkileşimde bulunduğu anlamına gelir; bu, krom kullanıcı arayüzünün ekranda görünmediği anlamına gelir. Varsayılan olarak, Puppeteer uygulamayı başsız krom olarak başlatır. Headless Chrome'u başlatmak için kod örneği – 

Bu örnekte headless chrome'u açıyoruz yani Chrome UI görünmeyecek. Başsız bayrağı Puppeteer.launch yöntemine () doğru olarak geçirerek yapılabilir.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

Başlı Krom:

Headful chrome, Kuklacı'nın ekranda krom kullanıcı arayüzünün göründüğü bir krom tarayıcıyla etkileşimde olduğu anlamına gelir. Varsayılan olarak, Puppeteer uygulamayı başsız krom olarak başlatır. Headful Chrome'u başlatmak için kod örneği – 

Bu örnekte, bize görünen kromu açıyoruz. Başsız bayrağı false olarak Puppeteer.launch() yöntemine geçirerek yapılabilir.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false});
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

Kuklacı Ortam Değişkenleri

Puppeteer, işlemlerini desteklemek için önceden tanımlanmış ortam değişkenleriyle çalışır. Kuklacı kurulum sırasında ortam değişkenlerini bulamazsa, bu değişkenlerin küçük harfli bir varyantı npm yapılandırmasından kullanılacaktır (NPM Yapılandırmaları dosyasını yönetir). Ortam değişkenleri, Puppeteer-core paketi tarafından dikkate alınmaz. En önemli Puppeteer ortam değişkenleri şunlardır: 

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: Yükleme adımı sırasında paketlenmiş Chromium'un indirilmemesi talimatını verir.
  • PUPPETEER_DOWNLOAD_HOST: Chromium'u indirmek için kullanılabilecek URL önekinin üzerine yazar. 
  • PUPPETEER_DOWNLOAD_PATH: İndirilen klasör yolunun üzerine yazar. Varsayılan yol - “ /.local-chromium/” nerede kuklacının paket köküdür.
  • HTTP_PROXY, HTTPS_PROXY, NO_PROXY: Bu değişkenler, kurulum sırasında Chromium'u indirmek için proxy ayarlarını tanımlar.
  • PUPPETEER_CHROMIUM_REVISION: Kuklacı tarafından kullanılacak belirli bir Chromium sürümünü tanımlar.
  • PUPPETEER_EXECUTABLE_PATH: Puppeteer.launch yönteminde kullanılacak yürütülebilir bir yolu belirtir. 
  • KUKLACI_ÜRÜN: Puppeteer tarafından hangi tarayıcının kullanılacağını tanımlar. Değer, chrome veya firefox olmalıdır. 

Sonuç:

Kuklacı Eğitimi hakkındaki bu giriş makalesinde, Kuklacıya genel bakış ve Kuklacı Ortam Değişkenleri hakkında bilgi edindik. Yazının devamında kuklacı eğitimi, Kuklacı Web Kazıma ve Kuklacı Test Otomasyonuna genel bakış hakkında bilgi edineceğiz. lütfen tıklayın okuyun Bu Kuklacı Eğitimi için referans portalını ziyaret etmek için. Ayrıca lütfen tıklayın okuyun LambdaGeeks'ten Selenium öğrenmek için.

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlenmişlerdir. *

En gidin