Chromium Chronicle #17: Tarayıcı Testi Karışıklıkları

17. Bölüm: San Francisco, Kaliforniya'da Toby Huang tarafından (Ocak 2021)
Önceki bölümler

Tarayıcı testleri, Chromium koduna yönelik otomatik bir test yöntemidir. uçtan uca daha fazla önem taşır. Tarayıcı testleri, tarayıcı örnekleri ve test oluşturur sadece giriş/çıkış işlevini test etmek yerine çeşitli kullanıcı arayüzü öğeleri olduğu gibidir. Entegre otomatik test, simüle etmenin daha derin bir bağ oluşturuyor. Tarayıcı testi yazarken kullanıcının manuel olarak yapabileceği kurulum işlemlerini programlı bir şekilde gerçekleştirmek için kullanılır. Bu konuda size yardımcı olmak için karma ürünler, önemsiz olmayan performanslara yönelik bir araç paketidir. bir yönteme sahip olmasını sağlayın.

Faydalı mix'lere örnekler:

  • Gizli modu test etmek için GuestUserMixin
  • Sunucudan sahte kullanıcı politikası oluşturmak için UserPolicyMixin
  • Gaia sunucusundan alınan sahte yanıtlar için FakeGaiaMixin

Çok çeşitli amaçlar için kendi özel mix'lerinizi oluşturabilirsiniz!

Aşağıdaki snippet, testiniz için misafir kullanıcı olarak giriş yapar. Bu nedenle, özelliğinizin gizli modda çalıştığından emin olun.

Yapılması gerekenler
class MyGuestBrowserTestClass : public MixinBasedInProcessBrowserTest {
 private:
  GuestSessionMixin guest_session_mixin_{&mixin_host_};
};

LoggedInUserMixin, Family Link kullanıcısı olarak giriş yapmanın kolay bir yoludur: test edin. Özelliğiniz çocuk gözetimiyle ilgili herhangi bir şeyi etkiliyorsa özelliğinizi denetlenen kullanıcılar için test etmeniz gerekir. Olası bir hata çocuk kullanıcıların gizli modun devre dışı olduğunu veya uygulamayı yükleyemediğini unutmak uzantıları için ödeme yapılmamalıdır. LoggedInUserMixin, bileşik bir karışımdır bir araya getirmektir.

Yapılması gerekenler
class MyChildBrowserTestClass : public MixinBasedInProcessBrowserTest {
 protected:
  void SetUpOnMainThread() override {
    MixinBasedInProcessBrowserTest::SetUpOnMainThread();
    logged_in_user_mixin_.LogInUser();
  }

 private:
  LoggedInUserMixin logged_in_user_mixin_{&mixin_host_,
                                          LoggedInUserMixin::LogInType::kChild,
                                          embedded_test_server(), this};
};

Karışımların temel avantajlarından biri karmaşık maddeler yerine kompozisyon ve elmas çoklu devralma sorunlarından kaçınma. Birden fazla test temel sınıfından devralmak elmas sorununa yol açar. Ancak bu sorunun önüne geçerken karışımları bir arada kullanabilirsiniz. Mix'leri kullanma devre dışı bırakmadığından, tarayıcı test sınıfı hâlâ devralmadan tamamen verilerin MixinBasedInProcessBrowserTest adlı sistemden devralınması gerekiyor ancak temel sınıfı genel amaçlı ve hafif.

Kaynaklar