<!DOCTYPE html><html lang="en" dir="ltr" class="2xl:text-[20px]"> <head><meta name="sentry-route-name" content="%2F"/><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAABhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhJilOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VOz6VOz6VOz6VM0KVhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VOz6VhIiZOz6VhIiZOz6VOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VOz6VhIiZhIiZOz6VhIiZhIiZOz6VOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VhIiZhIiZhIiZOz6VhIiZhIiZhIiZOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VhIiZhIiZhIiZOz6VhIiZhIiZhIiZOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VhIiZOz6VOz6VOz6VOz6VOz6VhIiZOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VOz6VOz6VOz6VOz6VOz6VOz6VOz6VOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZOz6VOz6VOz6VOz6VOz6VOz6VOz6VOz6VOz6VhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiZhIiYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"><link rel="icon" type="image/svg+xml" href="/_astro/favicon.B_K-Lsmy.svg"><link rel="mask-icon" href="/_astro/favicon.B_K-Lsmy.svg" color="#8D46E7"><link rel="apple-touch-icon" sizes="180x180" href="/_astro/apple-touch-icon.BZjXw9kP.png"><style>
  :root {
    --aw-font-sans: 'Poppins';
    --aw-font-serif: 'Poppins';
    --aw-font-heading: 'Poppins';

    --aw-font2-sans: 'Literatas';
    --aw-font2-serif: 'Literata';
    --aw-font2-heading: 'Literata';
    
    --aw-color-primary: #262262;
    --aw-color-primary2: #5b54e1;
    --aw-color-secondary: #16a300;
    --aw-color-accent: #ffa900;
    --aw-color-blue:  #5d54ef;
    --aw-color-violet:  #931e79;
    
    --aw-color-text-heading: 'Poppins';
    --aw-color-text-default: #000000;
    --aw-color-text-muted: #5d5d5d;
    --aw-color-text-black2: #040404;
    --aw-color-text-black3: #222222;
    
    --aw-color-bg-page: rgb(255 255 255);
    --aw-color-bg-page-dark: rgb(3 6 32); 
   
    --aw-color-gray-1: #656565;
    --aw-color-gray-2: #929292;
    --aw-color-gray-3: #ccc;
    --aw-color-gray-4: #939393;
    --aw-color-gray-5: #f6f5fa;
    --aw-color-gray-6: #bbbbbb;
    --aw-color-gray-7: #f6f5f9;    
    
    --aw-color-dark-blue: #080150;
    --aw-color-light-blue: #c6d5ff;
    --aw-color-light-blue2: #e9e8f2;
    --aw-color-light-blue3: #fbfbfd;
    --aw-color-light-blue4: #353446;
    --aw-color-light-blue5:  #fbfafd;
    
    ::selection {
      background-color: lavender;
    }
  }

  .dark {
    --aw-font-sans: 'Poppins';
    --aw-font-serif: 'Poppins';
    --aw-font-heading: 'Poppins';

    --aw-color-primary: rgb(1 97 239);
    --aw-color-primary2: #5b54e1;
    --aw-color-secondary: rgb(1 84 207);
    --aw-color-accent: rgb(109 40 217);
   
    --aw-color-blue: #262262;
    --aw-color-dark-blue: #121033;

    --aw-color-text-heading: rgb(247, 248, 248);
    --aw-color-text-default: rgb(229 236 246);
    --aw-color-text-muted: rgb(229 236 246 / 66%);
    --aw-color-bg-page: rgb(3 6 32);

    ::selection {
      background-color: black;
      color: snow;
    }
  }
</style><script>(function(){const defaultTheme = "light:only";

  function applyTheme(theme) {
    if (theme === "dark") {
      document.documentElement.classList.add("dark");
    } else {
      document.documentElement.classList.remove("dark");
    }
    const matches = document.querySelectorAll("[data-aw-toggle-color-scheme] > input");

    if (matches && matches.length) {
      matches.forEach((elem) => {
        elem.checked = theme !== "dark";
      });
    }
  }

  if ((defaultTheme && defaultTheme.endsWith(":only")) || (!localStorage.theme && defaultTheme !== "system")) {
    applyTheme(defaultTheme.replace(":only", ""));
  } else if (
    localStorage.theme === "dark" ||
    (!("theme" in localStorage) && window.matchMedia("(prefers-color-scheme: dark)").matches)
  ) {
    applyTheme("dark");
  } else {
    applyTheme("light");
  }
})();</script><title>Meet Test Guild, Your Automation Testing Tools Community</title>
<meta name="description" content="Discover Test Guild, the premier community for automation testing tools. Join us to enhance your skills, share insights, and connect with industry experts.">
<meta name="robots" content="index,follow">
<link rel="canonical" href="https://testguild.com/">
<meta property="og:title" content="TestGuild: Automation Testing Webinars, Courses &amp; Tools">
<meta property="og:description" content="Discover Test Guild, the premier community for automation testing tools. Join us to enhance your skills, share insights, and connect with industry experts.">
<meta property="og:url" content="https://testguild.com/">
<meta property="og:type" content="article">
<meta property="og:image" content="https://app.testguild.com/wp-content/uploads/2026/01/joe-v3-1200x0-c-default-ve2-1-1.webp">
<meta property="og:image:alt" content="TestGuild: Automation Testing Webinars, Courses &amp; Tools">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">

<meta property="og:locale" content="en_US">
<meta property="og:site_name" content="Test Guild - Automation Testing Tools Community">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@jcolantonio">
<meta name="twitter:creator" content="@jcolantonio">
<meta content="Written by" name="twitter:label1">
<meta content="joecolantonio" name="twitter:label2">
<meta content="Est. reading time" name="twitter:data1">
<meta content="18 minutes" name="twitter:data2">
<meta content="joecolantonio" name="author">
<meta content="iw5jylshyxu9qh6juxiqigno5y3p5d" name="facebook-domain-verification"><script>(function(){const trackingConfig = {"conversion":true,"ecommerce":true,"customEvents":true};

  // Initialize Pixel Manager global object with tracking configuration
  window.tgPixelManager = window.tgPixelManager || {};
  window.tgPixelManager.config = {
    conversion: trackingConfig.conversion,
    ecommerce: trackingConfig.ecommerce,
    customEvents: trackingConfig.customEvents,
  };
  
  // Add helper methods to check if tracking is enabled
  window.tgPixelManager.canTrackConversion = () => {
    return window.tgPixelManager.config?.conversion === true;
  };
  
  window.tgPixelManager.canTrackEcommerce = () => {
    return window.tgPixelManager.config?.ecommerce === true;
  };
  
  window.tgPixelManager.canTrackCustomEvents = () => {
    return window.tgPixelManager.config?.customEvents === true;
  };

  /**
   * Track a conversion event (signups, form submissions, etc.)
   * Fires events to Facebook Pixel, Google Analytics, and GTM
   * @param {string} eventType - Type of conversion (e.g., 'Lead', 'CompleteRegistration', 'Subscribe')
   * @param {object} eventData - Additional event data (value, currency, content_name, etc.)
   */
  window.tgPixelManager.trackConversion = function(eventType = 'Lead', eventData = {}) {
    if (!this.canTrackConversion()) {
      return;
    }

    // Facebook Pixel
    if (typeof fbq !== 'undefined') {
      try {
        fbq('track', eventType, eventData);
      } catch {
        // Silently handle tracking errors
      }
    }

    // Google Analytics
    if (typeof gtag !== 'undefined') {
      try {
        gtag('event', eventType, {
          event_category: 'conversion',
          ...eventData
        });
      } catch {
        // Silently handle tracking errors
      }
    }

    // Google Tag Manager (dataLayer)
    if (typeof window.dataLayer !== 'undefined') {
      try {
        window.dataLayer.push({
          event: eventType,
          event_category: 'conversion',
          ...eventData
        });
      } catch {
        // Silently handle tracking errors
      }
    }
  };

  /**
   * Track an ecommerce purchase event
   * Fires events to Facebook Pixel, Google Analytics, and GTM
   * @param {object} purchaseData - Purchase data { value, currency, content_ids, content_name, etc. }
   */
  window.tgPixelManager.trackPurchase = function(purchaseData = {}) {
    if (!this.canTrackEcommerce()) {
      return;
    }

    const { value = 0, currency = 'USD', content_ids = [], content_name = '', ...rest } = purchaseData;

    // Facebook Pixel
    if (typeof fbq !== 'undefined') {
      try {
        fbq('track', 'Purchase', {
          value: parseFloat(value),
          currency: currency,
          content_ids: Array.isArray(content_ids) ? content_ids : [content_ids],
          content_name: content_name,
          ...rest
        });
      } catch {
        // Silently handle tracking errors
      }
    }

    // Google Analytics
    if (typeof gtag !== 'undefined') {
      try {
        gtag('event', 'purchase', {
          value: parseFloat(value),
          currency: currency,
          transaction_id: rest.transaction_id || Date.now().toString(),
          items: rest.items || [],
          ...rest
        });
      } catch {
        // Silently handle tracking errors
      }
    }

    // Google Tag Manager (dataLayer)
    if (typeof window.dataLayer !== 'undefined') {
      try {
        window.dataLayer.push({
          event: 'purchase',
          ecommerce: {
            purchase: {
              actionField: {
                transaction_id: rest.transaction_id || Date.now().toString(),
                value: parseFloat(value),
                currency: currency
              },
              products: rest.items || []
            }
          },
          ...rest
        });
      } catch {
        // Silently handle tracking errors
      }
    }
  };

  /**
   * Track an add to cart event
   * Fires events to Facebook Pixel, Google Analytics, and GTM
   * @param {object} cartData - Cart data { value, currency, content_ids, content_name, etc. }
   */
  window.tgPixelManager.trackAddToCart = function(cartData = {}) {
    if (!this.canTrackEcommerce()) {
      return;
    }

    const { value = 0, currency = 'USD', content_ids = [], content_name = '', quantity = 1, ...rest } = cartData;

    // Facebook Pixel
    if (typeof fbq !== 'undefined') {
      try {
        fbq('track', 'AddToCart', {
          value: parseFloat(value),
          currency: currency,
          content_ids: Array.isArray(content_ids) ? content_ids : [content_ids],
          content_name: content_name,
          ...rest
        });
      } catch {
        // Silently handle tracking errors
      }
    }

    // Google Analytics
    if (typeof gtag !== 'undefined') {
      try {
        gtag('event', 'add_to_cart', {
          value: parseFloat(value),
          currency: currency,
          items: rest.items || [{
            item_id: content_ids[0] || '',
            item_name: content_name,
            quantity: quantity
          }],
          ...rest
        });
      } catch {
        // Silently handle tracking errors
      }
    }

    // Google Tag Manager (dataLayer)
    if (typeof window.dataLayer !== 'undefined') {
      try {
        window.dataLayer.push({
          event: 'add_to_cart',
          ecommerce: {
            add: {
              products: rest.items || [{
                id: content_ids[0] || '',
                name: content_name,
                quantity: quantity,
                price: parseFloat(value)
              }]
            }
          },
          ...rest
        });
      } catch {
        // Silently handle tracking errors
      }
    }
  };

  /**
   * Track a custom event (TestGuild activities, custom interactions, etc.)
   * Fires events to Facebook Pixel, Google Analytics, and GTM
   * @param {string} eventName - Name of the custom event
   * @param {object} eventData - Additional event data
   */
  window.tgPixelManager.trackCustomEvent = function(eventName, eventData = {}) {
    if (!this.canTrackCustomEvents()) {
      return;
    }

    if (!eventName) {
      return;
    }

    // Facebook Pixel
    if (typeof fbq !== 'undefined') {
      try {
        fbq('trackCustom', eventName, eventData);
      } catch {
        // Silently handle tracking errors
      }
    }

    // Google Analytics
    if (typeof gtag !== 'undefined') {
      try {
        gtag('event', eventName, {
          event_category: 'custom',
          ...eventData
        });
      } catch {
        // Silently handle tracking errors
      }
    }

    // Google Tag Manager (dataLayer)
    if (typeof window.dataLayer !== 'undefined') {
      try {
        window.dataLayer.push({
          event: eventName,
          event_category: 'custom',
          ...eventData
        });
      } catch {
        // Silently handle tracking errors
      }
    }
  };
})();</script><fragment><script async src="https://www.googletagmanager.com/gtag/js?id=G-HHH52F8B1H"></script><script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'G-HHH52F8B1H');
    </script></fragment><script>
    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});
      var f=d.getElementsByTagName(s)[0], j=d.createElement(s), dl=l!='dataLayer'?'&l='+l:''; j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl; f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-MF8VJF2');
  </script><fragment><script>
      !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n; n.push=n; n.loaded=!0; n.version='2.0'; n.queue=[]; t=b.createElement(e); t.async=!0; t.src=v; s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');
      fbq('init', '593311440870141');
      fbq('track', 'PageView');
    </script><noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=593311440870141&ev=PageView&noscript=1"></noscript></fragment><meta name="ahrefs-site-verification" content="1435dc0dc6183474beed17954766a3d3a74df762064133d8975080dc6bc5d9ba"><!-- Hotjar Tracking Code for Test Guild --><script>
      (function(h,o,t,j,a,r){
          h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
          h._hjSettings={hjid:6629586,hjsv:6};
          a=o.getElementsByTagName('head')[0];
          r=o.createElement('script');r.async=1;
          r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
          a.appendChild(r);
      })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
    </script><!-- Comment the line below to disable View Transitions --><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="none"><script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.BDKFb4gw.js"></script><script>(function(){const WP_API_URL = "https://app.testguild.com/wp-json";

  // Use secure token management
  function getAUTH_TOKEN_SYNC() {
    try {
      return window.localStorage.getItem('AUTH_TOKEN');
    } catch (error) {
      console.warn('Error accessing localStorage:', error);
      return null;
    }
  }
  
  function getIsAuth_SYNC() {
    try {
      return window.localStorage.getItem('isAuth');
    } catch (error) {
      console.warn('Error accessing localStorage:', error);
      return null;
    }
  }
  
  const AUTH_TOKEN = getAUTH_TOKEN_SYNC();
  const isAuth = getIsAuth_SYNC();

  // Helper function to sync localStorage to cookies for middleware
  function syncAuthToCookies() {
    const authToken = getAUTH_TOKEN_SYNC(); // Use secure token management
    const isAuthValue = getIsAuth_SYNC(); // Use secure token management
    
    if (authToken && isAuthValue && isAuthValue !== 'false') {
      // Set secure cookie for middleware authentication
      document.cookie = `AUTH_TOKEN=${authToken}; path=/; secure; samesite=strict; max-age=86400`; // 24 hours
    } else {
      // Clear cookie if no valid auth
      document.cookie = 'AUTH_TOKEN=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT';
    }
  }

  // Helper function to clear auth cookies
  function clearAuthCookies() {
    document.cookie = 'AUTH_TOKEN=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT';
  }

  if( isAuth === null || isAuth === 'false' ){
    window.localStorage.removeItem('AUTH_EMAIL');
    window.localStorage.removeItem('AUTH_TOKEN');   
    window.localStorage.removeItem('isAuth');
    window.localStorage.removeItem('USER_ID');    
    window.localStorage.removeItem('USER_FIRSTNAME');
    
    // Clear cookies when clearing localStorage
    clearAuthCookies();
  } else {
    // Sync to cookies when auth exists
    syncAuthToCookies();
  }

  try {
    if (AUTH_TOKEN) {
    
      //if (!USER_ID) {

        fetch(`${WP_API_URL}/wp/v2/users/me`, {
          method: 'POST',
          headers: {
            Authorization: `Bearer ${AUTH_TOKEN}`,
            'Content-Type': 'application/json',
          },
        }).then(async (response) => {
          const json = await response.json();
         
          if (response.status == 200) {
            window.localStorage.setItem('isAuth', json.id);
            window.localStorage.setItem('USER_ID', json.id);
            window.localStorage.setItem('USER_FIRSTNAME', json.first_name);
            
            // Sync to cookies after successful validation
            syncAuthToCookies();
          } else {
            window.localStorage.removeItem('isAuth');
            window.localStorage.removeItem('USER_ID');
            window.localStorage.removeItem('USER_FIRSTNAME');

            window.localStorage.removeItem('AUTH_EMAIL');
            window.localStorage.removeItem('AUTH_TOKEN');
            
            // Clear cookies on auth failure
            clearAuthCookies();
            // Show error message before redirect
            if (typeof window.showErrorMessage === 'function') {
              window.showErrorMessage('Session expired. Please log in again.');
            }
            
            // Small delay to ensure notification is set before redirect
            setTimeout(() => {
              window.location.href = '/';
            }, 100);
          }
        }).catch((error) => {
          console.error('Auth fetch error:', error);
          
          /*
          // Clear auth data on error
          window.localStorage.removeItem('isAuth');
          window.localStorage.removeItem('USER_ID');
          window.localStorage.removeItem('USER_FIRSTNAME');
          window.localStorage.removeItem('AUTH_EMAIL');
          window.localStorage.removeItem('AUTH_TOKEN');
          
          // Clear cookies on error
          clearAuthCookies();
           */
          
          // Determine error type and show appropriate message
          let errorMessage = 'Authentication error. Please try again.';
          
          if (error.message) {
            const errorMsgLower = error.message.toLowerCase();
            // Check for network-related errors
            if (errorMsgLower.includes('network') || 
                errorMsgLower.includes('fetch') || 
                errorMsgLower.includes('failed to fetch') ||
                errorMsgLower.includes('networkerror') ||
                errorMsgLower.includes('connection')) {
              errorMessage = 'Network error. Please check your connection and try again.';
            } else if (errorMsgLower.includes('timeout') || errorMsgLower.includes('timed out')) {
              errorMessage = 'Request timeout. Please try again.';
            } else {
              errorMessage = 'Authentication error. Please try again.';
            }
          }
          
          // Show error message
          if (typeof window.showErrorMessage === 'function') {
            window.showErrorMessage(errorMessage);
          }
          
          // Small delay to ensure notification is set before redirect
          setTimeout(() => {
           // window.location.href = '/';
          }, 100);
         
        });

      //}      

    } else {     

      window.localStorage.removeItem('isAuth');
      window.localStorage.removeItem('USER_ID');
      window.localStorage.removeItem('USER_FIRSTNAME');
      
      // Clear cookies when no token
      clearAuthCookies();

    }
  } catch (error) {
    console.warn('Auth validation error:', error);
  }
})();</script><!-- Certificate Error Handler - Load early --><script type="module">!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"293373966f2704438f075fe6918163b716059a18"};}catch(e){}}();;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ff60ef61-8c02-47f8-a014-27c225bdb539",e._sentryDebugIdIdentifier="sentry-dbid-ff60ef61-8c02-47f8-a014-27c225bdb539");})();}catch(e){}};function handleCertificateErrors() {
  const originalFetch = window.fetch;
  window.fetch = async (input, init) => {
    try {
      return await originalFetch(input, init);
    } catch (error) {
      if (error instanceof TypeError) {
        const message = error.message.toLowerCase();
        if (message.includes("err_cert_authority_invalid") || message.includes("certificate") || message.includes("ssl") || message.includes("tls")) {
          console.error("Certificate error detected:", error);
          localStorage.removeItem("AUTH_TOKEN");
          localStorage.removeItem("AUTH_EMAIL");
          localStorage.removeItem("isAuth");
          localStorage.removeItem("USER_ID");
          localStorage.removeItem("USER_FIRSTNAME");
          localStorage.removeItem("guest_cart");
          sessionStorage.clear();
          const currentUrl = window.location.pathname;
          const loginUrl = new URL("/login", window.location.origin);
          loginUrl.searchParams.set("returnUrl", currentUrl);
          loginUrl.searchParams.set("error", "cert");
          window.location.href = loginUrl.toString();
          return;
        }
      }
      throw error;
    }
  };
  const originalConsoleError = console.error;
  console.error = (...args) => {
    const message = args.join(" ").toLowerCase();
    if (message.includes("err_cert_authority_invalid") || message.includes("certificate") || message.includes("ssl")) {
      localStorage.removeItem("AUTH_TOKEN");
      localStorage.removeItem("AUTH_EMAIL");
      localStorage.removeItem("isAuth");
      localStorage.removeItem("USER_ID");
      localStorage.removeItem("USER_FIRSTNAME");
      localStorage.removeItem("guest_cart");
      sessionStorage.clear();
      const currentUrl = window.location.pathname;
      const loginUrl = new URL("/login", window.location.origin);
      loginUrl.searchParams.set("returnUrl", currentUrl);
      loginUrl.searchParams.set("error", "cert");
      window.location.href = loginUrl.toString();
      return;
    }
    originalConsoleError.apply(console, args);
  };
}
if (typeof window !== "undefined") {
  handleCertificateErrors();
}</script><link rel="stylesheet" href="/_astro/_slug_.CE0dNOB-.css">
<link rel="stylesheet" href="/_astro/index.DOmj6Zo_.css">
<link rel="stylesheet" href="/_astro/_slug_.BLDpZcqk.css">
<style>#ez-toc-container {
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 20px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  display: table;
  margin-bottom: 1em;
  padding: 30px;
  position: relative;
  width: auto;
}

#ez-toc-container ul ul {
  margin-left: 1.5em;
}

#ez-toc-container li, #ez-toc-container ul {
  padding: 0;
}

#ez-toc-container li, #ez-toc-container ul, #ez-toc-container ul li {
  background: 0 0;
  list-style: none;
  line-height: 1.6;
  margin: 0;
  overflow: hidden;
  z-index: 1;
}

#ez-toc-container p.ez-toc-title {
  text-align: left;
  line-height: 1.45;
  margin: 0;
  padding: 0;
}

.ez-toc-title-container {
  display: table;
  width: 100%;
}

.ez-toc-title, .ez-toc-title-toggle {
  display: none;
  text-align: left;
  vertical-align: middle;
}

.ez-toc-btn {
  display: inline-block;
  font-weight: 400;
}

#ez-toc-container a {
  color: #444;
  box-shadow: none;
  text-decoration: none;
  text-shadow: none;
  display: inline-flex;
  align-items: stretch;
  flex-wrap: nowrap;
  font-size: 15px;
  text-decoration: underline;
}

#ez-toc-container a:visited {
  color: #9f9f9f;
}

.ez-toc-btn {
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.428571429;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}

.ez-toc-btn-default {
  color: #333;
  background-color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  text-shadow: 0 1px 0 #fff;
  background-image: linear-gradient(to bottom, #fff 0, #e0e0e0 100%);
  background-repeat: repeat-x;
  border-color: #ccc;
}

.ez-toc-btn-xs {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
  padding: 1px 5px;
}

.ez-toc-pull-right {
  float: right !important;
  margin-left: 10px;
}

#ez-toc-container input {
  position: absolute;
  left: -999em;
}

#ez-toc-container label {
  float: right;
  position: relative;
  font-size: 16px;
  padding: 0 4px 0 5px;
  border: 1px solid #999191;
  border-radius: 5px;
  width: 30px;
  left: 10px;
}

#ez-toc-container .ez-toc-toggle label {
  float: right;
  position: relative;
  font-size: 16px;
  padding: 0;
  border: 1px solid #999191;
  border-radius: 5px;
  left: 10px;
  width: 35px;
}

div#ez-toc-container p.ez-toc-title {
  display: contents;
}

div#ez-toc-container {
  padding-right: 50px;
}

#ez-toc-container a.ez-toc-toggle {
  display: flex;
  align-items: center;
  color: #444;
  background: inherit;
  border: inherit;
}

div#ez-toc-container p.ez-toc-title {
  font-size: 120%;
  font-weight: 500;
}

div#ez-toc-container ul li {
  font-size: 95%;
}

div#ez-toc-container nav ul ul li ul li {
  font-size: 90% !important;
}

.ez-toc-container-direction {
  direction: ltr;
}

.ez-toc-counter ul {
  counter-reset: item;
}

.ez-toc-counter nav ul li a::before {
  content: counters(item, ".", decimal) ". ";
  display: inline-block;
  counter-increment: item;
  flex-grow: 0;
  flex-shrink: 0;
  margin-right: 0.2em;
  float: left;
}</style>
<link rel="stylesheet" href="/_astro/_slug_.CNXj4EJd.css">
<style>.dropdown:hover .dropdown-menu {
  display: block !important;
}@keyframes astroFadeInOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

@keyframes astroFadeIn {
	from {
		opacity: 0;
		mix-blend-mode: plus-lighter;
	}
	to {
		opacity: 1;
		mix-blend-mode: plus-lighter;
	}
}

@keyframes astroFadeOut {
	from {
		opacity: 1;
		mix-blend-mode: plus-lighter;
	}
	to {
		opacity: 0;
		mix-blend-mode: plus-lighter;
	}
}

@keyframes astroSlideFromRight {
	from {
		transform: translateX(100%);
	}
}

@keyframes astroSlideFromLeft {
	from {
		transform: translateX(-100%);
	}
}

@keyframes astroSlideToRight {
	to {
		transform: translateX(100%);
	}
}

@keyframes astroSlideToLeft {
	to {
		transform: translateX(-100%);
	}
}

@media (prefers-reduced-motion) {
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) {
		animation: none !important;
	}

	[data-astro-transition-scope] {
		animation: none !important;
	}
}
#tips-modal-backdrop[data-astro-cid-ioixlemv] .bg-white[data-astro-cid-ioixlemv]{background:#ffffff;border:1px solid #e5e7eb}#tips-modal-backdrop[data-astro-cid-ioixlemv]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity 0.3s ease-out}#tips-modal-backdrop[data-astro-cid-ioixlemv] .bg-white[data-astro-cid-ioixlemv]{background-color:white;border-radius:0.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);max-width:64rem;width:100%;margin:0 1rem;overflow:hidden}#tips-modal-backdrop[data-astro-cid-ioixlemv].show{opacity:1!important;pointer-events:auto!important}#tips-modal-backdrop[data-astro-cid-ioixlemv].hide{opacity:0!important;pointer-events:none!important}@media (max-width: 1024px){.lg\:w-1\/2[data-astro-cid-ioixlemv]{width:100%}.lg\:flex-row[data-astro-cid-ioixlemv]{flex-direction:column}}</style>
<link rel="stylesheet" href="/_astro/HeaderTop.DtU-nfcL.css"><script type="module" src="/_astro/page.ClcEuo4o.js"></script><style>[data-astro-transition-scope="astro-oyx45pxu-1"] { view-transition-name: astro-oyx45pxu-1; }@layer astro { ::view-transition-old(astro-oyx45pxu-1) { 
	animation-duration: 0.5s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }::view-transition-new(astro-oyx45pxu-1) { 
	animation-duration: 0.5s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(astro-oyx45pxu-1) { 
	animation-duration: 0.5s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(astro-oyx45pxu-1) { 
	animation-duration: 0.5s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-oyx45pxu-1"],
			[data-astro-transition-fallback="old"][data-astro-transition-scope="astro-oyx45pxu-1"] { 
	animation-duration: 0.5s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-oyx45pxu-1"],
			[data-astro-transition-fallback="new"][data-astro-transition-scope="astro-oyx45pxu-1"] { 
	animation-duration: 0.5s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-oyx45pxu-1"],
			[data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-oyx45pxu-1"] { 
	animation-duration: 0.5s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-oyx45pxu-1"],
			[data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-oyx45pxu-1"] { 
	animation-duration: 0.5s;
	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
	animation-fill-mode: both;
	animation-name: astroFadeIn; }</style></head> <body class="antialiased text-default bg-page tracking-tight">  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MF8VJF2" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>  <script>(function(){const isSelectedPageMode = false;

  // Client-side page access control
  (function() {
    //console.log('🔍 PageAccessGuard Debug:');
    //console.log('  isSelectedPageMode:', isSelectedPageMode);
    //console.log('  Type:', typeof isSelectedPageMode);
    
    if (isSelectedPageMode) {
      const pathname = window.location.pathname;
      console.log('  Current pathname:', pathname);
      
      // Check if this is the /webinar path - redirect to external site
      if (pathname === '/webinar' || pathname === '/webinar/') {
        console.log('  🔄 Redirecting /webinar to external TestGuild webinars page');
        window.location.href = 'https://testguild.com/webinars/';
        return;
      }
      
      // Define allowed paths (only /webinar and its subdirectories)
      const allowedPaths = ['/webinar'];
      const staticAssetPatterns = [
        '/_astro/',
        '/assets/',
        '/api/',
        '/favicon',
        '/robots.txt',
        '/sitemap'
      ];
      
      // Check if current path is allowed
      const isAllowedPath = allowedPaths.some(path => 
        pathname.startsWith(path) || pathname === path
      );
      
      const isStaticAsset = staticAssetPatterns.some(pattern => 
        pathname.startsWith(pattern)
      ) || pathname.includes('.');
      
      console.log('  Is allowed path:', isAllowedPath);
      console.log('  Is static asset:', isStaticAsset);
      console.log('  Should block:', !isAllowedPath && !isStaticAsset);
      
      // If not allowed, redirect to webinar page
      if (!isAllowedPath && !isStaticAsset) {
        console.log('  🚫 Blocking access - redirecting to external webinars page');
        window.location.href = 'https://testguild.com/webinars/';
      } else {
        console.log('  ✅ Access allowed - continuing');
      }
    } else {
      //console.log('  🌐 Full access mode - no restrictions');
    }
  })();
})();</script>  <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="Z1AaI4a" component-url="/_astro/PopupBanner.CxFq1aVH.js" component-export="PopupBanner" renderer-url="/_astro/client.C6KBcZAB.js" props="{&quot;title&quot;:[0,&quot;Duplicate Proven Strategies Of Top Tier E2E Automation Testing Experts&quot;],&quot;description&quot;:[0,&quot;From “debugging” to “delivering” quality results&quot;],&quot;cta&quot;:[0,{&quot;url&quot;:[0,&quot;/ag-2026/&quot;],&quot;title&quot;:[0,&quot;Reserve Your Spot!&quot;],&quot;target&quot;:[0,&quot;&quot;]}],&quot;backgroundColor&quot;:[0,&quot;bg-gradient-to-r from-blue-600 to-purple-600&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;PopupBanner&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island><header class="bg-primary"> <astro-island uid="14FVee" component-url="/_astro/HeaderTop.Dj7u78HT.js" component-export="HeaderTop" renderer-url="/_astro/client.C6KBcZAB.js" props="{&quot;podcasts&quot;:[1,[[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTQ1NQ==&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTQ1NQ==&quot;],&quot;slug&quot;:[0,&quot;a576-missy&quot;],&quot;uri&quot;:[0,&quot;/podcast/a576-missy/&quot;],&quot;title&quot;:[0,&quot;Spec2TestAI: Stop Defects Before They Reach Production with Missy Trumpler&quot;],&quot;excerpt&quot;:[0,&quot;&lt;p&gt;About This Episode: Most teams find defects after the damage is done — during regression, late-stage testing, or production incidents. [&amp;hellip;]&lt;/p&gt;\n&quot;],&quot;content&quot;:[0,&quot;&lt;h2&gt;About This Episode:&lt;/h2&gt;\n&lt;p&gt;Most teams find defects after the damage is done — during regression, late-stage testing, or production incidents. That’s expensive, stressful, and completely avoidable.&lt;/p&gt;\n&lt;p&gt;Try Spec2Test AI now: &lt;a href=\&quot;https://testguild.me/spec2testdemo\&quot;&gt;https://testguild.me/spec2testdemo&lt;/a&gt;&lt;/p&gt;\n&lt;p&gt;In this episode, Joe Colantonio sits down with Missy Trumpler, CEO of AgileAILabs, to explore how Spec2TestAI helps teams prevent defects before code ships by applying AI directly to requirements.&lt;/p&gt;\n&lt;p&gt;You’ll learn:&lt;/p&gt;\n&lt;ul&gt;\n&lt;li&gt;Why traditional test automation still misses critical risk&lt;/li&gt;\n&lt;li&gt;How predictive, requirements-based AI testing works in practice&lt;/li&gt;\n&lt;li&gt;What “shift-left” actually looks like beyond the buzzword&lt;/li&gt;\n&lt;li&gt;How to reduce escaped defects without writing more tests&lt;/li&gt;\n&lt;li&gt;Why secure, explainable AI matters for QA and enterprise teams&lt;/li&gt;\n&lt;/ul&gt;\n&lt;p&gt;This conversation is especially valuable for software testers, automation engineers, and QA leaders who want earlier visibility into risk, faster feedback, and higher confidence releases.&lt;/p&gt;\n&lt;p&gt;Don&amp;#8217;t miss Automation Guild 2026 &amp;#8211; Register Now: &lt;a href=\&quot;https://testguild.me/podag26\&quot;&gt;https://testguild.me/podag26&lt;/a&gt;&lt;/p&gt;\n&lt;div&gt;[fusebox_track_player url=&amp;#8221;https://traffic.libsyn.com/testtalks/tgaMissySpec2TestAI_StopDefectsBeforeTheyReachProduction576.mp3&amp;#8243; social_linkedin=&amp;#8221;true&amp;#8221; social_email=&amp;#8221;true&amp;#8221; ]&lt;/div&gt;\n&lt;div&gt;&lt;/div&gt;\n&lt;div&gt;&lt;iframe loading=\&quot;lazy\&quot; title=\&quot;YouTube video player\&quot; src=\&quot;https://www.youtube.com/embed/a00_geTzdZM?si=6cDV68ORPuR7l9lV\&quot; width=\&quot;560\&quot; height=\&quot;315\&quot; frameborder=\&quot;0\&quot; allowfullscreen=\&quot;allowfullscreen\&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;\n&lt;h2&gt;About Missy Trumpler&lt;/h2&gt;\n&lt;p&gt;&lt;img loading=\&quot;lazy\&quot; decoding=\&quot;async\&quot; class=\&quot;alignnone wp-image-39457\&quot; src=\&quot;https://app.testguild.com/wp-content/uploads/2026/01/1517765188836.jpeg\&quot; alt=\&quot;Missy Trumpler\&quot; width=\&quot;313\&quot; height=\&quot;313\&quot; srcset=\&quot;https://app.testguild.com/wp-content/uploads/2026/01/1517765188836.jpeg 200w, https://app.testguild.com/wp-content/uploads/2026/01/1517765188836-150x150.jpeg 150w, https://app.testguild.com/wp-content/uploads/2026/01/1517765188836-100x100.jpeg 100w\&quot; sizes=\&quot;auto, (max-width: 313px) 100vw, 313px\&quot; /&gt;&lt;/p&gt;\n&lt;p&gt;Missy is an accomplished business operational efficiency consultant. Her expertise in business sustainability, energy engineering, marketing and education led to consultancy for clients such as Visa, Office Depot/Office Max, Jones Lang LaSalle, HUD, and others. Missy has a wealth of experience as a public speaker, radio show host, corporate trainer, and brings a unique perspective to brand, market launch, and growth success.&lt;/p&gt;\n&lt;h2&gt;Connect with Missy Trumpler&lt;/h2&gt;\n&lt;ul&gt;\n&lt;li style=\&quot;list-style-type: none;\&quot;&gt;\n&lt;ul&gt;\n&lt;li&gt;Company: &lt;a href=\&quot;https://agileailabs.com/\&quot;&gt;AgileAI Labs&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;Blog: &lt;a href=\&quot;https://agileailabs.com/products-and-pricing/\&quot;&gt;www.agileailabs&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;LinkedIn: &lt;a href=\&quot;https://www.linkedin.com/in/missy-trumpler-08779611/\&quot;&gt;www.missy-trumpler-08779611&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;YouTube:&lt;a href=\&quot;https://www.youtube.com/channel/UC72lIzV2eWFDYPgVya8y9PA\&quot;&gt;www.@agileailabs&lt;/a&gt;&lt;/li&gt;\n&lt;/ul&gt;\n&lt;/li&gt;\n&lt;/ul&gt;\n&lt;h2&gt;Rate and Review TestGuild&lt;/h2&gt;\n&lt;p&gt;Thanks again for listening to the show. If it has helped you in any way, shape, or form, please share it using the social media buttons you see on the page. Additionally, &lt;a href=\&quot;https://itunes.apple.com/us/podcast/testtalks-automation-awesomeness/id826722706\&quot;&gt;reviews for the podcast on iTunes &lt;/a&gt;are &lt;b&gt;extremely helpful&lt;/b&gt; and greatly appreciated! They do matter in the rankings of the show and I read each and every one of them.&lt;/p&gt;\n&lt;div&gt;&lt;/div&gt;\n&lt;div id=\&quot;fbxt-wrap\&quot; &gt;\r\n\t&lt;div id=\&quot;fbxt-wrap--inner\&quot; class=\&quot;fbxt-extra-class\&quot;&gt;\r\n\t\t&lt;div class=\&quot;fbxt-header\&quot;&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-header--logo\&quot;&gt;\r\n\t\t\t\t&lt;svg width=\&quot;24\&quot; height=\&quot;25\&quot; viewBox=\&quot;0 0 24 25\&quot; fill=\&quot;none\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;circle opacity=\&quot;0.05\&quot; cx=\&quot;11.6406\&quot; cy=\&quot;12.3918\&quot; r=\&quot;11.6406\&quot; fill=\&quot;#C60808\&quot;/&gt;\n&lt;path fill-rule=\&quot;evenodd\&quot; clip-rule=\&quot;evenodd\&quot; d=\&quot;M16.6445 10.2899H6.63672V9.04663H16.6445V10.2899Z\&quot;/&gt;\n&lt;path fill-rule=\&quot;evenodd\&quot; clip-rule=\&quot;evenodd\&quot; d=\&quot;M16.6445 13.3421H6.63672V12.0989H16.6445V13.3421Z\&quot;/&gt;\n&lt;path fill-rule=\&quot;evenodd\&quot; clip-rule=\&quot;evenodd\&quot; d=\&quot;M12.7025 16.395H6.63672V15.1518H12.7025V16.395Z\&quot;/&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t&lt;span class=\&quot;fbxt-header-text\&quot;&gt;Transcript&lt;/span&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-header--nav\&quot;&gt;\r\n\t\t\t\t&lt;a\r\n\t\t\t\t\tclass=\&quot;fbxt-header--nav-item fbxt-nav-email\&quot;\r\n\t\t\t\t\thref=\&quot;#\&quot;\r\n\t\t\t\t\tstyle=\&quot;display:none\&quot;\r\n\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;16\&quot; height=\&quot;12\&quot; viewBox=\&quot;0 0 16 12\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M14.5 0H1.5C0.65625 0 0 0.6875 0 1.5V10.5C0 11.3438 0.65625 12 1.5 12H14.5C15.3125 12 16 11.3438 16 10.5V1.5C16 0.6875 15.3125 0 14.5 0ZM14.5 1.5V2.78125C13.7812 3.375 12.6562 4.25 10.2812 6.125C9.75 6.53125 8.71875 7.53125 8 7.5C7.25 7.53125 6.21875 6.53125 5.6875 6.125C3.3125 4.25 2.1875 3.375 1.5 2.78125V1.5H14.5ZM1.5 10.5V4.71875C2.1875 5.28125 3.21875 6.09375 4.75 7.3125C5.4375 7.84375 6.65625 9.03125 8 9C9.3125 9.03125 10.5 7.84375 11.2188 7.3125C12.75 6.09375 13.7812 5.28125 14.5 4.71875V10.5H1.5Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;Email&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t\t&lt;a\r\n\t\t\t\t\tclass=\&quot;fbxt-header--nav-item fbxt-nav-download\&quot;\r\n\t\t\t\t\thref=\&quot;#\&quot;\r\n\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;18\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 18 16\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M16.5 9H13.5938L15.0625 7.5625C16 6.625 15.3125 5 14 5H12V1.5C12 0.6875 11.3125 0 10.5 0H7.5C6.65625 0 6 0.6875 6 1.5V5H4C2.65625 5 1.96875 6.625 2.9375 7.5625L4.375 9H1.5C0.65625 9 0 9.6875 0 10.5V14.5C0 15.3438 0.65625 16 1.5 16H16.5C17.3125 16 18 15.3438 18 14.5V10.5C18 9.6875 17.3125 9 16.5 9ZM4 6.5H7.5V1.5H10.5V6.5H14L9 11.5L4 6.5ZM16.5 14.5H1.5V10.5H5.875L7.9375 12.5625C8.5 13.1562 9.46875 13.1562 10.0312 12.5625L12.0938 10.5H16.5V14.5ZM13.75 12.5C13.75 12.9375 14.0625 13.25 14.5 13.25C14.9062 13.25 15.25 12.9375 15.25 12.5C15.25 12.0938 14.9062 11.75 14.5 11.75C14.0625 11.75 13.75 12.0938 13.75 12.5Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;Download&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t\t&lt;a\r\n\t\t\t\t\tclass=\&quot;fbxt-header--nav-item fbxt-nav-new_tab\&quot;\r\n\t\t\t\t\thref=\&quot;#\&quot;\r\n\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 14 14\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M12.5 0H1.5C0.65625 0 0 0.6875 0 1.5V12.5C0 13.3438 0.65625 14 1.5 14H12.5C13.3125 14 14 13.3438 14 12.5V1.5C14 0.6875 13.3125 0 12.5 0ZM12.3125 12.5H1.6875C1.5625 12.5 1.5 12.4375 1.5 12.3125V1.6875C1.5 1.59375 1.5625 1.5 1.6875 1.5H12.3125C12.4062 1.5 12.5 1.59375 12.5 1.6875V12.3125C12.5 12.4375 12.4062 12.5 12.3125 12.5ZM10.625 3L6.375 3.03125C6.15625 3.03125 6 3.1875 6 3.40625V4.25C6 4.46875 6.15625 4.65625 6.375 4.625L8.1875 4.5625L3.09375 9.65625C2.9375 9.8125 2.9375 10.0312 3.09375 10.1875L3.8125 10.9062C3.96875 11.0625 4.1875 11.0625 4.34375 10.9062L9.4375 5.8125L9.375 7.625C9.34375 7.84375 9.53125 8 9.75 8H10.5938C10.8125 8 10.9688 7.84375 10.9688 7.625L11 3.375C11 3.1875 10.8125 3 10.625 3Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;New Tab&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t&lt;/div&gt;\r\n\r\n\t\t&lt;div class=\&quot;fbxt-content\&quot;&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-content--inner\&quot;&gt;\r\n\t\t\t\t\r\n\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-content--footer\&quot;&gt;\r\n\t\t\t\t&lt;a href=\&quot;#\&quot;&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;9\&quot; height=\&quot;11\&quot; viewBox=\&quot;0 0 9 11\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M0.5625 0.25C0.234375 0.25 0 0.507812 0 0.8125V1.375C0 1.70312 0.234375 1.9375 0.5625 1.9375H8.4375C8.74219 1.9375 9 1.70312 9 1.375V0.8125C9 0.507812 8.74219 0.25 8.4375 0.25H0.5625ZM2.10938 6.83594L3.65625 5.28906V10.1875C3.65625 10.5156 3.89062 10.75 4.21875 10.75H4.78125C5.08594 10.75 5.34375 10.5156 5.34375 10.1875V5.28906L6.86719 6.83594C7.10156 7.04688 7.45312 7.04688 7.66406 6.83594L8.0625 6.4375C8.27344 6.22656 8.27344 5.85156 8.0625 5.64062L4.89844 2.47656C4.66406 2.24219 4.3125 2.24219 4.10156 2.47656L0.914062 5.64062C0.703125 5.85156 0.703125 6.22656 0.914062 6.4375L1.3125 6.83594C1.52344 7.04688 1.89844 7.04688 2.10938 6.83594Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;Scroll back to top&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-modal fbxt-email-signup\&quot;&gt;\r\n\t\t\t\t&lt;h4&gt;\r\n\t\t\t\t\tSign up to receive email updates\r\n\t\t\t\t&lt;/h4&gt;\r\n\t\t\t\t&lt;p&gt;\r\n\t\t\t\t\tEnter your name and email address below and I&#39;ll send you periodic updates about the podcast.\r\n\t\t\t\t&lt;/p&gt;\r\n\t\t\t\t&lt;div class=\&quot;fbxt-email-response-text\&quot;&gt;&lt;/div&gt;\r\n\t\t\t\t&lt;form class=\&quot;fbxt-signup-form\&quot;&gt;\r\n\t\t\t\t\t&lt;div class=\&quot;fbxt-name-fields\&quot; style=\&quot;display:none\&quot;&gt;\r\n\t\t\t\t\t\t&lt;input\r\n\t\t\t\t\t\t\ttype=\&quot;text\&quot;\r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-first-name-input\&quot;\r\n\t\t\t\t\t\t\tplaceholder=\&quot;First Name\&quot;\r\n\t\t\t\t\t\t\tstyle=\&quot;display:none\&quot;\r\n\t\t\t\t\t\t&gt;\r\n\t\t\t\t\t\t&lt;input\r\n\t\t\t\t\t\t\ttype=\&quot;text\&quot;\r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-last-name-input\&quot;\r\n\t\t\t\t\t\t\tplaceholder=\&quot;Last Name\&quot;\r\n\t\t\t\t\t\t\tstyle=\&quot;display:none\&quot;\r\n\t\t\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t&lt;div class=\&quot;fbxt-signup-fields\&quot;&gt;\r\n\t\t\t\t\t\t&lt;input\r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-email-input\&quot;\r\n\t\t\t\t\t\t\ttype=\&quot;email\&quot;\r\n\t\t\t\t\t\t\tplaceholder=\&quot;Your Email Address\&quot;\r\n\t\t\t\t\t\t/&gt;\r\n\t\t\t\t\t\t&lt;input \r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-email-action-button\&quot;\r\n\t\t\t\t\t\t\ttype=\&quot;button\&quot;\r\n\t\t\t\t\t\t\tvalue=\&quot;Subscribe\&quot;\r\n\t\t\t\t\t\t/&gt;\r\n\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t&lt;/form&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t&lt;/div&gt;\r\n\t&lt;/div&gt;\r\n\t&lt;div class=\&quot;fbxt-credits\&quot; style=\&quot;display: none\&quot;&gt;\r\n\t\t&lt;span&gt;powered by&lt;/span&gt;\r\n\t\t&lt;a href=\&quot;https://fusebox.fm\&quot;&gt;\r\n\t\t\t&lt;svg width=\&quot;76\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 76 16\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M23.0886 7.93007H24.517V13.5888H26.3406V7.93007H28.1033V6.26029H26.3406V4.55959C26.3406 3.6474 26.9332 3.4464 27.2827 3.4464C27.7386 3.4464 28.0121 3.66286 28.0121 3.66286L28.6959 2.10131C28.6959 2.10131 28.1033 1.71478 27.1004 1.71478C25.9303 1.71478 24.517 2.42598 24.517 4.46682V6.26029H23.0886V7.93007Z\&quot; /&gt;\n&lt;path d=\&quot;M31.8294 13.7743C33.3034 13.7743 33.9872 12.522 33.9872 12.522V13.5888H35.6892V6.26029H33.8657V11.1459C33.8657 11.1459 33.3794 12.0427 32.4373 12.0427C31.5103 12.0427 31.0088 11.5788 31.0088 10.4966V6.26029H29.1853V11.0068C29.1853 12.7693 30.4466 13.7743 31.8294 13.7743Z\&quot; /&gt;\n&lt;path d=\&quot;M36.8435 12.4447C36.8435 12.4447 37.9832 13.7743 40.0954 13.7743C41.9342 13.7743 43.241 12.7693 43.241 11.517C43.241 10.0018 42.2229 9.52254 40.7945 9.21332C39.5788 8.95049 39.0925 8.84226 39.0925 8.3939C39.0925 7.94553 39.7156 7.69815 40.3994 7.69815C41.3719 7.69815 42.1925 8.33205 42.1925 8.33205L43.1043 6.97149C43.1043 6.97149 42.0253 6.07476 40.3994 6.07476C38.4239 6.07476 37.2994 7.21887 37.2994 8.36297C37.2994 9.75446 38.5455 10.3729 39.9739 10.6821C41.068 10.914 41.4023 11.0068 41.4023 11.4861C41.4023 11.9344 40.7793 12.1509 40.0347 12.1509C38.819 12.1509 37.8616 11.0996 37.8616 11.0996L36.8435 12.4447Z\&quot; /&gt;\n&lt;path d=\&quot;M47.5644 6.07476C45.4826 6.07476 43.9478 7.77546 43.9478 9.92453C43.9478 12.0736 45.6345 13.7743 47.8227 13.7743C49.5703 13.7743 50.71 12.7229 50.71 12.7229L49.7982 11.3315C49.7982 11.3315 49.084 12.0736 47.8227 12.0736C46.683 12.0736 45.9384 11.2387 45.8017 10.5893H51.181C51.1962 10.311 51.1962 10.0328 51.1962 9.8936C51.1962 7.63631 49.5399 6.07476 47.5644 6.07476ZM45.8017 9.24425C45.8625 8.59489 46.3943 7.76 47.5644 7.76C48.7649 7.76 49.3423 8.61035 49.3727 9.24425H45.8017Z\&quot; /&gt;\n&lt;path d=\&quot;M52.5383 13.5888H54.225V12.6302C54.225 12.6302 54.8481 13.7743 56.398 13.7743C58.2671 13.7743 59.9083 12.1818 59.9083 9.92453C59.9083 7.66723 58.2671 6.07476 56.398 6.07476C55.0304 6.07476 54.3618 7.03334 54.3618 7.03334V1.90031H52.5383V13.5888ZM54.3618 8.8268C54.3618 8.8268 54.8784 7.80638 56.0789 7.80638C57.3098 7.80638 58.0544 8.71857 58.0544 9.92453C58.0544 11.1305 57.3098 12.0427 56.0789 12.0427C54.8784 12.0427 54.3618 11.0223 54.3618 11.0223V8.8268Z\&quot; /&gt;\n&lt;path d=\&quot;M64.3915 6.07476C62.2489 6.07476 60.5469 7.76 60.5469 9.92453C60.5469 12.0736 62.2489 13.7743 64.3915 13.7743C66.5341 13.7743 68.2361 12.0736 68.2361 9.92453C68.2361 7.76 66.5341 6.07476 64.3915 6.07476ZM64.3915 12.0427C63.1606 12.0427 62.4008 11.0686 62.4008 9.92453C62.4008 8.78042 63.1606 7.80638 64.3915 7.80638C65.6224 7.80638 66.3822 8.78042 66.3822 9.92453C66.3822 11.0686 65.6224 12.0427 64.3915 12.0427Z\&quot; /&gt;\n&lt;path d=\&quot;M71.1828 9.80084L68.5083 13.5888H70.575L72.2009 11.0841L73.8269 13.5888H75.9999L73.3406 9.80084L75.848 6.26029H73.7661L72.3225 8.51758L70.8485 6.26029H68.7059L71.1828 9.80084Z\&quot; /&gt;\n&lt;path d=\&quot;M3.34457 0.583843C4.10968 1.3623 4.10968 2.62442 3.34457 3.40288C3.2166 3.53308 3.07534 3.6415 2.92523 3.72814V13.035L8.90051 13.035V8.33442L4.95452 12.3492V0.990621H14.7632V12.2656C14.9174 12.3532 15.0624 12.4638 15.1935 12.5971C15.9586 13.3756 15.9586 14.6377 15.1935 15.4162C14.4284 16.1946 13.1879 16.1946 12.4227 15.4162C11.6576 14.6377 11.6576 13.3756 12.4227 12.5971C12.552 12.4657 12.6947 12.3564 12.8465 12.2693V2.94071H6.87119V7.64125L10.8172 3.62648L10.8172 14.9851L1.00855 14.985V3.73693C0.852708 3.64886 0.706164 3.53751 0.573838 3.40288C-0.191279 2.62442 -0.191279 1.3623 0.573838 0.583843C1.33895 -0.194614 2.57945 -0.194614 3.34457 0.583843Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t&lt;/a&gt;\r\n\t&lt;/div&gt;\r\n&lt;/div&gt;\n&quot;],&quot;shows&quot;:[0,{&quot;nodes&quot;:[1,[[0,{&quot;id&quot;:[0,&quot;dGVybToyMTM=&quot;],&quot;name&quot;:[0,&quot;Automation Testing Podcast&quot;],&quot;slug&quot;:[0,&quot;automation&quot;]}]]]}],&quot;featuredImage&quot;:[0,{&quot;node&quot;:[0,{&quot;sourceUrl&quot;:[0,&quot;https://app.testguild.com/wp-content/uploads/2026/01/AutomationFeaturedImage_Missy-Trumpler-1024x640.png&quot;]}]}],&quot;seo&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://app.testguild.com/podcast/a576-missy/&quot;],&quot;cornerstone&quot;:[0,false],&quot;focuskw&quot;:[0,&quot;&quot;],&quot;metaDesc&quot;:[0,&quot;&quot;],&quot;metaKeywords&quot;:[0,&quot;&quot;],&quot;metaRobotsNofollow&quot;:[0,&quot;follow&quot;],&quot;metaRobotsNoindex&quot;:[0,&quot;index&quot;],&quot;opengraphAuthor&quot;:[0,&quot;&quot;],&quot;opengraphDescription&quot;:[0,&quot;About This Episode: Most teams find defects after the damage is done — during regression, late-stage testing, or production incidents. […]&quot;],&quot;opengraphImage&quot;:[0,{&quot;sourceUrl&quot;:[0,&quot;https://app.testguild.com/wp-content/uploads/2026/01/AutomationFeaturedImage_Missy-Trumpler.png&quot;]}],&quot;opengraphModifiedTime&quot;:[0,&quot;2026-01-27T22:19:15+00:00&quot;],&quot;opengraphPublishedTime&quot;:[0,&quot;&quot;],&quot;opengraphPublisher&quot;:[0,&quot;&quot;],&quot;opengraphSiteName&quot;:[0,&quot;Test Guild - Automation Testing Tools Community&quot;],&quot;opengraphTitle&quot;:[0,&quot;Spec2TestAI: Stop Defects Before They Reach Production with Missy Trumpler&quot;],&quot;opengraphType&quot;:[0,&quot;article&quot;],&quot;opengraphUrl&quot;:[0,&quot;https://app.testguild.com/podcast/a576-missy/&quot;],&quot;readingTime&quot;:[0,2],&quot;title&quot;:[0,&quot;Spec2TestAI: Stop Defects Before They Reach Production with Missy Trumpler • Test Guild - Automation Testing Tools Community&quot;],&quot;twitterDescription&quot;:[0,&quot;&quot;],&quot;twitterTitle&quot;:[0,&quot;&quot;]}],&quot;date&quot;:[0,&quot;2026-01-27T18:16:02&quot;]}],&quot;collection&quot;:[0,&quot;podcast&quot;]}],[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTQwNQ==&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTQwNQ==&quot;],&quot;slug&quot;:[0,&quot;a574-joe&quot;],&quot;uri&quot;:[0,&quot;/podcast/a574-joe/&quot;],&quot;title&quot;:[0,&quot;Top 8 Automation Testing Trends for 2026 with Joe Colantonio&quot;],&quot;excerpt&quot;:[0,&quot;&lt;p&gt;About This Episode: AI testing is everywhere — but clarity isn’t. In this episode, Joe Colantonio breaks down the real [&amp;hellip;]&lt;/p&gt;\n&quot;],&quot;content&quot;:[0,&quot;&lt;h2&gt;About This Episode:&lt;/h2&gt;\n&lt;p&gt;AI testing is everywhere — but clarity isn’t.&lt;/p&gt;\n&lt;p&gt;In this episode, Joe Colantonio breaks down the real test automation trends for 2026, based on data from 40,000+ testers, 510 live Q&amp;amp;A questions, and 50+ interviews with industry leaders. This isn’t vendor hype or futuristic speculation. It’s what working testers are actually worried about — and what they’re doing next.&lt;/p&gt;\n&lt;p&gt;You’ll learn:&lt;/p&gt;\n&lt;p&gt;Why 72.8% of testers prioritize AI, yet don’t trust it alone&lt;/p&gt;\n&lt;p&gt;The real reason AI testing feels harder instead of easier&lt;/p&gt;\n&lt;p&gt;How integration chaos is blocking automation success&lt;/p&gt;\n&lt;p&gt;Why “AI auditor” and “quality strategist” are emerging career paths&lt;/p&gt;\n&lt;p&gt;What agentic AI, MCPs, and vibe testing really mean in practice&lt;/p&gt;\n&lt;p&gt;How compliance, accessibility, and security will redefine QA in 2026&lt;/p&gt;\n&lt;p&gt;If you’re a tester, automation engineer, or QA leader trying to stay relevant — this episode gives you the signal through the noise, and a clear path forward.&lt;/p&gt;\n&lt;p&gt;If you’re a software tester, automation engineer, or QA leader looking ahead to 2026, this episode lays out what’s coming — and how to stay connected.&lt;/p&gt;\n&lt;p&gt;Discount code: 100GUILDCOIN (&lt;a href=\&quot;https://testguild.me/podag26\&quot;&gt;https://testguild.me/podag26&lt;/a&gt;)&lt;/p&gt;\n&lt;div&gt;[fusebox_track_player url=&amp;#8221;https://traffic.libsyn.com/testtalks/tga2026AutomationTrendsEp574.mp3&amp;#8243; ]&lt;/div&gt;\n&lt;div&gt;&lt;iframe loading=\&quot;lazy\&quot; title=\&quot;YouTube video player\&quot; src=\&quot;https://www.youtube.com/embed/UjYUrj1zBlo?si=Alut1mlE2eInL6k-\&quot; width=\&quot;560\&quot; height=\&quot;315\&quot; frameborder=\&quot;0\&quot; allowfullscreen=\&quot;allowfullscreen\&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;\n&lt;h2&gt;Exclusive Sponsor&lt;/h2&gt;\n&lt;p&gt;This episode is sponsored by Automation Guild 2026 — the industry’s largest, practitioner-led automation testing conference.&lt;/p&gt;\n&lt;p&gt;Automation Guild 2026 brings together thousands of software testers, automation engineers, and QA leaders for five days of hands-on sessions, real-world AI testing examples, and practical guidance you can apply immediately. No sales pitches. No hype. Just how modern teams are actually testing software in the age of AI.&lt;/p&gt;\n&lt;p&gt;If you want to see what agentic AI, test automation migration paths, accessibility compliance, and AI-assisted testing look like in practice, Automation Guild 2026 is where it happens.&lt;/p&gt;\n&lt;p&gt;Register now and join the global testing community: &lt;a href=\&quot;https://testguild.me/podag26\&quot;&gt;https://testguild.me/podag26&lt;/a&gt;&lt;/p&gt;\n&lt;h2&gt;About Joe Colantonio&lt;/h2&gt;\n&lt;p&gt;&lt;img loading=\&quot;lazy\&quot; decoding=\&quot;async\&quot; class=\&quot;alignnone wp-image-1034771 \&quot; src=\&quot;https://testguild.com/wp-content/uploads/2024/04/Joe-Podcast-Full-Smile-Shot-Square-1200x1200-1-2.jpeg\&quot; alt=\&quot;Joe Colantonio Automation Guild\&quot; width=\&quot;351\&quot; height=\&quot;322\&quot; /&gt;&lt;/p&gt;\n&lt;p&gt;Joe Colantonio has over 25 years of experience in software automation testing and is the founder of Test Guild–a dedicated independent resource for actionable and real-world technical advice from industry experts (blog, video tutorials, podcasts, and online conferences)to help improve your DevOps automation, performance, and security testing efforts. He is the host oft he longest-running podcast on automation testing. He has interviewed over 400 industry leaders and is the creator of Automation Guild, the premium, annual online event for test automation engineers. Joe has also hosted over 500 hours of live online events for some of the biggest companies in the software testing space. Joe&amp;#8217;s company, Test Guild, also provides services to software companies to help them reach a community of highly engaged, growth-oriented, and ambitious audience of 40k+ software testing professionals.&lt;/p&gt;\n&lt;h2&gt;Connect with Joe Colantonio&lt;/h2&gt;\n&lt;ul&gt;\n&lt;li style=\&quot;list-style-type: none;\&quot;&gt;\n&lt;ul&gt;\n&lt;li&gt;Company: &lt;a href=\&quot;https://testguild.com\&quot;&gt;www.testguild.com&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;Blog: &lt;a href=\&quot;https://testguild.com\&quot;&gt;www.testguild.com/blog&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;LinkedIn: &lt;a href=\&quot;https://www.linkedin.com/in/joecolantonio/\&quot;&gt;www.linkedin.com/joecolantonio&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;Twitter: &lt;a href=\&quot;https://twitter.com/joecolantonio\&quot;&gt;www,twitter.com/joecolantonio&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;YouTube:&lt;a href=\&quot;https://www.youtube.com/joecolantonio\&quot;&gt;www.youtube.com/joecolantonio&lt;/a&gt;&lt;/li&gt;\n&lt;/ul&gt;\n&lt;/li&gt;\n&lt;/ul&gt;\n&lt;h2&gt;Rate and Review TestGuild&lt;/h2&gt;\n&lt;p&gt;Thanks again for listening to the show. If it has helped you in any way, shape, or form, please share it using the social media buttons you see on the page. Additionally, &lt;a href=\&quot;https://itunes.apple.com/us/podcast/testtalks-automation-awesomeness/id826722706\&quot;&gt;reviews for the podcast on iTunes &lt;/a&gt;are &lt;b&gt;extremely helpful&lt;/b&gt; and greatly appreciated! They do matter in the rankings of the show and I read each and every one of them.&lt;/p&gt;\n&lt;p&gt;&amp;nbsp;&lt;/p&gt;\n&lt;p&gt;replace all &lt;/p&gt;\n&quot;],&quot;shows&quot;:[0,{&quot;nodes&quot;:[1,[]]}],&quot;featuredImage&quot;:[0,null],&quot;seo&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://app.testguild.com/podcast/a574-joe/&quot;],&quot;cornerstone&quot;:[0,false],&quot;focuskw&quot;:[0,&quot;&quot;],&quot;metaDesc&quot;:[0,&quot;&quot;],&quot;metaKeywords&quot;:[0,&quot;&quot;],&quot;metaRobotsNofollow&quot;:[0,&quot;follow&quot;],&quot;metaRobotsNoindex&quot;:[0,&quot;index&quot;],&quot;opengraphAuthor&quot;:[0,&quot;&quot;],&quot;opengraphDescription&quot;:[0,&quot;About This Episode: AI testing is everywhere — but clarity isn’t. In this episode, Joe Colantonio breaks down the real […]&quot;],&quot;opengraphImage&quot;:[0,null],&quot;opengraphModifiedTime&quot;:[0,&quot;&quot;],&quot;opengraphPublishedTime&quot;:[0,&quot;&quot;],&quot;opengraphPublisher&quot;:[0,&quot;&quot;],&quot;opengraphSiteName&quot;:[0,&quot;Test Guild - Automation Testing Tools Community&quot;],&quot;opengraphTitle&quot;:[0,&quot;Top 8 Automation Testing Trends for 2026 with Joe Colantonio&quot;],&quot;opengraphType&quot;:[0,&quot;article&quot;],&quot;opengraphUrl&quot;:[0,&quot;https://app.testguild.com/podcast/a574-joe/&quot;],&quot;readingTime&quot;:[0,0],&quot;title&quot;:[0,&quot;Top 8 Automation Testing Trends for 2026 with Joe Colantonio • Test Guild - Automation Testing Tools Community&quot;],&quot;twitterDescription&quot;:[0,&quot;&quot;],&quot;twitterTitle&quot;:[0,&quot;&quot;]}],&quot;date&quot;:[0,&quot;2026-01-25T16:10:42&quot;]}],&quot;collection&quot;:[0,&quot;podcast&quot;]}],[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTM0Nw==&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTM0Nw==&quot;],&quot;slug&quot;:[0,&quot;p203-gadi&quot;],&quot;uri&quot;:[0,&quot;/podcast/p203-gadi/&quot;],&quot;title&quot;:[0,&quot;Developer-First DAST: Fix Security Issues Before They Reach Production with Gadi Bashvitz&quot;],&quot;excerpt&quot;:[0,&quot;&lt;p&gt;About This Episode: Dynamic Application Security Testing (DAST) has a reputation problem. It’s noisy, slow, and often ignored by developers [&amp;hellip;]&lt;/p&gt;\n&quot;],&quot;content&quot;:[0,&quot;&lt;h2&gt;About This Episode:&lt;/h2&gt;\n&lt;p&gt;Dynamic Application Security Testing (DAST) has a reputation problem.&lt;br /&gt;\nIt’s noisy, slow, and often ignored by developers — especially in fast-moving CI/CD pipelines.&lt;/p&gt;\n&lt;p&gt;In this episode of the TestGuild Podcast, we explore developer-focused DAST and why traditional AppSec tools struggle to gain adoption in modern DevOps teams.&lt;/p&gt;\n&lt;p&gt;You’ll learn:&lt;/p&gt;\n&lt;ul&gt;\n&lt;li&gt;Why most DAST tools fail inside real-world CI/CD workflows&lt;/li&gt;\n&lt;li&gt;What “shift-left security” actually means beyond marketing buzzwords&lt;/li&gt;\n&lt;li&gt;How developer-first DAST reduces false positives and improves signal quality&lt;/li&gt;\n&lt;li&gt;Where AI genuinely helps in security testing — and where it’s mostly hype&lt;/li&gt;\n&lt;li&gt;Practical steps QA, DevOps, and engineering leaders can take to reduce risk this quarter&lt;/li&gt;\n&lt;/ul&gt;\n&lt;p&gt;Our guest,  Gadi Bashvitz, CEO at Bright Security, shares lessons from decades in cybersecurity, including building security tools that developers actually use — without slowing delivery.&lt;/p&gt;\n&lt;p&gt;If you’re responsible for test automation, DevSecOps, or application security, this episode will help you rethink how DAST should work in 2026 and beyond.&lt;/p&gt;\n&lt;div&gt;[fusebox_track_player url=&amp;#8221;https://traffic.libsyn.com/testguildperf/tgdGadDeveloper-FirstDASTFixSecurityIssuesBeforeTheyReachProduction203.mp3&amp;#8243; social_linkedin=&amp;#8221;true&amp;#8221; social_email=&amp;#8221;true&amp;#8221; ]&lt;/div&gt;\n&lt;div&gt;&lt;/div&gt;\n&lt;div&gt;&lt;iframe loading=\&quot;lazy\&quot; title=\&quot;YouTube video player\&quot; src=\&quot;https://www.youtube.com/embed/F9Ap9x_mSr8?si=NBegAQ1md98xS8nn\&quot; width=\&quot;560\&quot; height=\&quot;315\&quot; frameborder=\&quot;0\&quot; allowfullscreen=\&quot;allowfullscreen\&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;\n&lt;h2&gt;About Gadi Bashvitz&lt;/h2&gt;\n&lt;p&gt;&lt;img loading=\&quot;lazy\&quot; decoding=\&quot;async\&quot; class=\&quot;alignnone size-medium wp-image-39349\&quot; src=\&quot;https://app.testguild.com/wp-content/uploads/2026/01/1718241077149-1-300x300.jpeg\&quot; alt=\&quot;\&quot; width=\&quot;300\&quot; height=\&quot;300\&quot; srcset=\&quot;https://app.testguild.com/wp-content/uploads/2026/01/1718241077149-1-300x300.jpeg 300w, https://app.testguild.com/wp-content/uploads/2026/01/1718241077149-1-150x150.jpeg 150w, https://app.testguild.com/wp-content/uploads/2026/01/1718241077149-1-768x768.jpeg 768w, https://app.testguild.com/wp-content/uploads/2026/01/1718241077149-1-600x600.jpeg 600w, https://app.testguild.com/wp-content/uploads/2026/01/1718241077149-1-100x100.jpeg 100w, https://app.testguild.com/wp-content/uploads/2026/01/1718241077149-1.jpeg 800w\&quot; sizes=\&quot;auto, (max-width: 300px) 100vw, 300px\&quot; /&gt;&lt;/p&gt;\n&lt;p&gt;Gadi Bashvitz is the CEO of Bright Security, driving the Developer-focused DAST vision.&lt;br /&gt;\nHe is a highly effective product, sales, and customer success executive with 25+ years of experience holding product, marketing, customer success, and sales positions. Gadi started his Cyber career in the 8200 unit of the Israel Defense Force (IDF). He then joined STS software, leading their product team and driving VoIP encryption and packet collection methods. Following the acquisition of STS, Gadi joined Verint and led their Cyber product and pre-sales organizations. He also moved to the US with Verint in 2003. Since leaving Verint in 2008, he has founded and successfully grown multiple companies in various industries.&lt;/p&gt;\n&lt;p&gt;Gadi has an exceptional ability to distill the essence of complex concepts and communicate them to customers and the team at various speaking events.&lt;/p&gt;\n&lt;p&gt;He holds a BA from Tel Aviv University and an MBA Magna Cum Laude from the NYU Stern School of Business.&lt;/p&gt;\n&lt;h2&gt;Connect with Gadi Bashvitz&lt;/h2&gt;\n&lt;ul&gt;\n&lt;li style=\&quot;list-style-type: none;\&quot;&gt;\n&lt;ul&gt;\n&lt;li&gt;Company: &lt;a href=\&quot;https://brightsec.com/\&quot;&gt;www.brightsec&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;Blog: &lt;a href=\&quot;https://brightsec.com/product/bright-star/\&quot;&gt;www.bright-star&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;LinkedIn: &lt;a href=\&quot;https://www.linkedin.com/in/bashvitz/\&quot;&gt;www.bashvitz&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;YouTube: &lt;a href=\&quot;https://www.youtube.com/@Brightsec\&quot;&gt;www.@Brightsec&lt;/a&gt;&lt;/li&gt;\n&lt;/ul&gt;\n&lt;/li&gt;\n&lt;/ul&gt;\n&lt;h2&gt;Rate and Review TestGuild&lt;/h2&gt;\n&lt;p&gt;Thanks again for listening to the show. If it has helped you in any way, shape, or form, please share it using the social media buttons you see on the page. Additionally, &lt;a href=\&quot;https://itunes.apple.com/us/podcast/testtalks-automation-awesomeness/id826722706\&quot;&gt;reviews for the podcast on iTunes &lt;/a&gt;are &lt;b&gt;extremely helpful&lt;/b&gt; and greatly appreciated! They do matter in the rankings of the show and I read each and every one of them.&lt;/p&gt;\n&lt;div&gt;&lt;/div&gt;\n&lt;div id=\&quot;fbxt-wrap\&quot; &gt;\r\n\t&lt;div id=\&quot;fbxt-wrap--inner\&quot; class=\&quot;fbxt-extra-class\&quot;&gt;\r\n\t\t&lt;div class=\&quot;fbxt-header\&quot;&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-header--logo\&quot;&gt;\r\n\t\t\t\t&lt;svg width=\&quot;24\&quot; height=\&quot;25\&quot; viewBox=\&quot;0 0 24 25\&quot; fill=\&quot;none\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;circle opacity=\&quot;0.05\&quot; cx=\&quot;11.6406\&quot; cy=\&quot;12.3918\&quot; r=\&quot;11.6406\&quot; fill=\&quot;#C60808\&quot;/&gt;\n&lt;path fill-rule=\&quot;evenodd\&quot; clip-rule=\&quot;evenodd\&quot; d=\&quot;M16.6445 10.2899H6.63672V9.04663H16.6445V10.2899Z\&quot;/&gt;\n&lt;path fill-rule=\&quot;evenodd\&quot; clip-rule=\&quot;evenodd\&quot; d=\&quot;M16.6445 13.3421H6.63672V12.0989H16.6445V13.3421Z\&quot;/&gt;\n&lt;path fill-rule=\&quot;evenodd\&quot; clip-rule=\&quot;evenodd\&quot; d=\&quot;M12.7025 16.395H6.63672V15.1518H12.7025V16.395Z\&quot;/&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t&lt;span class=\&quot;fbxt-header-text\&quot;&gt;Transcript&lt;/span&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-header--nav\&quot;&gt;\r\n\t\t\t\t&lt;a\r\n\t\t\t\t\tclass=\&quot;fbxt-header--nav-item fbxt-nav-email\&quot;\r\n\t\t\t\t\thref=\&quot;#\&quot;\r\n\t\t\t\t\tstyle=\&quot;display:none\&quot;\r\n\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;16\&quot; height=\&quot;12\&quot; viewBox=\&quot;0 0 16 12\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M14.5 0H1.5C0.65625 0 0 0.6875 0 1.5V10.5C0 11.3438 0.65625 12 1.5 12H14.5C15.3125 12 16 11.3438 16 10.5V1.5C16 0.6875 15.3125 0 14.5 0ZM14.5 1.5V2.78125C13.7812 3.375 12.6562 4.25 10.2812 6.125C9.75 6.53125 8.71875 7.53125 8 7.5C7.25 7.53125 6.21875 6.53125 5.6875 6.125C3.3125 4.25 2.1875 3.375 1.5 2.78125V1.5H14.5ZM1.5 10.5V4.71875C2.1875 5.28125 3.21875 6.09375 4.75 7.3125C5.4375 7.84375 6.65625 9.03125 8 9C9.3125 9.03125 10.5 7.84375 11.2188 7.3125C12.75 6.09375 13.7812 5.28125 14.5 4.71875V10.5H1.5Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;Email&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t\t&lt;a\r\n\t\t\t\t\tclass=\&quot;fbxt-header--nav-item fbxt-nav-download\&quot;\r\n\t\t\t\t\thref=\&quot;#\&quot;\r\n\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;18\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 18 16\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M16.5 9H13.5938L15.0625 7.5625C16 6.625 15.3125 5 14 5H12V1.5C12 0.6875 11.3125 0 10.5 0H7.5C6.65625 0 6 0.6875 6 1.5V5H4C2.65625 5 1.96875 6.625 2.9375 7.5625L4.375 9H1.5C0.65625 9 0 9.6875 0 10.5V14.5C0 15.3438 0.65625 16 1.5 16H16.5C17.3125 16 18 15.3438 18 14.5V10.5C18 9.6875 17.3125 9 16.5 9ZM4 6.5H7.5V1.5H10.5V6.5H14L9 11.5L4 6.5ZM16.5 14.5H1.5V10.5H5.875L7.9375 12.5625C8.5 13.1562 9.46875 13.1562 10.0312 12.5625L12.0938 10.5H16.5V14.5ZM13.75 12.5C13.75 12.9375 14.0625 13.25 14.5 13.25C14.9062 13.25 15.25 12.9375 15.25 12.5C15.25 12.0938 14.9062 11.75 14.5 11.75C14.0625 11.75 13.75 12.0938 13.75 12.5Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;Download&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t\t&lt;a\r\n\t\t\t\t\tclass=\&quot;fbxt-header--nav-item fbxt-nav-new_tab\&quot;\r\n\t\t\t\t\thref=\&quot;#\&quot;\r\n\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 14 14\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M12.5 0H1.5C0.65625 0 0 0.6875 0 1.5V12.5C0 13.3438 0.65625 14 1.5 14H12.5C13.3125 14 14 13.3438 14 12.5V1.5C14 0.6875 13.3125 0 12.5 0ZM12.3125 12.5H1.6875C1.5625 12.5 1.5 12.4375 1.5 12.3125V1.6875C1.5 1.59375 1.5625 1.5 1.6875 1.5H12.3125C12.4062 1.5 12.5 1.59375 12.5 1.6875V12.3125C12.5 12.4375 12.4062 12.5 12.3125 12.5ZM10.625 3L6.375 3.03125C6.15625 3.03125 6 3.1875 6 3.40625V4.25C6 4.46875 6.15625 4.65625 6.375 4.625L8.1875 4.5625L3.09375 9.65625C2.9375 9.8125 2.9375 10.0312 3.09375 10.1875L3.8125 10.9062C3.96875 11.0625 4.1875 11.0625 4.34375 10.9062L9.4375 5.8125L9.375 7.625C9.34375 7.84375 9.53125 8 9.75 8H10.5938C10.8125 8 10.9688 7.84375 10.9688 7.625L11 3.375C11 3.1875 10.8125 3 10.625 3Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;New Tab&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t&lt;/div&gt;\r\n\r\n\t\t&lt;div class=\&quot;fbxt-content\&quot;&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-content--inner\&quot;&gt;\r\n\t\t\t\t\r\n\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-content--footer\&quot;&gt;\r\n\t\t\t\t&lt;a href=\&quot;#\&quot;&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;9\&quot; height=\&quot;11\&quot; viewBox=\&quot;0 0 9 11\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M0.5625 0.25C0.234375 0.25 0 0.507812 0 0.8125V1.375C0 1.70312 0.234375 1.9375 0.5625 1.9375H8.4375C8.74219 1.9375 9 1.70312 9 1.375V0.8125C9 0.507812 8.74219 0.25 8.4375 0.25H0.5625ZM2.10938 6.83594L3.65625 5.28906V10.1875C3.65625 10.5156 3.89062 10.75 4.21875 10.75H4.78125C5.08594 10.75 5.34375 10.5156 5.34375 10.1875V5.28906L6.86719 6.83594C7.10156 7.04688 7.45312 7.04688 7.66406 6.83594L8.0625 6.4375C8.27344 6.22656 8.27344 5.85156 8.0625 5.64062L4.89844 2.47656C4.66406 2.24219 4.3125 2.24219 4.10156 2.47656L0.914062 5.64062C0.703125 5.85156 0.703125 6.22656 0.914062 6.4375L1.3125 6.83594C1.52344 7.04688 1.89844 7.04688 2.10938 6.83594Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;Scroll back to top&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-modal fbxt-email-signup\&quot;&gt;\r\n\t\t\t\t&lt;h4&gt;\r\n\t\t\t\t\tSign up to receive email updates\r\n\t\t\t\t&lt;/h4&gt;\r\n\t\t\t\t&lt;p&gt;\r\n\t\t\t\t\tEnter your name and email address below and I&#39;ll send you periodic updates about the podcast.\r\n\t\t\t\t&lt;/p&gt;\r\n\t\t\t\t&lt;div class=\&quot;fbxt-email-response-text\&quot;&gt;&lt;/div&gt;\r\n\t\t\t\t&lt;form class=\&quot;fbxt-signup-form\&quot;&gt;\r\n\t\t\t\t\t&lt;div class=\&quot;fbxt-name-fields\&quot; style=\&quot;display:none\&quot;&gt;\r\n\t\t\t\t\t\t&lt;input\r\n\t\t\t\t\t\t\ttype=\&quot;text\&quot;\r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-first-name-input\&quot;\r\n\t\t\t\t\t\t\tplaceholder=\&quot;First Name\&quot;\r\n\t\t\t\t\t\t\tstyle=\&quot;display:none\&quot;\r\n\t\t\t\t\t\t&gt;\r\n\t\t\t\t\t\t&lt;input\r\n\t\t\t\t\t\t\ttype=\&quot;text\&quot;\r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-last-name-input\&quot;\r\n\t\t\t\t\t\t\tplaceholder=\&quot;Last Name\&quot;\r\n\t\t\t\t\t\t\tstyle=\&quot;display:none\&quot;\r\n\t\t\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t&lt;div class=\&quot;fbxt-signup-fields\&quot;&gt;\r\n\t\t\t\t\t\t&lt;input\r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-email-input\&quot;\r\n\t\t\t\t\t\t\ttype=\&quot;email\&quot;\r\n\t\t\t\t\t\t\tplaceholder=\&quot;Your Email Address\&quot;\r\n\t\t\t\t\t\t/&gt;\r\n\t\t\t\t\t\t&lt;input \r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-email-action-button\&quot;\r\n\t\t\t\t\t\t\ttype=\&quot;button\&quot;\r\n\t\t\t\t\t\t\tvalue=\&quot;Subscribe\&quot;\r\n\t\t\t\t\t\t/&gt;\r\n\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t&lt;/form&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t&lt;/div&gt;\r\n\t&lt;/div&gt;\r\n\t&lt;div class=\&quot;fbxt-credits\&quot; style=\&quot;display: none\&quot;&gt;\r\n\t\t&lt;span&gt;powered by&lt;/span&gt;\r\n\t\t&lt;a href=\&quot;https://fusebox.fm\&quot;&gt;\r\n\t\t\t&lt;svg width=\&quot;76\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 76 16\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M23.0886 7.93007H24.517V13.5888H26.3406V7.93007H28.1033V6.26029H26.3406V4.55959C26.3406 3.6474 26.9332 3.4464 27.2827 3.4464C27.7386 3.4464 28.0121 3.66286 28.0121 3.66286L28.6959 2.10131C28.6959 2.10131 28.1033 1.71478 27.1004 1.71478C25.9303 1.71478 24.517 2.42598 24.517 4.46682V6.26029H23.0886V7.93007Z\&quot; /&gt;\n&lt;path d=\&quot;M31.8294 13.7743C33.3034 13.7743 33.9872 12.522 33.9872 12.522V13.5888H35.6892V6.26029H33.8657V11.1459C33.8657 11.1459 33.3794 12.0427 32.4373 12.0427C31.5103 12.0427 31.0088 11.5788 31.0088 10.4966V6.26029H29.1853V11.0068C29.1853 12.7693 30.4466 13.7743 31.8294 13.7743Z\&quot; /&gt;\n&lt;path d=\&quot;M36.8435 12.4447C36.8435 12.4447 37.9832 13.7743 40.0954 13.7743C41.9342 13.7743 43.241 12.7693 43.241 11.517C43.241 10.0018 42.2229 9.52254 40.7945 9.21332C39.5788 8.95049 39.0925 8.84226 39.0925 8.3939C39.0925 7.94553 39.7156 7.69815 40.3994 7.69815C41.3719 7.69815 42.1925 8.33205 42.1925 8.33205L43.1043 6.97149C43.1043 6.97149 42.0253 6.07476 40.3994 6.07476C38.4239 6.07476 37.2994 7.21887 37.2994 8.36297C37.2994 9.75446 38.5455 10.3729 39.9739 10.6821C41.068 10.914 41.4023 11.0068 41.4023 11.4861C41.4023 11.9344 40.7793 12.1509 40.0347 12.1509C38.819 12.1509 37.8616 11.0996 37.8616 11.0996L36.8435 12.4447Z\&quot; /&gt;\n&lt;path d=\&quot;M47.5644 6.07476C45.4826 6.07476 43.9478 7.77546 43.9478 9.92453C43.9478 12.0736 45.6345 13.7743 47.8227 13.7743C49.5703 13.7743 50.71 12.7229 50.71 12.7229L49.7982 11.3315C49.7982 11.3315 49.084 12.0736 47.8227 12.0736C46.683 12.0736 45.9384 11.2387 45.8017 10.5893H51.181C51.1962 10.311 51.1962 10.0328 51.1962 9.8936C51.1962 7.63631 49.5399 6.07476 47.5644 6.07476ZM45.8017 9.24425C45.8625 8.59489 46.3943 7.76 47.5644 7.76C48.7649 7.76 49.3423 8.61035 49.3727 9.24425H45.8017Z\&quot; /&gt;\n&lt;path d=\&quot;M52.5383 13.5888H54.225V12.6302C54.225 12.6302 54.8481 13.7743 56.398 13.7743C58.2671 13.7743 59.9083 12.1818 59.9083 9.92453C59.9083 7.66723 58.2671 6.07476 56.398 6.07476C55.0304 6.07476 54.3618 7.03334 54.3618 7.03334V1.90031H52.5383V13.5888ZM54.3618 8.8268C54.3618 8.8268 54.8784 7.80638 56.0789 7.80638C57.3098 7.80638 58.0544 8.71857 58.0544 9.92453C58.0544 11.1305 57.3098 12.0427 56.0789 12.0427C54.8784 12.0427 54.3618 11.0223 54.3618 11.0223V8.8268Z\&quot; /&gt;\n&lt;path d=\&quot;M64.3915 6.07476C62.2489 6.07476 60.5469 7.76 60.5469 9.92453C60.5469 12.0736 62.2489 13.7743 64.3915 13.7743C66.5341 13.7743 68.2361 12.0736 68.2361 9.92453C68.2361 7.76 66.5341 6.07476 64.3915 6.07476ZM64.3915 12.0427C63.1606 12.0427 62.4008 11.0686 62.4008 9.92453C62.4008 8.78042 63.1606 7.80638 64.3915 7.80638C65.6224 7.80638 66.3822 8.78042 66.3822 9.92453C66.3822 11.0686 65.6224 12.0427 64.3915 12.0427Z\&quot; /&gt;\n&lt;path d=\&quot;M71.1828 9.80084L68.5083 13.5888H70.575L72.2009 11.0841L73.8269 13.5888H75.9999L73.3406 9.80084L75.848 6.26029H73.7661L72.3225 8.51758L70.8485 6.26029H68.7059L71.1828 9.80084Z\&quot; /&gt;\n&lt;path d=\&quot;M3.34457 0.583843C4.10968 1.3623 4.10968 2.62442 3.34457 3.40288C3.2166 3.53308 3.07534 3.6415 2.92523 3.72814V13.035L8.90051 13.035V8.33442L4.95452 12.3492V0.990621H14.7632V12.2656C14.9174 12.3532 15.0624 12.4638 15.1935 12.5971C15.9586 13.3756 15.9586 14.6377 15.1935 15.4162C14.4284 16.1946 13.1879 16.1946 12.4227 15.4162C11.6576 14.6377 11.6576 13.3756 12.4227 12.5971C12.552 12.4657 12.6947 12.3564 12.8465 12.2693V2.94071H6.87119V7.64125L10.8172 3.62648L10.8172 14.9851L1.00855 14.985V3.73693C0.852708 3.64886 0.706164 3.53751 0.573838 3.40288C-0.191279 2.62442 -0.191279 1.3623 0.573838 0.583843C1.33895 -0.194614 2.57945 -0.194614 3.34457 0.583843Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t&lt;/a&gt;\r\n\t&lt;/div&gt;\r\n&lt;/div&gt;\n&quot;],&quot;shows&quot;:[0,{&quot;nodes&quot;:[1,[[0,{&quot;id&quot;:[0,&quot;dGVybToyMTQ=&quot;],&quot;name&quot;:[0,&quot;DevOps Toolchain&quot;],&quot;slug&quot;:[0,&quot;performance&quot;]}]]]}],&quot;featuredImage&quot;:[0,{&quot;node&quot;:[0,{&quot;sourceUrl&quot;:[0,&quot;https://app.testguild.com/wp-content/uploads/2026/01/Gadi-Bashvitz-Featured-Image-1024x640.png&quot;]}]}],&quot;seo&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://app.testguild.com/podcast/p203-gadi/&quot;],&quot;cornerstone&quot;:[0,false],&quot;focuskw&quot;:[0,&quot;&quot;],&quot;metaDesc&quot;:[0,&quot;&quot;],&quot;metaKeywords&quot;:[0,&quot;&quot;],&quot;metaRobotsNofollow&quot;:[0,&quot;follow&quot;],&quot;metaRobotsNoindex&quot;:[0,&quot;index&quot;],&quot;opengraphAuthor&quot;:[0,&quot;&quot;],&quot;opengraphDescription&quot;:[0,&quot;About This Episode: Dynamic Application Security Testing (DAST) has a reputation problem. It’s noisy, slow, and often ignored by developers […]&quot;],&quot;opengraphImage&quot;:[0,{&quot;sourceUrl&quot;:[0,&quot;https://app.testguild.com/wp-content/uploads/2026/01/Gadi-Bashvitz-Featured-Image.png&quot;]}],&quot;opengraphModifiedTime&quot;:[0,&quot;2026-01-22T14:59:58+00:00&quot;],&quot;opengraphPublishedTime&quot;:[0,&quot;&quot;],&quot;opengraphPublisher&quot;:[0,&quot;&quot;],&quot;opengraphSiteName&quot;:[0,&quot;Test Guild - Automation Testing Tools Community&quot;],&quot;opengraphTitle&quot;:[0,&quot;Developer-First DAST: Fix Security Issues Before They Reach Production with Gadi Bashvitz&quot;],&quot;opengraphType&quot;:[0,&quot;article&quot;],&quot;opengraphUrl&quot;:[0,&quot;https://app.testguild.com/podcast/p203-gadi/&quot;],&quot;readingTime&quot;:[0,3],&quot;title&quot;:[0,&quot;Developer-First DAST: Fix Security Issues Before They Reach Production with Gadi Bashvitz • Test Guild - Automation Testing Tools Community&quot;],&quot;twitterDescription&quot;:[0,&quot;&quot;],&quot;twitterTitle&quot;:[0,&quot;&quot;]}],&quot;date&quot;:[0,&quot;2026-01-22T11:00:40&quot;]}],&quot;collection&quot;:[0,&quot;podcast&quot;]}],[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTE5OA==&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTE5OA==&quot;],&quot;slug&quot;:[0,&quot;n179-jan19&quot;],&quot;uri&quot;:[0,&quot;/podcast/n179-jan19/&quot;],&quot;title&quot;:[0,&quot;Testing Pyramid for AI Agents, Playwright Vibe Testing and More TGNS179&quot;],&quot;excerpt&quot;:[0,&quot;&lt;p&gt;About This Episode: What if Playwright tests could be created, not coded — and what if that tool just removed [&amp;hellip;]&lt;/p&gt;\n&quot;],&quot;content&quot;:[0,&quot;&lt;h2&gt;About This Episode:&lt;/h2&gt;\n&lt;p&gt;What if Playwright tests could be created, not coded — and what if that tool just removed the paywall to prove it?&lt;/p&gt;\n&lt;p&gt;Are you testing AI agents all wrong?&lt;/p&gt;\n&lt;p&gt;Could a Chrome extension replace your entire Playwright setup?&lt;/p&gt;\n&lt;p&gt;Find out in this episode of the Test Guild New Shows for the week of Jan 18.&lt;/p&gt;\n&lt;p&gt;So, grab your favorite cup of coffee or tea, and let&amp;#8217;s do this.&lt;/p&gt;\n&lt;p&gt;[fusebox_track_player url=&amp;#8221;https://traffic.libsyn.com/testguildnews/tgnJuly19Ep179.mp3&amp;#8243; social_linkedin=&amp;#8221;true&amp;#8221; social_email=&amp;#8221;true&amp;#8221; ]&lt;/p&gt;\n&lt;p&gt;&lt;iframe loading=\&quot;lazy\&quot; title=\&quot;YouTube video player\&quot; src=\&quot;https://www.youtube.com/embed/30T457lT5uI?si=eMF_YCeBmxdA3sJj\&quot; width=\&quot;560\&quot; height=\&quot;315\&quot; frameborder=\&quot;0\&quot; allowfullscreen=\&quot;allowfullscreen\&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;\n&lt;h2&gt;Links to News Mentioned in this Episode&lt;/h2&gt;\n&lt;table width=\&quot;436\&quot;&gt;\n&lt;tbody&gt;\n&lt;tr&gt;\n&lt;td width=\&quot;36\&quot;&gt;0:20&lt;/td&gt;\n&lt;td width=\&quot;192\&quot;&gt;Free BlinqIO&lt;/td&gt;\n&lt;td width=\&quot;208\&quot;&gt;&lt;a href=\&quot;https://testguild.me/blinqfree\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;https://testguild.me/blinqfree&lt;/a&gt;&lt;/td&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n&lt;td&gt;1:50&lt;/td&gt;\n&lt;td&gt;Testing Pyramid for AI Agents&lt;/td&gt;\n&lt;td&gt;&lt;a href=\&quot;https://testguild.me/2ml5ol\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;https://testguild.me/2ml5ol&lt;/a&gt;&lt;/td&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n&lt;td&gt;3:36&lt;/td&gt;\n&lt;td&gt;Playwriter&lt;/td&gt;\n&lt;td&gt;&lt;a href=\&quot;https://testgld.link/WcZxRgH5\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;https://testgld.link/WcZxRgH5&lt;/a&gt;&lt;/td&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n&lt;td&gt;4:37&lt;/td&gt;\n&lt;td&gt;TestBlocks&lt;/td&gt;\n&lt;td&gt;&lt;a href=\&quot;https://testgld.link/weP0jgWr\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;https://testgld.link/weP0jgWr&lt;/a&gt;&lt;/td&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n&lt;td&gt;5:12&lt;/td&gt;\n&lt;td&gt;Webinar of the Week&lt;/td&gt;\n&lt;td&gt;&lt;a href=\&quot;https://testgld.link/DvLMRA1H\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;https://testgld.link/DvLMRA1H&lt;/a&gt;&lt;/td&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n&lt;td&gt;6:13&lt;/td&gt;\n&lt;td&gt;Cowork: Claude Code&lt;/td&gt;\n&lt;td&gt;&lt;a href=\&quot;https://testgld.link/E0UaWmzS\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;https://testgld.link/E0UaWmzS&lt;/a&gt;&lt;/td&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n&lt;td&gt;7:30&lt;/td&gt;\n&lt;td&gt;BlazeMeter MCP&lt;/td&gt;\n&lt;td&gt;&lt;a href=\&quot;https://testgld.link/3jHztehn\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;https://testgld.link/3jHztehn&lt;/a&gt;&lt;/td&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n&lt;td&gt;8:32&lt;/td&gt;\n&lt;td&gt;performance and resilience&lt;/td&gt;\n&lt;td&gt;&lt;a href=\&quot;https://testgld.link/LYRJeP1T\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;https://testgld.link/LYRJeP1T&lt;/a&gt;&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/tbody&gt;\n&lt;/table&gt;\n&lt;h2&gt;&lt;/h2&gt;\n&lt;p&gt;&amp;nbsp;&lt;/p&gt;\n&quot;],&quot;shows&quot;:[0,{&quot;nodes&quot;:[1,[[0,{&quot;id&quot;:[0,&quot;dGVybToyMTc=&quot;],&quot;name&quot;:[0,&quot;TestGuild News Show&quot;],&quot;slug&quot;:[0,&quot;news&quot;]}]]]}],&quot;featuredImage&quot;:[0,{&quot;node&quot;:[0,{&quot;sourceUrl&quot;:[0,&quot;https://app.testguild.com/wp-content/uploads/2025/10/Test-Guild-News-Show-Automation-DevOps-1200x0-c-default-1024x640.png&quot;]}]}],&quot;seo&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://app.testguild.com/podcast/n179-jan19/&quot;],&quot;cornerstone&quot;:[0,false],&quot;focuskw&quot;:[0,&quot;&quot;],&quot;metaDesc&quot;:[0,&quot;&quot;],&quot;metaKeywords&quot;:[0,&quot;&quot;],&quot;metaRobotsNofollow&quot;:[0,&quot;follow&quot;],&quot;metaRobotsNoindex&quot;:[0,&quot;index&quot;],&quot;opengraphAuthor&quot;:[0,&quot;&quot;],&quot;opengraphDescription&quot;:[0,&quot;About This Episode: What if Playwright tests could be created, not coded — and what if that tool just removed […]&quot;],&quot;opengraphImage&quot;:[0,{&quot;sourceUrl&quot;:[0,&quot;https://app.testguild.com/wp-content/uploads/2025/10/Test-Guild-News-Show-Automation-DevOps-1200x0-c-default.png&quot;]}],&quot;opengraphModifiedTime&quot;:[0,&quot;&quot;],&quot;opengraphPublishedTime&quot;:[0,&quot;&quot;],&quot;opengraphPublisher&quot;:[0,&quot;&quot;],&quot;opengraphSiteName&quot;:[0,&quot;Test Guild - Automation Testing Tools Community&quot;],&quot;opengraphTitle&quot;:[0,&quot;Testing Pyramid for AI Agents, Playwright Vibe Testing and More TGNS179&quot;],&quot;opengraphType&quot;:[0,&quot;article&quot;],&quot;opengraphUrl&quot;:[0,&quot;https://app.testguild.com/podcast/n179-jan19/&quot;],&quot;readingTime&quot;:[0,1],&quot;title&quot;:[0,&quot;Testing Pyramid for AI Agents, Playwright Vibe Testing and More TGNS179 • Test Guild - Automation Testing Tools Community&quot;],&quot;twitterDescription&quot;:[0,&quot;&quot;],&quot;twitterTitle&quot;:[0,&quot;&quot;]}],&quot;date&quot;:[0,&quot;2026-01-19T20:38:17&quot;]}],&quot;collection&quot;:[0,&quot;podcast&quot;]}],[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTA2OA==&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;cG9zdDozOTA2OA==&quot;],&quot;slug&quot;:[0,&quot;a575-lars&quot;],&quot;uri&quot;:[0,&quot;/podcast/a575-lars/&quot;],&quot;title&quot;:[0,&quot;Locust Performance Testing with AI and Observability with Lars Holmberg&quot;],&quot;excerpt&quot;:[0,&quot;&lt;p&gt;About This Episode: Performance testing often fails for one simple reason: teams can’t see where the slowdown actually happens. In [&amp;hellip;]&lt;/p&gt;\n&quot;],&quot;content&quot;:[0,&quot;&lt;h2&gt;About This Episode:&lt;/h2&gt;\n&lt;p&gt;Performance testing often fails for one simple reason: teams can’t see where the slowdown actually happens.&lt;/p&gt;\n&lt;p&gt;In this episode, we explore Locust load testing and why Python-based performance testing is becoming the go-to choice for modern DevOps, QA, and SRE teams. You’ll learn how Locust enables highly realistic user behavior, massive concurrency, and distributed load testing — without the overhead of traditional enterprise tools.&lt;/p&gt;\n&lt;p&gt;We also dive into:&lt;/p&gt;\n&lt;p&gt;Why Python works so well for AI-assisted load testing&lt;/p&gt;\n&lt;ul&gt;\n&lt;li&gt;How Locust fits naturally into CI/CD and GitHub Actions&lt;/li&gt;\n&lt;li&gt;The real difference between load testing vs performance testing&lt;/li&gt;\n&lt;li&gt;How observability and end-to-end tracing eliminate guesswork&lt;/li&gt;\n&lt;li&gt;Common performance testing mistakes even experienced teams make&lt;/li&gt;\n&lt;/ul&gt;\n&lt;p&gt;Whether you’re a software tester, automation engineer, or QA leader looking to shift-left performance testing, this conversation will help you design smarter tests and catch scalability issues before your users do.&lt;/p&gt;\n&lt;div&gt;[fusebox_track_player url=&amp;#8221;https://traffic.libsyn.com/testtalks/tgaLarsLocustPerformanceTestingwithAIandObservability575.mp3&amp;#8243; social_linkedin=&amp;#8221;true&amp;#8221; social_email=&amp;#8221;true&amp;#8221; ]&lt;/div&gt;\n&lt;div&gt;&lt;/div&gt;\n&lt;h2&gt;&lt;iframe loading=\&quot;lazy\&quot; title=\&quot;YouTube video player\&quot; src=\&quot;https://www.youtube.com/embed/0F-z8HBxPC4?si=_iTOnAyXfNRx6hCM\&quot; width=\&quot;560\&quot; height=\&quot;315\&quot; frameborder=\&quot;0\&quot; allowfullscreen=\&quot;allowfullscreen\&quot;&gt;&lt;/iframe&gt;&lt;/h2&gt;\n&lt;h2&gt;About Lars Holmberg&lt;/h2&gt;\n&lt;p&gt;&lt;img loading=\&quot;lazy\&quot; decoding=\&quot;async\&quot; class=\&quot;alignnone size-medium wp-image-39069\&quot; src=\&quot;https://app.testguild.com/wp-content/uploads/2026/01/Lars-Holmberg-300x300.jpeg\&quot; alt=\&quot;\&quot; width=\&quot;300\&quot; height=\&quot;300\&quot; srcset=\&quot;https://app.testguild.com/wp-content/uploads/2026/01/Lars-Holmberg-300x300.jpeg 300w, https://app.testguild.com/wp-content/uploads/2026/01/Lars-Holmberg-150x150.jpeg 150w, https://app.testguild.com/wp-content/uploads/2026/01/Lars-Holmberg-768x768.jpeg 768w, https://app.testguild.com/wp-content/uploads/2026/01/Lars-Holmberg-600x600.jpeg 600w, https://app.testguild.com/wp-content/uploads/2026/01/Lars-Holmberg-100x100.jpeg 100w, https://app.testguild.com/wp-content/uploads/2026/01/Lars-Holmberg.jpeg 800w\&quot; sizes=\&quot;auto, (max-width: 300px) 100vw, 300px\&quot; /&gt;&lt;/p&gt;\n&lt;p&gt;Load and performance test specialist. Python developer.&lt;/p&gt;\n&lt;p&gt;CTO and 3x startup founder.&lt;/p&gt;\n&lt;p&gt;Maintainer of the Locust open source load testing tool.&lt;/p&gt;\n&lt;h2&gt;Connect with Lars Holmberg&lt;/h2&gt;\n&lt;ul&gt;\n&lt;li style=\&quot;list-style-type: none;\&quot;&gt;\n&lt;ul&gt;\n&lt;li&gt;Company: &lt;a href=\&quot;https://www.locust.cloud/\&quot;&gt;locust.cloud&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;Blog: &lt;a href=\&quot;https://www.locust.cloud/blog/\&quot;&gt;locust.cloud/blog&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;LinkedIn: &lt;a href=\&quot;https://www.linkedin.com/in/redshirt/\&quot;&gt;redshirt&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;Twitter: &lt;a href=\&quot;https://x.com/locustio\&quot;&gt;locustio&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;YouTube: &lt;a href=\&quot;https://www.youtube.com/@getlocust\&quot;&gt;@getlocust&lt;/a&gt;&lt;/li&gt;\n&lt;/ul&gt;\n&lt;/li&gt;\n&lt;/ul&gt;\n&lt;h2&gt;Rate and Review TestGuild&lt;/h2&gt;\n&lt;p&gt;Thanks again for listening to the show. If it has helped you in any way, shape, or form, please share it using the social media buttons you see on the page. Additionally, &lt;a href=\&quot;https://itunes.apple.com/us/podcast/testtalks-automation-awesomeness/id826722706\&quot;&gt;reviews for the podcast on iTunes &lt;/a&gt;are &lt;b&gt;extremely helpful&lt;/b&gt; and greatly appreciated! They do matter in the rankings of the show and I read each and every one of them.&lt;/p&gt;\n&lt;div id=\&quot;fbxt-wrap\&quot; &gt;\r\n\t&lt;div id=\&quot;fbxt-wrap--inner\&quot; class=\&quot;fbxt-extra-class\&quot;&gt;\r\n\t\t&lt;div class=\&quot;fbxt-header\&quot;&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-header--logo\&quot;&gt;\r\n\t\t\t\t&lt;svg width=\&quot;24\&quot; height=\&quot;25\&quot; viewBox=\&quot;0 0 24 25\&quot; fill=\&quot;none\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;circle opacity=\&quot;0.05\&quot; cx=\&quot;11.6406\&quot; cy=\&quot;12.3918\&quot; r=\&quot;11.6406\&quot; fill=\&quot;#C60808\&quot;/&gt;\n&lt;path fill-rule=\&quot;evenodd\&quot; clip-rule=\&quot;evenodd\&quot; d=\&quot;M16.6445 10.2899H6.63672V9.04663H16.6445V10.2899Z\&quot;/&gt;\n&lt;path fill-rule=\&quot;evenodd\&quot; clip-rule=\&quot;evenodd\&quot; d=\&quot;M16.6445 13.3421H6.63672V12.0989H16.6445V13.3421Z\&quot;/&gt;\n&lt;path fill-rule=\&quot;evenodd\&quot; clip-rule=\&quot;evenodd\&quot; d=\&quot;M12.7025 16.395H6.63672V15.1518H12.7025V16.395Z\&quot;/&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t&lt;span class=\&quot;fbxt-header-text\&quot;&gt;Transcript&lt;/span&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-header--nav\&quot;&gt;\r\n\t\t\t\t&lt;a\r\n\t\t\t\t\tclass=\&quot;fbxt-header--nav-item fbxt-nav-email\&quot;\r\n\t\t\t\t\thref=\&quot;#\&quot;\r\n\t\t\t\t\tstyle=\&quot;display:none\&quot;\r\n\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;16\&quot; height=\&quot;12\&quot; viewBox=\&quot;0 0 16 12\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M14.5 0H1.5C0.65625 0 0 0.6875 0 1.5V10.5C0 11.3438 0.65625 12 1.5 12H14.5C15.3125 12 16 11.3438 16 10.5V1.5C16 0.6875 15.3125 0 14.5 0ZM14.5 1.5V2.78125C13.7812 3.375 12.6562 4.25 10.2812 6.125C9.75 6.53125 8.71875 7.53125 8 7.5C7.25 7.53125 6.21875 6.53125 5.6875 6.125C3.3125 4.25 2.1875 3.375 1.5 2.78125V1.5H14.5ZM1.5 10.5V4.71875C2.1875 5.28125 3.21875 6.09375 4.75 7.3125C5.4375 7.84375 6.65625 9.03125 8 9C9.3125 9.03125 10.5 7.84375 11.2188 7.3125C12.75 6.09375 13.7812 5.28125 14.5 4.71875V10.5H1.5Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;Email&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t\t&lt;a\r\n\t\t\t\t\tclass=\&quot;fbxt-header--nav-item fbxt-nav-download\&quot;\r\n\t\t\t\t\thref=\&quot;#\&quot;\r\n\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;18\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 18 16\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M16.5 9H13.5938L15.0625 7.5625C16 6.625 15.3125 5 14 5H12V1.5C12 0.6875 11.3125 0 10.5 0H7.5C6.65625 0 6 0.6875 6 1.5V5H4C2.65625 5 1.96875 6.625 2.9375 7.5625L4.375 9H1.5C0.65625 9 0 9.6875 0 10.5V14.5C0 15.3438 0.65625 16 1.5 16H16.5C17.3125 16 18 15.3438 18 14.5V10.5C18 9.6875 17.3125 9 16.5 9ZM4 6.5H7.5V1.5H10.5V6.5H14L9 11.5L4 6.5ZM16.5 14.5H1.5V10.5H5.875L7.9375 12.5625C8.5 13.1562 9.46875 13.1562 10.0312 12.5625L12.0938 10.5H16.5V14.5ZM13.75 12.5C13.75 12.9375 14.0625 13.25 14.5 13.25C14.9062 13.25 15.25 12.9375 15.25 12.5C15.25 12.0938 14.9062 11.75 14.5 11.75C14.0625 11.75 13.75 12.0938 13.75 12.5Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;Download&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t\t&lt;a\r\n\t\t\t\t\tclass=\&quot;fbxt-header--nav-item fbxt-nav-new_tab\&quot;\r\n\t\t\t\t\thref=\&quot;#\&quot;\r\n\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;14\&quot; height=\&quot;14\&quot; viewBox=\&quot;0 0 14 14\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M12.5 0H1.5C0.65625 0 0 0.6875 0 1.5V12.5C0 13.3438 0.65625 14 1.5 14H12.5C13.3125 14 14 13.3438 14 12.5V1.5C14 0.6875 13.3125 0 12.5 0ZM12.3125 12.5H1.6875C1.5625 12.5 1.5 12.4375 1.5 12.3125V1.6875C1.5 1.59375 1.5625 1.5 1.6875 1.5H12.3125C12.4062 1.5 12.5 1.59375 12.5 1.6875V12.3125C12.5 12.4375 12.4062 12.5 12.3125 12.5ZM10.625 3L6.375 3.03125C6.15625 3.03125 6 3.1875 6 3.40625V4.25C6 4.46875 6.15625 4.65625 6.375 4.625L8.1875 4.5625L3.09375 9.65625C2.9375 9.8125 2.9375 10.0312 3.09375 10.1875L3.8125 10.9062C3.96875 11.0625 4.1875 11.0625 4.34375 10.9062L9.4375 5.8125L9.375 7.625C9.34375 7.84375 9.53125 8 9.75 8H10.5938C10.8125 8 10.9688 7.84375 10.9688 7.625L11 3.375C11 3.1875 10.8125 3 10.625 3Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;New Tab&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t&lt;/div&gt;\r\n\r\n\t\t&lt;div class=\&quot;fbxt-content\&quot;&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-content--inner\&quot;&gt;\r\n\t\t\t\t\r\n\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-content--footer\&quot;&gt;\r\n\t\t\t\t&lt;a href=\&quot;#\&quot;&gt;\r\n\t\t\t\t\t&lt;svg width=\&quot;9\&quot; height=\&quot;11\&quot; viewBox=\&quot;0 0 9 11\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M0.5625 0.25C0.234375 0.25 0 0.507812 0 0.8125V1.375C0 1.70312 0.234375 1.9375 0.5625 1.9375H8.4375C8.74219 1.9375 9 1.70312 9 1.375V0.8125C9 0.507812 8.74219 0.25 8.4375 0.25H0.5625ZM2.10938 6.83594L3.65625 5.28906V10.1875C3.65625 10.5156 3.89062 10.75 4.21875 10.75H4.78125C5.08594 10.75 5.34375 10.5156 5.34375 10.1875V5.28906L6.86719 6.83594C7.10156 7.04688 7.45312 7.04688 7.66406 6.83594L8.0625 6.4375C8.27344 6.22656 8.27344 5.85156 8.0625 5.64062L4.89844 2.47656C4.66406 2.24219 4.3125 2.24219 4.10156 2.47656L0.914062 5.64062C0.703125 5.85156 0.703125 6.22656 0.914062 6.4375L1.3125 6.83594C1.52344 7.04688 1.89844 7.04688 2.10938 6.83594Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t\t\t\t&lt;span class=\&quot;fbxt-nav-text\&quot;&gt;Scroll back to top&lt;/span&gt;\r\n\t\t\t\t&lt;/a&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class=\&quot;fbxt-modal fbxt-email-signup\&quot;&gt;\r\n\t\t\t\t&lt;h4&gt;\r\n\t\t\t\t\tSign up to receive email updates\r\n\t\t\t\t&lt;/h4&gt;\r\n\t\t\t\t&lt;p&gt;\r\n\t\t\t\t\tEnter your name and email address below and I&#39;ll send you periodic updates about the podcast.\r\n\t\t\t\t&lt;/p&gt;\r\n\t\t\t\t&lt;div class=\&quot;fbxt-email-response-text\&quot;&gt;&lt;/div&gt;\r\n\t\t\t\t&lt;form class=\&quot;fbxt-signup-form\&quot;&gt;\r\n\t\t\t\t\t&lt;div class=\&quot;fbxt-name-fields\&quot; style=\&quot;display:none\&quot;&gt;\r\n\t\t\t\t\t\t&lt;input\r\n\t\t\t\t\t\t\ttype=\&quot;text\&quot;\r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-first-name-input\&quot;\r\n\t\t\t\t\t\t\tplaceholder=\&quot;First Name\&quot;\r\n\t\t\t\t\t\t\tstyle=\&quot;display:none\&quot;\r\n\t\t\t\t\t\t&gt;\r\n\t\t\t\t\t\t&lt;input\r\n\t\t\t\t\t\t\ttype=\&quot;text\&quot;\r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-last-name-input\&quot;\r\n\t\t\t\t\t\t\tplaceholder=\&quot;Last Name\&quot;\r\n\t\t\t\t\t\t\tstyle=\&quot;display:none\&quot;\r\n\t\t\t\t\t\t&gt;\r\n\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t&lt;div class=\&quot;fbxt-signup-fields\&quot;&gt;\r\n\t\t\t\t\t\t&lt;input\r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-email-input\&quot;\r\n\t\t\t\t\t\t\ttype=\&quot;email\&quot;\r\n\t\t\t\t\t\t\tplaceholder=\&quot;Your Email Address\&quot;\r\n\t\t\t\t\t\t/&gt;\r\n\t\t\t\t\t\t&lt;input \r\n\t\t\t\t\t\t\tclass=\&quot;fbxt-email-action-button\&quot;\r\n\t\t\t\t\t\t\ttype=\&quot;button\&quot;\r\n\t\t\t\t\t\t\tvalue=\&quot;Subscribe\&quot;\r\n\t\t\t\t\t\t/&gt;\r\n\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t&lt;/form&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t&lt;/div&gt;\r\n\t&lt;/div&gt;\r\n\t&lt;div class=\&quot;fbxt-credits\&quot; style=\&quot;display: none\&quot;&gt;\r\n\t\t&lt;span&gt;powered by&lt;/span&gt;\r\n\t\t&lt;a href=\&quot;https://fusebox.fm\&quot;&gt;\r\n\t\t\t&lt;svg width=\&quot;76\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 76 16\&quot; xmlns=\&quot;http://www.w3.org/2000/svg\&quot;&gt;\n&lt;path d=\&quot;M23.0886 7.93007H24.517V13.5888H26.3406V7.93007H28.1033V6.26029H26.3406V4.55959C26.3406 3.6474 26.9332 3.4464 27.2827 3.4464C27.7386 3.4464 28.0121 3.66286 28.0121 3.66286L28.6959 2.10131C28.6959 2.10131 28.1033 1.71478 27.1004 1.71478C25.9303 1.71478 24.517 2.42598 24.517 4.46682V6.26029H23.0886V7.93007Z\&quot; /&gt;\n&lt;path d=\&quot;M31.8294 13.7743C33.3034 13.7743 33.9872 12.522 33.9872 12.522V13.5888H35.6892V6.26029H33.8657V11.1459C33.8657 11.1459 33.3794 12.0427 32.4373 12.0427C31.5103 12.0427 31.0088 11.5788 31.0088 10.4966V6.26029H29.1853V11.0068C29.1853 12.7693 30.4466 13.7743 31.8294 13.7743Z\&quot; /&gt;\n&lt;path d=\&quot;M36.8435 12.4447C36.8435 12.4447 37.9832 13.7743 40.0954 13.7743C41.9342 13.7743 43.241 12.7693 43.241 11.517C43.241 10.0018 42.2229 9.52254 40.7945 9.21332C39.5788 8.95049 39.0925 8.84226 39.0925 8.3939C39.0925 7.94553 39.7156 7.69815 40.3994 7.69815C41.3719 7.69815 42.1925 8.33205 42.1925 8.33205L43.1043 6.97149C43.1043 6.97149 42.0253 6.07476 40.3994 6.07476C38.4239 6.07476 37.2994 7.21887 37.2994 8.36297C37.2994 9.75446 38.5455 10.3729 39.9739 10.6821C41.068 10.914 41.4023 11.0068 41.4023 11.4861C41.4023 11.9344 40.7793 12.1509 40.0347 12.1509C38.819 12.1509 37.8616 11.0996 37.8616 11.0996L36.8435 12.4447Z\&quot; /&gt;\n&lt;path d=\&quot;M47.5644 6.07476C45.4826 6.07476 43.9478 7.77546 43.9478 9.92453C43.9478 12.0736 45.6345 13.7743 47.8227 13.7743C49.5703 13.7743 50.71 12.7229 50.71 12.7229L49.7982 11.3315C49.7982 11.3315 49.084 12.0736 47.8227 12.0736C46.683 12.0736 45.9384 11.2387 45.8017 10.5893H51.181C51.1962 10.311 51.1962 10.0328 51.1962 9.8936C51.1962 7.63631 49.5399 6.07476 47.5644 6.07476ZM45.8017 9.24425C45.8625 8.59489 46.3943 7.76 47.5644 7.76C48.7649 7.76 49.3423 8.61035 49.3727 9.24425H45.8017Z\&quot; /&gt;\n&lt;path d=\&quot;M52.5383 13.5888H54.225V12.6302C54.225 12.6302 54.8481 13.7743 56.398 13.7743C58.2671 13.7743 59.9083 12.1818 59.9083 9.92453C59.9083 7.66723 58.2671 6.07476 56.398 6.07476C55.0304 6.07476 54.3618 7.03334 54.3618 7.03334V1.90031H52.5383V13.5888ZM54.3618 8.8268C54.3618 8.8268 54.8784 7.80638 56.0789 7.80638C57.3098 7.80638 58.0544 8.71857 58.0544 9.92453C58.0544 11.1305 57.3098 12.0427 56.0789 12.0427C54.8784 12.0427 54.3618 11.0223 54.3618 11.0223V8.8268Z\&quot; /&gt;\n&lt;path d=\&quot;M64.3915 6.07476C62.2489 6.07476 60.5469 7.76 60.5469 9.92453C60.5469 12.0736 62.2489 13.7743 64.3915 13.7743C66.5341 13.7743 68.2361 12.0736 68.2361 9.92453C68.2361 7.76 66.5341 6.07476 64.3915 6.07476ZM64.3915 12.0427C63.1606 12.0427 62.4008 11.0686 62.4008 9.92453C62.4008 8.78042 63.1606 7.80638 64.3915 7.80638C65.6224 7.80638 66.3822 8.78042 66.3822 9.92453C66.3822 11.0686 65.6224 12.0427 64.3915 12.0427Z\&quot; /&gt;\n&lt;path d=\&quot;M71.1828 9.80084L68.5083 13.5888H70.575L72.2009 11.0841L73.8269 13.5888H75.9999L73.3406 9.80084L75.848 6.26029H73.7661L72.3225 8.51758L70.8485 6.26029H68.7059L71.1828 9.80084Z\&quot; /&gt;\n&lt;path d=\&quot;M3.34457 0.583843C4.10968 1.3623 4.10968 2.62442 3.34457 3.40288C3.2166 3.53308 3.07534 3.6415 2.92523 3.72814V13.035L8.90051 13.035V8.33442L4.95452 12.3492V0.990621H14.7632V12.2656C14.9174 12.3532 15.0624 12.4638 15.1935 12.5971C15.9586 13.3756 15.9586 14.6377 15.1935 15.4162C14.4284 16.1946 13.1879 16.1946 12.4227 15.4162C11.6576 14.6377 11.6576 13.3756 12.4227 12.5971C12.552 12.4657 12.6947 12.3564 12.8465 12.2693V2.94071H6.87119V7.64125L10.8172 3.62648L10.8172 14.9851L1.00855 14.985V3.73693C0.852708 3.64886 0.706164 3.53751 0.573838 3.40288C-0.191279 2.62442 -0.191279 1.3623 0.573838 0.583843C1.33895 -0.194614 2.57945 -0.194614 3.34457 0.583843Z\&quot; /&gt;\n&lt;/svg&gt;\n\r\n\t\t&lt;/a&gt;\r\n\t&lt;/div&gt;\r\n&lt;/div&gt;\n&quot;],&quot;shows&quot;:[0,{&quot;nodes&quot;:[1,[[0,{&quot;id&quot;:[0,&quot;dGVybToyMTM=&quot;],&quot;name&quot;:[0,&quot;Automation Testing Podcast&quot;],&quot;slug&quot;:[0,&quot;automation&quot;]}]]]}],&quot;featuredImage&quot;:[0,{&quot;node&quot;:[0,{&quot;sourceUrl&quot;:[0,&quot;https://app.testguild.com/wp-content/uploads/2026/01/Locust-Performance-Testing-Test-Guild-Podcast.png&quot;]}]}],&quot;seo&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://app.testguild.com/podcast/a575-lars/&quot;],&quot;cornerstone&quot;:[0,false],&quot;focuskw&quot;:[0,&quot;&quot;],&quot;metaDesc&quot;:[0,&quot;&quot;],&quot;metaKeywords&quot;:[0,&quot;&quot;],&quot;metaRobotsNofollow&quot;:[0,&quot;follow&quot;],&quot;metaRobotsNoindex&quot;:[0,&quot;index&quot;],&quot;opengraphAuthor&quot;:[0,&quot;&quot;],&quot;opengraphDescription&quot;:[0,&quot;About This Episode: Performance testing often fails for one simple reason: teams can’t see where the slowdown actually happens. In […]&quot;],&quot;opengraphImage&quot;:[0,{&quot;sourceUrl&quot;:[0,&quot;https://app.testguild.com/wp-content/uploads/2026/01/Locust-Performance-Testing-Test-Guild-Podcast.png&quot;]}],&quot;opengraphModifiedTime&quot;:[0,&quot;2026-01-16T14:17:20+00:00&quot;],&quot;opengraphPublishedTime&quot;:[0,&quot;&quot;],&quot;opengraphPublisher&quot;:[0,&quot;&quot;],&quot;opengraphSiteName&quot;:[0,&quot;Test Guild - Automation Testing Tools Community&quot;],&quot;opengraphTitle&quot;:[0,&quot;Locust Performance Testing with AI and Observability with Lars Holmberg&quot;],&quot;opengraphType&quot;:[0,&quot;article&quot;],&quot;opengraphUrl&quot;:[0,&quot;https://app.testguild.com/podcast/a575-lars/&quot;],&quot;readingTime&quot;:[0,2],&quot;title&quot;:[0,&quot;Locust Performance Testing with AI and Observability with Lars Holmberg • Test Guild - Automation Testing Tools Community&quot;],&quot;twitterDescription&quot;:[0,&quot;&quot;],&quot;twitterTitle&quot;:[0,&quot;&quot;]}],&quot;date&quot;:[0,&quot;2026-01-13T21:27:03&quot;]}],&quot;collection&quot;:[0,&quot;podcast&quot;]}]]]}" ssr client="only" opts="{&quot;name&quot;:&quot;HeaderTop&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island> <div class="px-4 py-4 md:py-1 mx-auto max-w-pageContent"> <!-- lg+ --> <nav class="flex items-center justify-between h-16"> <div class="flex-shrink-0"> <a href="/" title="Testguild Logo" class="flex"> <img src="/_astro/testguild-logo@2x.DPb7UwrN.webp" class="me-3 max-w-[180px] lg:max-w-[220px]" alt="Testguild Logo"> </a> </div> <button data-nav-burger type="button" class="inline-flex p-2 text-white transition-all duration-200 rounded-md lg:hidden focus:bg-gray-800 hover:bg-gray-800"> <svg class="w-6 h-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16m-7 6h7"></path> </svg> </button> <div class="hidden relative lg:flex lg:items-center lg:space-x-7 space-x-5"> <div class="dropdown inline-block"> <a href="/webinars/" class="text-xs cursor-pointer font-normal text-tsLighBlue tracking-wide xl:tracking-wider transition-all duration-200 hover:text-opacity-70 focus:text-opacity-70"> <span class="mr-1 inline">Webinars</span> <svg class="fill-current h-4 w-4 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> <path d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"></path> </svg> </a> <ul class="dropdown-menu absolute hidden text-gray-700 pt-1 z-20"> <li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/webinar/category/playwright/"> Playwright </a> </li> </ul> </div><div class="dropdown inline-block"> <a href="/podcasts/" class="text-xs cursor-pointer font-normal text-tsLighBlue tracking-wide xl:tracking-wider transition-all duration-200 hover:text-opacity-70 focus:text-opacity-70"> <span class="mr-1 inline">Podcasts</span> <svg class="fill-current h-4 w-4 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> <path d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"></path> </svg> </a> <ul class="dropdown-menu absolute hidden text-gray-700 pt-1 z-20"> <li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/podcasts/automation/"> Automation Testing </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/podcasts/performance/"> DevOps ToolChain (Performance &amp; SRE) </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/podcasts/news/"> News Show </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/podcasts/zaptalk/"> ZAPTALK (Automation Unfiltered) </a> </li> </ul> </div><div class="dropdown inline-block"> <a href="/training-courses/" class="text-xs cursor-pointer font-normal text-tsLighBlue tracking-wide xl:tracking-wider transition-all duration-200 hover:text-opacity-70 focus:text-opacity-70"> <span class="mr-1 inline">Courses</span>  </a>  </div><div class="dropdown inline-block"> <a href="https://testguild.com/tools" class="text-xs cursor-pointer font-normal text-tsLighBlue tracking-wide xl:tracking-wider transition-all duration-200 hover:text-opacity-70 focus:text-opacity-70"> <span class="mr-1 inline">Tools</span> <svg class="fill-current h-4 w-4 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> <path d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"></path> </svg> </a> <ul class="dropdown-menu absolute hidden text-gray-700 pt-1 z-20"> <li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="https://testguild.com/tools/tool-matcher/"> Test Tool Matcher </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="https://testguild.com/tools/accessibility-scanner"> Accessibility Test Scanner </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="https://testguild.com/assessments/automation-scorecard"> Automation Scorecard </a> </li> </ul> </div><div class="dropdown inline-block"> <a href="/blog/" class="text-xs cursor-pointer font-normal text-tsLighBlue tracking-wide xl:tracking-wider transition-all duration-200 hover:text-opacity-70 focus:text-opacity-70"> <span class="mr-1 inline">Learn</span> <svg class="fill-current h-4 w-4 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> <path d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"></path> </svg> </a> <ul class="dropdown-menu absolute hidden text-gray-700 pt-1 z-20"> <li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/join-community/"> Join Community </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/blog/"> Blog </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="https://www.youtube.com/@joecolantonio"> Youtube </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/bot/"> AI Joe Test Bot </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/automation-best-practices-ebook/"> Test Automation Guide </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/automationbookpdf/"> Test Automation Book </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/devops-quality-testing-playbook/"> DevOps Quality Pipelines Guide </a> </li> </ul> </div><div class="dropdown inline-block"> <a href="/conferences/" class="text-xs cursor-pointer font-normal text-tsLighBlue tracking-wide xl:tracking-wider transition-all duration-200 hover:text-opacity-70 focus:text-opacity-70"> <span class="mr-1 inline">Conferences</span> <svg class="fill-current h-4 w-4 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> <path d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"></path> </svg> </a> <ul class="dropdown-menu absolute hidden text-gray-700 pt-1 z-20"> <li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/login/"> Login </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/automation-guild-2025/"> Automation Guild </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="/call-for-speakers/"> Call for Speakers </a> </li><li class=""> <a class="text-xs text-tsLighBlue bg-primary hover:bg-accent hover:text-white py-2 px-4 block whitespace-no-wrap" href="https://testguild.com/irl"> TestGuild IRL (In Real Life) </a> </li> </ul> </div> <a class="btn-accent relative transition ease-in-out delay-100 hover:scale-105 text-sm py-2 rounded-full max-w-[250px] block" href="/ag-2026/">Automation Guild '26</a> </div> </nav> <!-- xs to xl (mobile menu) --> <nav data-nav-link class="min-h-screen px-4 py-10 text-center bg-black hidden fixed inset-0 z-50 overflow-y-auto"> <div class="relative min-h-full flex flex-col"> <button data-nav-close type="button" class="inline-flex p-2 text-white transition-all duration-200 rounded-md focus:bg-gray-800 hover:bg-gray-800 self-start sticky top-0 z-10 bg-black/80 backdrop-blur-sm"> <svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> <nav class="flex flex-col items-center mt-10 space-y-2 pb-10"> <a href="/webinars/" title="Webinars" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Webinars </a><a href="/webinar/category/playwright/" title="Playwright" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Playwright </a><a href="/podcasts/" title="Podcasts" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Podcasts </a><a href="/podcasts/automation/" title="Automation Testing" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Automation Testing </a><a href="/podcasts/performance/" title="DevOps ToolChain (Performance &#38; SRE)" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> DevOps ToolChain (Performance &amp; SRE) </a><a href="/podcasts/news/" title="News Show" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> News Show </a><a href="/podcasts/zaptalk/" title="ZAPTALK (Automation Unfiltered)" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> ZAPTALK (Automation Unfiltered) </a><a href="/training-courses/" title="Courses" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Courses </a><a href="https://testguild.com/tools" title="Tools" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Tools </a><a href="https://testguild.com/tools/tool-matcher/" title="Test Tool Matcher" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Test Tool Matcher </a><a href="https://testguild.com/tools/accessibility-scanner" title="Accessibility Test Scanner" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Accessibility Test Scanner </a><a href="https://testguild.com/assessments/automation-scorecard" title="Automation Scorecard" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Automation Scorecard </a><a href="/blog/" title="Learn" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Learn </a><a href="/join-community/" title="Join Community" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Join Community </a><a href="/blog/" title="Blog" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Blog </a><a href="https://www.youtube.com/@joecolantonio" title="Youtube" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Youtube </a><a href="/bot/" title="AI Joe Test Bot" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> AI Joe Test Bot </a><a href="/automation-best-practices-ebook/" title="Test Automation Guide" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Test Automation Guide </a><a href="/automationbookpdf/" title="Test Automation Book" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Test Automation Book </a><a href="/devops-quality-testing-playbook/" title="DevOps Quality Pipelines Guide" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> DevOps Quality Pipelines Guide </a><a href="/conferences/" title="Conferences" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Conferences </a><a href="/login/" title="Login" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Login </a><a href="/automation-guild-2025/" title="Automation Guild" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Automation Guild </a><a href="/call-for-speakers/" title="Call for Speakers" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> Call for Speakers </a><a href="https://testguild.com/irl" title="TestGuild IRL (In Real Life)" class="py-2 font-medium text-white transition-all duration-200 focus:text-opacity-70"> TestGuild IRL (In Real Life) </a> </nav> </div> </nav> </div> </header> <!-- Navigation script moved to Layout.astro to work with React ErrorHandler --> <main> <div class="mx-auto w-full" data-astro-transition-scope="astro-oyx45pxu-1"> <div class="mdx-content"><div><div class="w-full max-w-[100%] mx-auto"> <div class="container-content border-none rounded-[0] bg-[transparent] bg-auto bg-repeat bg-center w-full min-h-[0px] relative "> <div class="container-content-inner lg:w-[1340px] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[40px] md:pt-[40px] pt-[40px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[40px] md:pb-[40px] pb-[40px] lg:pl-[16px] md:pl-[16px] pl-[16px] flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] relative z-1"> <div class="flex-item lg:w-[45%] md:w-[50%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h4 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[15px] text-[15px] font-bold text-[#262262] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Test Guild is a Community Dedicated to Automation Testing!</h4> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h1 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[35px] md:text-[35px] text-[25px] font-bold text-[#000000] text-left lg:leading-[42px] md:leading-[1.3] leading-[1.3] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">TestGuild: Automation Testing Webinars, Courses & Tools</h1> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <div class="thrv_wrapper thrv_text_element"> <h2 class="" data-css="tve-u-19813eb1694"><span style="color: #262262; font-size: 24px;">Where 41,000+ Testers Actually Build, Script, and Ship</span></h2> <p><span style="font-size: 16px;">Master the skills testers need to thrive in this AI-augmented future. Join our hands-on community for practical webinars, conferences, courses, and tool reviews, focused on automation that works in real environments.</span><br><br><span style="font-size: 16px;">✓ Real-world automation techniques that run green</span><br><span style="font-size: 16px;">✓ Battle-tested frameworks, not philosophical debates</span><br><span style="font-size: 16px;">✓ A guild of doers solving today's testing challenges</span></p> <p><span style="font-size: 16px;">Back to the Tests. Back to What Works. Learn how to test the future together.</span></p> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-center items-center"> <a href="#tips-modal" class="lg:text-[24px] md:text-[16px] text-[16px] font-bold text-[white] text-center lg:tracking-[1.9px] md:tracking-[0px] tracking-[0px] leading-[1.5] border-[#000000] rounded-tl-[5px] rounded-tr-[5px] rounded-br-[5px] rounded-bl-[5px] m-0 lg:pt-[12px] md:pt-[12px] pt-[12px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[12px] md:pb-[12px] pb-[12px] lg:pl-[30px] md:pl-[30px] pl-[30px] flex items-center justify-center lg:min-w-auto md:min-w-auto min-w-auto bg-[#16a300] bg-auto bg-repeat bg-center relative"> <span class="relative">Join the Community</span> </a> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h3 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap justify-center md:justify-center lg:justify-center items-center md:items-center lg:items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[18px] md:text-[18px] text-[15px] font-bold text-[#000000] text-center lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Trusted by testers working at</h3> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Trusted-by-Amazon-TikTok-Visa-Oracle-TestGuild-1200x0-c-default.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-auto md:h-[150px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[55%] md:w-[50%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/joe-v3-1200x0-c-default-ve2-1.webp" alt="TestGuild: Automation Testing Webinars, Courses & Tools" class="lg:w-[100%] md:w-[99%] w-[99%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-auto md:h-[200px] h-[388px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <div class="thrv_wrapper thrv_text_element tcb-highlight-added" data-css="tve-u-199ca84a3f7"> <p style="text-align: center;"><span style="background-color: #f1f42f; font-size: 18px;" data-css="tve-u-199ca899f06">See what automation engineers are saying ↓</span></p> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-solid border-[#cccccc] rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[16px] md:pt-[16px] pt-[16px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[16px] md:pb-[16px] pb-[16px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[5px] md:gap-y-[5px] lg:gap-y-[5px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 lg:pt-[10px] md:pt-[10px] pt-[10px] lg:pr-[10px] md:pr-[10px] pr-[10px] lg:pb-[10px] md:pb-[10px] pb-[10px] lg:pl-[10px] md:pl-[10px] pl-[10px] block bg-[#ededf7] bg-auto bg-repeat bg-center leading-none"> <p style="text-align: center; margin: 0px; line-height: 1.1;"><span style="font-size: 14px;">Inspired me to migrate to Playwright, build AI testing agents, and tackle quality in AI apps. Real ideas I can use. Well worth it!</span></p> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-045122.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[30px] h-[30px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="text-align: center; margin: 0px; line-height: 1.1;"><span style="font-size: 14px;">Xiangwei Li </span><br><span style="font-size: 12px;">Sr. SDET at FamilySearch.org</span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[16px] md:pt-[16px] pt-[16px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[16px] md:pb-[16px] pb-[16px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[5px] md:gap-y-[5px] lg:gap-y-[5px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 lg:pt-[10px] md:pt-[10px] pt-[10px] lg:pr-[10px] md:pr-[10px] pr-[10px] lg:pb-[10px] md:pb-[10px] pb-[10px] lg:pl-[10px] md:pl-[10px] pl-[10px] block bg-[#ededf7] bg-auto bg-repeat bg-center leading-none"> <p style="text-align: center; margin: 0px; line-height: 1.1;"><span style="font-size: 14px;">Got answers in the Q&A, implemented them the next day, and my team is thrilled. Having 1,000+ experts to lean on? Game changer.</span></p> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-045122.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[30px] h-[30px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="text-align: center; margin: 0px; line-height: 1.1;"><span style="font-size: 14px;">Vaclovas Brazdauskas</span><br><span style="font-size: 12px;">QA Engineer (3+ years)</span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[16px] md:pt-[16px] pt-[16px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[16px] md:pb-[16px] pb-[16px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[5px] md:gap-y-[5px] lg:gap-y-[5px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 lg:pt-[10px] md:pt-[10px] pt-[10px] lg:pr-[10px] md:pr-[10px] pr-[10px] lg:pb-[10px] md:pb-[10px] pb-[10px] lg:pl-[10px] md:pl-[10px] pl-[10px] block bg-[#ededf7] bg-auto bg-repeat bg-center leading-none"> <p style="text-align: center; margin: 0px; line-height: 1.1;"><span style="font-size: 14px;">Every topic was useful. Real AI insights, real community—not a product pitch fest. I've been to other conferences. This one's different.</span></p> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-045122.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[30px] h-[30px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="text-align: center; margin: 0px; line-height: 1.1;"><span style="font-size: 14px;">Evie </span><br><span style="font-size: 12px;">19 years in software quality</span></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] bg-[#262161] bg-auto bg-repeat bg-center w-full min-h-[0px] relative "> <div class="container-content-inner lg:w-[1340px] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[30px] md:pt-[30px] pt-[30px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[30px] md:pb-[30px] pb-[30px] lg:pl-[16px] md:pl-[16px] pl-[16px] flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-wrap flex-wrap lg:items-center md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] relative z-1"> <div class="flex-item lg:w-[100%] md:w-[48%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h3 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap justify-center md:justify-center lg:justify-center items-center md:items-center lg:items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[18px] md:text-[18px] text-[20px] font-bold text-[#ffffff] text-center lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Free Testing Tools:</h3> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[48%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-center items-center"> <a href="https://testguild.com/tools/tool-matcher/" class="lg:text-[18px] md:text-[16px] text-[16px] font-bold text-[white] text-center lg:tracking-[2.3px] md:tracking-[0px] tracking-[0px] leading-[1.5] border-[#000000] rounded-tl-[5px] rounded-tr-[5px] rounded-br-[5px] rounded-bl-[5px] m-0 lg:pt-[18px] md:pt-[18px] pt-[18px] lg:pr-[13px] md:pr-[13px] pr-[13px] lg:pb-[18px] md:pb-[18px] pb-[18px] lg:pl-[13px] md:pl-[13px] pl-[13px] flex items-center justify-center lg:min-w-[0px] md:min-w-[100%] min-w-[100%] bg-[#16a300] bg-auto bg-repeat bg-center relative"> <span class="relative">Test Tool Matcher</span> </a> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[48%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-center items-center"> <a href="https://testguild.com/tools/accessibility-scanner" class="lg:text-[18px] md:text-[16px] text-[16px] font-bold text-[white] text-center lg:tracking-[1.3px] md:tracking-[0px] tracking-[0px] leading-[1.5] border-[#000000] rounded-tl-[5px] rounded-tr-[5px] rounded-br-[5px] rounded-bl-[5px] m-0 lg:pt-[18px] md:pt-[18px] pt-[18px] lg:pr-[13px] md:pr-[13px] pr-[13px] lg:pb-[18px] md:pb-[18px] pb-[18px] lg:pl-[13px] md:pl-[13px] pl-[13px] flex items-center justify-center lg:min-w-[0px] md:min-w-[100%] min-w-[100%] bg-[#16a300] bg-auto bg-repeat bg-center relative"> <span class="relative">Accessibility Scanner</span> </a> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[48%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-center items-center"> <a href="https://testguild.com/assessments/automation-scorecard" class="lg:text-[18px] md:text-[16px] text-[16px] font-bold text-[white] text-center lg:tracking-[1.3px] md:tracking-[0px] tracking-[0px] leading-[1.5] border-[#000000] rounded-tl-[5px] rounded-tr-[5px] rounded-br-[5px] rounded-bl-[5px] m-0 lg:pt-[18px] md:pt-[18px] pt-[18px] lg:pr-[13px] md:pr-[13px] pr-[13px] lg:pb-[18px] md:pb-[18px] pb-[18px] lg:pl-[13px] md:pl-[13px] pl-[13px] flex items-center justify-center lg:min-w-[0px] md:min-w-[100%] min-w-[100%] bg-[#16a300] bg-auto bg-repeat bg-center relative"> <span class="relative">Automation Quiz</span> </a> </div> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] bg-[transparent] bg-auto bg-repeat bg-center w-full min-h-[0px] relative "> <div class="container-content-inner lg:w-[1340px] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[50px] md:pt-[30px] pt-[20px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[50px] md:pb-[30px] pb-[20px] lg:pl-[16px] md:pl-[16px] pl-[16px] flex lg:flex-row md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-center md:justify-center justify-center lg:items-center md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] relative z-1"> <div class="flex-item lg:w-[60%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <div class="thrv_wrapper thrv_text_element"> <p style="text-align: center;" data-css="tve-u-1870a038b63"><span style="font-size: 36px;">Fix <strong>Flaky Tests </strong>in 10 Steps</span></p> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-center items-center"> <a href="#tips-modal" class="lg:text-[24px] md:text-[16px] text-[16px] text-[white] text-center leading-[1.5] border-[#000000] rounded-tl-[5px] rounded-tr-[5px] rounded-br-[5px] rounded-bl-[5px] m-0 lg:pt-[15px] md:pt-[15px] pt-[15px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[15px] md:pb-[15px] pb-[15px] lg:pl-[30px] md:pl-[30px] pl-[30px] flex items-center justify-center lg:min-w-auto md:min-w-auto min-w-auto bg-[#16a300] bg-auto bg-repeat bg-center relative"> <span class="relative">Send Me The Tips</span> </a> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[60%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="lg:mr-[auto] md:mr-[auto] mr-[auto] lg:ml-[auto] md:ml-[auto] ml-[auto] pt-[0px] pb-[0px] pl-[0px] pr-[0px] block border-none lg:w-[100%] md:w-[100%] w-[100%] lg:h-[350px] md:h-[350px] h-[350px] lg:min-w-auto md:min-w-auto min-w-auto max-w-[100%] bg-auto bg-repeat bg-center relative overflow-hidden"> <iframe src="https://player.vimeo.com/video/747760972?h=6ab8b5c44c" class="absolute top-0 left-0 w-full h-full border-0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> </div> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] bg-[transparent] bg-auto bg-repeat bg-center w-full min-h-[0px] relative "> <div class="container-content-inner lg:w-[1340px] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[50px] md:pt-[10px] pt-[20px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[50px] md:pb-[10px] pb-[20px] lg:pl-[16px] md:pl-[16px] pl-[16px] flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p><span style="font-size: 36px;">Less philosophy. More pipelines.</span></p> <p><span style="font-size: 16px;">Join the guild of automation professionals who build frameworks that actually ship. Share tools and scripts that deliver results. Solve real testing problems with proven code.</span></p> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Group-94-1.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[200px] md:h-[150px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] bg-auto bg-repeat bg-center w-full min-h-[0px] relative "> <div class="container-content-inner lg:w-[1340px] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[20px] md:mt-[20px] mt-[20px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[56px] md:pt-[26px] pt-[26px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[56px] md:pb-[26px] pb-[26px] lg:pl-[16px] md:pl-[16px] pl-[16px] flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0px] md:min-h-[0px] min-h-[0px] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[20px] md:mt-[20px] mt-[20px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:ml-[auto] md:ml-[auto] ml-[auto] pt-[0px] pb-[0px] pl-[0px] pr-[0px] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner grid gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:grid-cols-4 md:grid-cols-2 grid-cols-1 lg:grid-rows-1 md:grid-rows-2 grid-rows-2 w-full relative relative z-1"> <div class="grid-item h-full "> <div class="grid-item-inner flex flex-1 h-full items-start justify-start"> <div class="container-content border-none rounded-[16px] [box-shadow:0px_2px_10px_2px_rgba(0,0,0,0.1)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0px] md:min-h-[0px] min-h-[0px] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[20px] md:mt-[20px] mt-[20px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[32px] md:pt-[32px] pt-[32px] lg:pr-[24px] md:pr-[24px] pr-[24px] lg:pb-[32px] md:pb-[32px] pb-[32px] lg:pl-[24px] md:pl-[24px] pl-[24px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-start md:justify-start justify-start lg:items-start md:items-start items-start gap-y-[12px] md:gap-y-[12px] lg:gap-y-[12px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[20%] md:w-[29%] w-[25%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/audio-1-1.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[40px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h3 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[18px] md:text-[18px] text-[16px] font-bold text-[#5d5d5d] text-left lg:leading-[1.1] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Test Automation Podcast with Industry Experts</h3> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-auto bg-repeat bg-center "> <h4 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[13px] md:text-[14px] text-[14px] font-semibold text-[#262263] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none lg:mb-[0px] md:mb-[0px] mb-[0px] pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Hear the Latest Automation Tools & Techniques</h4> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative overflow-hidden rounded-tl-[4px] rounded-tr-[4px] rounded-br-[4px] rounded-bl-[4px]"> <div class="absolute inset-0 bg-[transparent]"></div> <div class="absolute inset-0 bg-auto bg-repeat bg-center"></div> <div class="content-block border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block lg:text-[13px] md:text-[13px] text-[13px] [text-shadow:0px_0px_0px_rgba(0,0,0,0.5)] text-left leading-[1.5] max-w-[100%] space-y-2 relative z-10"> <p class="text-left">Enjoy one of the longest-running podcasts dedicated 100% to automation testing.</p> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-start items-start"> <a href="/podcasts/" class="lg:text-[16px] md:text-[16px] text-[16px] font-semibold text-[#262263] text-left lg:tracking-[0.1px] md:tracking-[0px] tracking-[0px] lg:leading-[0.5] md:leading-[1.5] leading-[1.5] underline underline-offset-[5px] decoration-[2px] border-[#000000] rounded-[4px] m-0 lg:pt-[15px] md:pt-[15px] pt-[15px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[15px] md:pb-[15px] pb-[15px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex items-center justify-center lg:min-w-auto md:min-w-auto min-w-auto bg-[transparent] bg-auto bg-repeat bg-center relative"> <span class="relative">Listen now</span> </a> </div> </div> </div> </div> </div> </div> </div> <div class="grid-item h-full "> <div class="grid-item-inner flex flex-1 h-full items-start justify-start"> <div class="container-content border-none rounded-[16px] [box-shadow:0_2px_10px_0px_rgba(0,0,0,0.1)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0px] md:min-h-[0px] min-h-[0px] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[20px] md:mt-[20px] mt-[20px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[32px] md:pt-[32px] pt-[32px] lg:pr-[24px] md:pr-[24px] pr-[24px] lg:pb-[32px] md:pb-[32px] pb-[32px] lg:pl-[24px] md:pl-[24px] pl-[24px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-start md:justify-start justify-start lg:items-start md:items-start items-start gap-y-[12px] md:gap-y-[12px] lg:gap-y-[12px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[20%] md:w-[29%] w-[25%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/student-1-1.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[40px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h3 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[18px] md:text-[18px] text-[16px] font-bold text-[#5d5d5d] text-left lg:leading-[1.1] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Expert-Led Test Automation Training & Courses</h3> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-auto bg-repeat bg-center "> <h4 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[13px] md:text-[14px] text-[14px] font-semibold text-[#262263] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none lg:mb-[0px] md:mb-[0px] mb-[0px] pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">See the Latest in Automation with Free Courses</h4> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative overflow-hidden rounded-tl-[4px] rounded-tr-[4px] rounded-br-[4px] rounded-bl-[4px]"> <div class="absolute inset-0 bg-[transparent]"></div> <div class="absolute inset-0 bg-auto bg-repeat bg-center"></div> <div class="content-block border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block lg:text-[13px] md:text-[13px] text-[13px] [text-shadow:0px_0px_0px_rgba(0,0,0,0.5)] text-left leading-[1.5] max-w-[100%] space-y-2 relative z-10"> <p class="text-left">Related to topics like Selenium 4, Cypress, Test Management DevOps, AI in Automation, and more.</p> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-start items-start"> <a href="/training-courses/" class="lg:text-[16px] md:text-[16px] text-[16px] font-semibold text-[#262263] text-left lg:leading-[0.5] md:leading-[1.5] leading-[1.5] underline underline-offset-[5px] decoration-[2px] border-[#000000] rounded-[4px] m-0 lg:pt-[15px] md:pt-[15px] pt-[15px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[15px] md:pb-[15px] pb-[15px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex items-center justify-center lg:min-w-auto md:min-w-auto min-w-auto bg-[transparent] bg-auto bg-repeat bg-center relative"> <span class="relative">Listen now</span> </a> </div> </div> </div> </div> </div> </div> </div> <div class="grid-item h-full "> <div class="grid-item-inner flex flex-1 h-full items-start justify-start"> <div class="container-content border-none rounded-[16px] [box-shadow:0_2px_10px_0px_rgba(0,0,0,0.1)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0px] md:min-h-[0px] min-h-[0px] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[20px] md:mt-[20px] mt-[20px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[32px] md:pt-[32px] pt-[32px] lg:pr-[24px] md:pr-[24px] pr-[24px] lg:pb-[32px] md:pb-[32px] pb-[32px] lg:pl-[24px] md:pl-[24px] pl-[24px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-start md:justify-start justify-start lg:items-start md:items-start items-start gap-y-[12px] md:gap-y-[12px] lg:gap-y-[12px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[20%] md:w-[29%] w-[25%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/handshake-1-1.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[40px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h3 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[18px] md:text-[18px] text-[16px] font-bold text-[#5d5d5d] text-left lg:leading-[1.1] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Live Webinars & Workshops</h3> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-auto bg-repeat bg-center "> <h4 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[13px] md:text-[14px] text-[14px] font-semibold text-[#262263] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none lg:mb-[0px] md:mb-[0px] mb-[0px] pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Expert-Led Training Sessions</h4> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative overflow-hidden rounded-tl-[4px] rounded-tr-[4px] rounded-br-[4px] rounded-bl-[4px]"> <div class="absolute inset-0 bg-[transparent]"></div> <div class="absolute inset-0 bg-auto bg-repeat bg-center"></div> <div class="content-block border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block lg:text-[13px] md:text-[13px] text-[13px] [text-shadow:0px_0px_0px_rgba(0,0,0,0.5)] text-left leading-[1.5] max-w-[100%] space-y-2 relative z-10"> <p class="text-left">Join live Q&A sessions with industry leaders. Get hands-on solutions to your toughest automation challenges. Free access for community members.</p> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-start items-start"> <a href="/webinars/" class="lg:text-[16px] md:text-[16px] text-[16px] font-semibold text-[#262263] text-left lg:leading-[0.5] md:leading-[1.5] leading-[1.5] underline underline-offset-[5px] decoration-[2px] border-[#000000] rounded-[4px] m-0 lg:pt-[15px] md:pt-[15px] pt-[15px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[15px] md:pb-[15px] pb-[15px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex items-center justify-center lg:min-w-auto md:min-w-auto min-w-auto bg-[transparent] bg-auto bg-repeat bg-center relative"> <span class="relative">View Upcoming Webinar</span> </a> </div> </div> </div> </div> </div> </div> </div> <div class="grid-item h-full "> <div class="grid-item-inner flex flex-1 h-full items-start justify-start"> <div class="container-content border-none rounded-[16px] [box-shadow:0_2px_10px_0px_rgba(0,0,0,0.1)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0px] md:min-h-[0px] min-h-[0px] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[20px] md:mt-[20px] mt-[20px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[32px] md:pt-[32px] pt-[32px] lg:pr-[24px] md:pr-[24px] pr-[24px] lg:pb-[32px] md:pb-[32px] pb-[32px] lg:pl-[24px] md:pl-[24px] pl-[24px] bg-[#262263] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-start md:justify-start justify-start lg:items-start md:items-start items-start gap-y-[12px] md:gap-y-[12px] lg:gap-y-[12px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[20%] md:w-[29%] w-[25%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/screen-1-1-1.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[40px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h3 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[18px] md:text-[18px] text-[16px] font-bold text-[#ffffff] text-left lg:leading-[1.1] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Automation Guild: Online Testing Conference</h3> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-auto bg-repeat bg-center "> <h4 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[13px] md:text-[14px] text-[14px] font-semibold text-[#ffffff] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none lg:mb-[0px] md:mb-[0px] mb-[0px] pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Upgrade your Software Testing Skills - Join Our Online Conferences</h4> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative overflow-hidden rounded-tl-[4px] rounded-tr-[4px] rounded-br-[4px] rounded-bl-[4px]"> <div class="absolute inset-0 bg-[transparent]"></div> <div class="absolute inset-0 bg-auto bg-repeat bg-center"></div> <div class="content-block border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block lg:text-[13px] md:text-[13px] text-[16px] [text-shadow:0px_0px_0px_rgba(0,0,0,0.5)] text-left leading-[1.5] max-w-[100%] space-y-2 relative z-10"> <p class="text-left"><span style="color: rgb(255, 255, 255);">Experience the premium annual online conference dedicated 100% to helping you succeed with automation testing.</span></p> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-start items-start"> <a href="/conferences/" class="lg:text-[16px] md:text-[16px] text-[16px] font-semibold text-[#ffffff] text-left lg:leading-[0.5] md:leading-[1.5] leading-[1.5] underline underline-offset-[5px] decoration-[2px] border-[#000000] rounded-[4px] m-0 lg:pt-[15px] md:pt-[15px] pt-[15px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[15px] md:pb-[15px] pb-[15px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex items-center justify-center lg:min-w-auto md:min-w-auto min-w-auto bg-[transparent] bg-auto bg-repeat bg-center relative"> <span class="relative">Listen now</span> </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <section class="relative"> <div class="mx-auto w-full max-w-pageContent px-4 2xl:px-0 py-14 relative z-10"> <div class="grid grid-cols-1 md:grid-cols-2 gap-10 md:gap-15 mb-8"> <div> <div class="h-full flex justify-center items-center relative"> <div class="absolute top-[-70px] 2xl:top-[-88px] left-[40px] hidden lg:block"> <img src="/images/featured/bg-img.png" alt="bg-img.png"> </div> <div> <img src="https://app.testguild.com/wp-content/uploads/2026/01/AutomationFeaturedImage_Missy-Trumpler-1024x640.png" alt="Spec2TestAI: Stop Defects Before They Reach Production with Missy Trumpler" class="rounded-2xl max-h-[300px] max-w-[350px] 2xl:max-w-[440px]"> </div> </div> </div> <div class="pl-0 lg:pl-14"> <span class="mb-7 rounded-md py-2 px-6 inline-block tracking-wider text-white  text-sm bg-gradient-to-r from-tsViolet to-60% to-primary">
Latest automation testing podcast
</span> <h4 class="text-primary mb-5 text-style4Sm md:text-style4">Spec2TestAI: Stop Defects Before They Reach Production with Missy Trumpler</h4> <div class="text-desc1 wysiwyg-content mb-4 italic text-muted"> Published on: 01/27/2026</div> <div class="text-desc1 wysiwyg-content mb-5 italic text-muted"><p>About This Episode: Most teams find defects after the damage is done — during regression, late-stage testing, or production incidents. [&hellip;]</p>
</div> <a href="https://testguild.com/podcast/a576-missy" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Listen Now</a> </div> </div> <div class="mx-auto w-full max-w-pageContent px-4 2xl:px-0 py-14"> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 items-stretch"> <div class="bg-white px-4 py-5 shadow-s1 rounded-2xl"> <div class="mb-3 w-full h-[160px] relative"> <a href="https://testguild.com/podcast/a574-joe/"> <img src="/_astro/default.DGSUeKO4.png" alt="Top 8 Automation Testing Trends for 2026 with Joe Colantonio" class="rounded-md object-cover w-full h-[160px]"></a>  </div> <div class="text-[14px] text-primary italic mb-2">January 25, 2026</div> <div class="text-[14px] text-primary font-semibold mb-3"><a href="https://testguild.com/podcast/a574-joe/">Top 8 Automation Testing Trends for 2026 with Joe Colantonio</a></div> <div class="text-[13px] text-muted mb-4"><p>About This Episode: AI testing is everywhere — but clarity isn’t. In this episode, Joe Colantonio breaks down the real [&hellip;]</p>
</div> <div> <a href="https://testguild.com/podcast/a574-joe/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Listen Now</a> </div> </div><div class="bg-white px-4 py-5 shadow-s1 rounded-2xl"> <div class="mb-3 w-full h-[160px] relative"> <a href="https://testguild.com/podcast/p203-gadi/"> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Gadi-Bashvitz-Featured-Image-1024x640.png" alt="Developer-First DAST: Fix Security Issues Before They Reach Production with Gadi Bashvitz" class="rounded-md object-cover w-full h-[160px]"></a>  </div> <div class="text-[14px] text-primary italic mb-2">January 22, 2026</div> <div class="text-[14px] text-primary font-semibold mb-3"><a href="https://testguild.com/podcast/p203-gadi/">Developer-First DAST: Fix Security Issues Before They Reach Production with Gadi Bashvitz</a></div> <div class="text-[13px] text-muted mb-4"><p>About This Episode: Dynamic Application Security Testing (DAST) has a reputation problem. It’s noisy, slow, and often ignored by developers [&hellip;]</p>
</div> <div> <a href="https://testguild.com/podcast/p203-gadi/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Listen Now</a> </div> </div><div class="bg-white px-4 py-5 shadow-s1 rounded-2xl"> <div class="mb-3 w-full h-[160px] relative"> <a href="https://testguild.com/podcast/n179-jan19/"> <img src="https://app.testguild.com/wp-content/uploads/2025/10/Test-Guild-News-Show-Automation-DevOps-1200x0-c-default-1024x640.png" alt="Testing Pyramid for AI Agents, Playwright Vibe Testing and More TGNS179" class="rounded-md object-cover w-full h-[160px]"></a>  </div> <div class="text-[14px] text-primary italic mb-2">January 19, 2026</div> <div class="text-[14px] text-primary font-semibold mb-3"><a href="https://testguild.com/podcast/n179-jan19/">Testing Pyramid for AI Agents, Playwright Vibe Testing and More TGNS179</a></div> <div class="text-[13px] text-muted mb-4"><p>About This Episode: What if Playwright tests could be created, not coded — and what if that tool just removed [&hellip;]</p>
</div> <div> <a href="https://testguild.com/podcast/n179-jan19/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Listen Now</a> </div> </div><div class="bg-white px-4 py-5 shadow-s1 rounded-2xl"> <div class="mb-3 w-full h-[160px] relative"> <a href="https://testguild.com/podcast/a575-lars/"> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Locust-Performance-Testing-Test-Guild-Podcast.png" alt="Locust Performance Testing with AI and Observability with Lars Holmberg" class="rounded-md object-cover w-full h-[160px]"></a>  </div> <div class="text-[14px] text-primary italic mb-2">January 13, 2026</div> <div class="text-[14px] text-primary font-semibold mb-3"><a href="https://testguild.com/podcast/a575-lars/">Locust Performance Testing with AI and Observability with Lars Holmberg</a></div> <div class="text-[13px] text-muted mb-4"><p>About This Episode: Performance testing often fails for one simple reason: teams can’t see where the slowdown actually happens. In [&hellip;]</p>
</div> <div> <a href="https://testguild.com/podcast/a575-lars/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Listen Now</a> </div> </div>  </div> </div> <div class="text-center"> <a class="btn-primary relative transition ease-in-out delay-100 hover:scale-105" href="https://testguild.com/podcast">See all</a> </div> </div> <div class="absolute bottom-0 left-0"> <img src="/images/featured/bg-podcast.png" alt="bg-podcast.png"> </div> </section> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <section class="relative"> <div class="mx-auto w-full max-w-pageContent px-4 2xl:px-0 pt-24 pb-14 relative z-10"> <div class="grid grid-cols-1 md:grid-cols-2 gap-10 md:gap-20 mb-8"> <div> <span class="mb-7 rounded-md py-2 px-6 inline-block tracking-wider text-white  text-sm bg-gradient-to-r from-tsViolet to-60% to-primary">
Latest articles
</span> <h4 class="text-primary mb-5 text-style4Sm md:text-style4">Why Manual Regression Testing Still Exists (And How AI Actually Helps Without Replacing You)</h4> <div class="text-desc1 wysiwyg-content mb-4 italic text-muted">Published on: 01/26/2026</div> <div class="text-desc1 wysiwyg-content mb-5 italic text-muted"><p>Look, I&#8217;ve been doing test automation for over 25 years. I&#8217;ve heard the predictions. &#8220;Manual testing is dead.&#8221; &#8220;AI will [&hellip;]</p>
</div> <a href="https://testguild.com/manual-regression-testing-ai/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Read More</a> </div> <div> <div class="h-full flex justify-center items-center relative"> <div class="absolute top-[-70px] 2xl:top-[-50px] left-[40px] hidden lg:block"> <img src="/images/featured/bg-img.png" alt="Why Manual Regression Testing Still Exists (And How AI Actually Helps Without Replacing You)"> </div> <div> <img src="https://app.testguild.com/wp-content/uploads/2026/01/manual-regression-testing-ai.png" alt="Why Manual Regression Testing Still Exists (And How AI Actually Helps Without Replacing You)" class="rounded-2xl object-cover h-[248px] w-full max-w-[440px]"> </div> </div> </div> </div> <div class="mx-auto w-full max-w-pageContent px-4 2xl:px-0 pt-0 pb-14 md:pt-14"> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 items-stretch"> <div class="bg-white px-4 py-5 shadow-s1 rounded-2xl"> <div class="mb-3 w-full h-[160px] relative"> <a href="https://testguild.com/automation-testing-trends/"> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Automation-Testing-Predictions-for-2026-TestGuild.png" alt="Top 9 Automation Testing Trends for 2026" class="rounded-md object-cover w-full h-[160px]"></a> <div class="absolute bottom-2 left-2 bg-primary opacity-70 text-white px-2 py-1 rounded-md text-[11px] font-normal"> Automation Testing </div> </div> <div class="text-[14px] text-primary italic mb-2">January 6, 2026</div> <div class="text-[14px] text-primary font-semibold mb-3"><a href="https://testguild.com/automation-testing-trends/">Top 9 Automation Testing Trends for 2026</a></div> <div class="text-[13px] text-muted mb-4"><p>The 72.8% Paradox That Changes Everything After interviewing 50+ testing experts in 2025 and analyzing data from our 40,000+ member [&hellip;]</p>
</div> <div> <a href="https://testguild.com/automation-testing-trends/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Read More</a> </div> </div><div class="bg-white px-4 py-5 shadow-s1 rounded-2xl"> <div class="mb-3 w-full h-[160px] relative"> <a href="https://testguild.com/7-innovative-ai-test-automation-tools-future-third-wave/"> <img src="https://app.testguild.com/wp-content/uploads/2026/01/RobotWave-1024x576.png" alt="12 AI Test Automation Tools QA Teams Actually Use in 2026" class="rounded-md object-cover w-full h-[160px]"></a> <div class="absolute bottom-2 left-2 bg-primary opacity-70 text-white px-2 py-1 rounded-md text-[11px] font-normal"> Automation Testing </div> </div> <div class="text-[14px] text-primary italic mb-2">December 30, 2025</div> <div class="text-[14px] text-primary font-semibold mb-3"><a href="https://testguild.com/7-innovative-ai-test-automation-tools-future-third-wave/">12 AI Test Automation Tools QA Teams Actually Use in 2026</a></div> <div class="text-[13px] text-muted mb-4"><p>Look, I&#8217;ve been doing this testing thing for over 25 years now. I first wrote about the AI &#8220;three waves&#8221; [&hellip;]</p>
</div> <div> <a href="https://testguild.com/7-innovative-ai-test-automation-tools-future-third-wave/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Read More</a> </div> </div><div class="bg-white px-4 py-5 shadow-s1 rounded-2xl"> <div class="mb-3 w-full h-[160px] relative"> <a href="https://testguild.com/low-code-no-code-test-tools/"> <img src="https://app.testguild.com/wp-content/uploads/2026/01/LowCode-and-NoCode-Automation-Testing-Tools-1-650x406-1.webp" alt="Top Low-Code/No-Code Test Automation Tools for 2026" class="rounded-md object-cover w-full h-[160px]"></a> <div class="absolute bottom-2 left-2 bg-primary opacity-70 text-white px-2 py-1 rounded-md text-[11px] font-normal"> Automation Testing </div> </div> <div class="text-[14px] text-primary italic mb-2">December 29, 2025</div> <div class="text-[14px] text-primary font-semibold mb-3"><a href="https://testguild.com/low-code-no-code-test-tools/">Top Low-Code/No-Code Test Automation Tools for 2026</a></div> <div class="text-[13px] text-muted mb-4"><p>What&#8217;s New in Low-Code/No-Code Testing for 2026 A lot had changed on the The low-code/no-code testing space and it has [&hellip;]</p>
</div> <div> <a href="https://testguild.com/low-code-no-code-test-tools/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Read More</a> </div> </div><div class="bg-white px-4 py-5 shadow-s1 rounded-2xl"> <div class="mb-3 w-full h-[160px] relative"> <a href="https://testguild.com/bug-magnet/"> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Bug-Magnet-AI-Exploratory-Testing-Tool-TestGuild.png" alt="Bug Magnet 4.0: A Free and Powerful Exploratory Testing Tool (2025 Update)" class="rounded-md object-cover w-full h-[160px]"></a> <div class="absolute bottom-2 left-2 bg-primary opacity-70 text-white px-2 py-1 rounded-md text-[11px] font-normal"> Automation Testing </div> </div> <div class="text-[14px] text-primary italic mb-2">November 17, 2025</div> <div class="text-[14px] text-primary font-semibold mb-3"><a href="https://testguild.com/bug-magnet/">Bug Magnet 4.0: A Free and Powerful Exploratory Testing Tool (2025 Update)</a></div> <div class="text-[13px] text-muted mb-4"><p>I want to share an update on one of my favorite exploratory testing tools that just keeps getting better. I [&hellip;]</p>
</div> <div> <a href="https://testguild.com/bug-magnet/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Read More</a> </div> </div> </div> </div> <div class="text-center"> <a class="btn-primary relative transition ease-in-out delay-100 hover:scale-105" href="/blog/">See all</a> </div> </div> <div class="absolute bottom-0 left-0 z-0"> <img src="/images/featured/bg-article.png" alt="Featured Articles"> </div> </section> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <section class="relative"> <div class="mx-auto w-full max-w-pageContent mt-[30px] md:mt-[50px] lg:mt-[100px] px-4 py-[50px] md:py-[100px] lg:py-[200px] relative z-10"> <div class="grid grid-cols-1 md:grid-cols-2 gap-10 md:gap-20 mb-8"> <div> <span class="mb-7 rounded-md py-1 px-4 border-2 border-primary inline-block">Latest conferences</span> <h4 class="text-primary mb-5 text-style4Sm md:text-style4">Upskill Your Automation in 2026: w/Automation Guild Online our 10th Annual Event</h4> <div class="text-desc1 wysiwyg-content mb-4 italic text-muted">Automation Testing</div> <div class="text-desc1 wysiwyg-content mb-5 italic text-muted max-w-[350px]">Say goodbye to flaky test in the new year. Accelerate your career join Automation Guild &#39;26 now</div> <a href="/ag-2026/" class="text-[15px] font-semibold tracking-wide underline underline-offset-5 decoration-2">Read More</a> </div> <div> <div class="h-full flex justify-center items-center relative"> <div class="absolute top-[-50px] 2xl:top-[-70px] left-[20px] hidden lg:block"> <img src="/images/featured/bg-img.png" alt="bg-img.png"> </div> <div> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Automation-Guild-2026-Online-Conferenc-TestGuild.png" alt="Automation Testing" class="rounded-2xl max-h-[300px] max-w-[350px] 2xl:max-w-[440px]"> </div> </div> </div> </div> </div> <div class="absolute left-0 bottom-0 hidden lg:block"> <img src="/images/featured/bg-conference-2.png" alt="bg-conference-2.png"> </div> <div class="absolute right-0 bottom-0 hidden lg:block"> <img src="/images/featured/bg-conference.png" alt="bg-conference.png"> </div> </section> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] bg-[#fbfaff] bg-auto bg-repeat bg-center w-full min-h-[0px] relative "> <div class="container-content-inner lg:w-[1340px] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[50px] md:pt-[50px] pt-[50px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[50px] md:pb-[50px] pb-[50px] lg:pl-[16px] md:pl-[16px] pl-[16px] flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[40px] md:gap-x-[40px] lg:gap-x-[40px] relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p><strong><span style="font-size: 36px;">Trusted by the biggest </span><span style="font-size: 36px;">Brands Worldwide</span></strong></p> <p><span style="font-size: 16px;">Step into a realm where your test tool solutions receive the spotlight they deserve. We specialize in catapulting brands like yours into the forefront of the dynamic automation testing community. With our awesome lead generation and brand awareness services, your innovative tools won’t just be seen—they’ll be remembered and sought after.</span></p> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/trustedv3-1-1.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[325px] md:h-[175px] h-[237px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] bg-[#fbfaff] bg-auto bg-repeat bg-center w-full min-h-[0px] relative "> <div class="container-content-inner lg:w-[1340px] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[50px] md:pb-[50px] pb-[50px] lg:pl-[16px] md:pl-[16px] pl-[16px] flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-wrap flex-wrap md:justify-center justify-center md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] relative z-1"> <div class="flex-item lg:w-[100%] md:w-[48%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-tl-[15px] rounded-tr-[15px] rounded-br-[15px] rounded-bl-[15px] [box-shadow:0px_0px_18px_0px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[30px] md:pt-[30px] pt-[30px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[30px] md:pb-[30px] pb-[30px] lg:pl-[30px] md:pl-[30px] pl-[30px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[32%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Ellipse-20-1.png" alt="" class="lg:w-[60px] md:w-[60px] w-[60px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[60px] h-[60px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-start md:justify-start justify-start gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-045122.png" alt="" class="lg:w-[70px] md:w-[70px] w-[70px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[20px] md:h-[20px] h-[20px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <div class="thrv_wrapper thrv_text_element" data-css="tve-u-186e6be43e5"> <p style="margin: 0;"><strong><span style="font-size: 18px;">Mary Nguyen</span><br></strong><span style="font-size: 10px;">Sr. Mgr of Demand Gen</span><strong><span style="font-size: 10px;"> <span data-css="tve-u-186e6bd1d8d">@SmartBear</span></span><br></strong></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="margin: 0px 0px 10px; line-height: 1.1;"><span style="font-size: 14px;"><em>“In the webinar that we just ran, we had the promotion through Joe’s newsletter and we actually got <strong>30% of all registrants</strong>.</em></span></p> <p style="margin: 0px; line-height: 1.1;"><span style="font-size: 14px;"><em>I was like, "We need to partner more with Joe."”</em></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[48%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-tl-[15px] rounded-tr-[15px] rounded-br-[15px] rounded-bl-[15px] [box-shadow:0px_0px_18px_0px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0px] md:min-h-[0px] min-h-[0px] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[30px] md:pt-[30px] pt-[30px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[30px] md:pb-[30px] pb-[30px] lg:pl-[30px] md:pl-[30px] pl-[30px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[32%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/header-profile-1-1.png" alt="" class="lg:w-[60px] md:w-[60px] w-[60px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[60px] h-[60px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-start md:justify-start justify-start gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-045122.png" alt="" class="lg:w-[70px] md:w-[70px] w-[70px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[20px] md:h-[20px] h-[20px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <div class="thrv_wrapper thrv_text_element" data-css="tve-u-186e6be43e5"> <p style="margin: 0;"><strong>Moshe Milman<br></strong><span style="font-size: 10px;">Co-Founder and COO <strong>@Applitools</strong></span></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="margin: 0;"><span style="font-size: 14px;"><em>Joe's service is outstanding. He <strong>setup a virtual event with over 1,000 attendees</strong> in a matter of days, and built an amazing online experience for the event attendees.</em></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[48%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-tl-[15px] rounded-tr-[15px] rounded-br-[15px] rounded-bl-[15px] [box-shadow:0px_0px_18px_0px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[30px] md:pt-[30px] pt-[30px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[30px] md:pb-[30px] pb-[30px] lg:pl-[30px] md:pl-[30px] pl-[30px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[32%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Zakir-Ghazi-150x150-c-center.webp" alt="" class="lg:w-[60px] md:w-[60px] w-[60px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[60px] h-[60px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-start md:justify-start justify-start gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-045122.png" alt="" class="lg:w-[70px] md:w-[70px] w-[70px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[20px] md:h-[20px] h-[20px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <div class="thrv_wrapper thrv_text_element" data-css="tve-u-186e6be43e5"> <p style="margin: 0;"><strong><span style="font-size: 18px;">Zakir Ghazi<br></span></strong><span style="font-size: 10px;">Demand Generation Manager <strong>@Testim</strong></span></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="margin: 0px 0px 10px; line-height: 1.1;"><span style="font-size: 14px;"><em>Working with Joe and Stephanie has <strong>been an absolute pleasure!</strong></em></span></p> <p style="margin: 0px; line-height: 1.1;"><span style="font-size: 14px;"><em>Their industry knowledge, professionalism, and ease of work made all the difference for our team.</em></span></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] bg-[#fbfaff] bg-auto bg-repeat bg-center w-full min-h-[0px] relative "> <div class="container-content-inner lg:w-[1340px] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[50px] md:pt-[30px] pt-[20px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[50px] md:pb-[30px] pb-[20px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-095028.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[200px] md:h-[150px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] bg-[#fbfaff] bg-auto bg-repeat bg-center w-full min-h-[0px] relative "> <div class="container-content-inner lg:w-[810px] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[50px] md:pb-[50px] pb-[50px] lg:pl-[16px] md:pl-[16px] pl-[16px] flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-center md:justify-center justify-center lg:items-start md:items-start items-start gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[5px] md:gap-x-[5px] lg:gap-x-[5px] relative z-1"> <div class="flex-item lg:w-[50%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/7d0430eb-6815-4da6-b85e-64bacc0ea0f4.jpeg" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Liat Niederman</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">As proud sponsors of Automation Guild 2025, BlinqIO enthusiastically endorses this standout event. Automation Guild continues to lead as a top-tier online conference, delivering deep, relevant insights into the latest automation testing. The audience was highly engaged, creating meaningful conversations and genuine interest in every session. Our sponsorship delivered strong ROI—high visibility, direct interaction with our ideal customers, and valuable feedback already informing our roadmap. A special thanks to Stephanie for flawless event execution and to Joe for bringing his signature mix of insight and energy, which made even complex topics feel approachable and exciting. Kudos to the entire team. We're already looking forward to the next Automation Guild.</span><br><span style="font-size: 12px;"><br>22/03/2025</span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/b6e5f612-dde3-4f28-a9de-a4196ee4ad12.jpeg" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Eran Kinsbruner</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">A ton of practical tips and tricks for advanced test automation. This book Automation Awesomeness has pure gold for any test automation engineer who wishes to either get started with specific areas and test frameworks or enhance existing skills. The collection of expert tips in this book is unmatched and would offer useful information for many years to come. Joe has picked the exact sets of topics and techniques that modern testers need in order to excel at their job.</span><br><span style="font-size: 12px;"><br>06/03/2024<br></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/66ce86e2-bef8-43ba-9be0-8be68ad1af1b.jpeg" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Brayden Stokes</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">Automation Guild 2024 has been fantastic! I've enjoyed learning about the newest technology and how to elevate my usage of existing programs. I've also gained a lot of confidence in my automation abilities. I am self taught, never had formal training for any automation work, so it is great to learn that I have been utilizing tools properly and even better to learn more ways to utilize them.</span><br><span style="font-size: 12px;"><br>07/02/2024<br></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/d82b522b-2411-44f8-8a66-65d1134bf8c7-1.png" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Sai Narayan C G</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">The TestGuild podcast and YouTube interview with our CEO, Srirang Srikantha, gave our brand a significant boost in visibility. We saw a noticeable increase in traffic and interest from visitors wanting to learn more about our product!</span><br><span style="font-size: 12px;"><br>05/04/2025<br></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/c71f46b5-2096-4618-9909-85151bc3d922-1-scaled.jpeg" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Robin</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">Joe’s podcast is the best in the industry for test automation practitioners. It’s insightful, carries the latest news and is the oldest (I remember) on this topic. </span><br><span style="font-size: 12px;"><br>20/02/2024<br></span></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[50%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/e69a0728-d25c-44e1-9856-1447cf445fb8-1.png" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Geosley Andrades</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">TestGuild podcast is a wonderful dose of learning for every test automation engineer. I enjoy listening to various testing topics from industry experts, which helps me keep up with industry trends and what's new in the space of test automation. The quality of questions that Joe asks makes the podcast really informative and top-notch.</span><br><span style="font-size: 12px;"><br>23/02/2024<br></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/117eda2b-2c2c-4f82-bfdd-088635bdce08-1.jpeg" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Glenn Aranas</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">Hello, I am Glenn the SDET. This AG24 showed me tools and new test processes that I can share with my colleagues and potentially improve our product quality. The community is active and there's always someone who is willing to share their knowledge.</span><br><span style="font-size: 12px;"><br>07/02/2024<br><br></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/4cdaaeaf-127c-4b0f-ad5e-eb7b7efc0114.jpeg" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Shane Evans</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">Working with the TestGuild team is seamless. They're professional, efficient, and always deliver. With our busy schedule, Joe’s timely reminders keep us on track. Plus, their event promotion—before, during, and after—is a key reason we keep coming back.</span><br><span style="font-size: 12px;"><br>26/10/2023<br></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/fb2aa030-daea-44ec-ab1f-f7d4d2858c7e.jpeg" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[150px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Victor Vasilache</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[150px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">I greatly appreciate your efforts for creating and making the Hands-On Guide to API Testing with Karate course available. Karate documentation is quite large and this course made a perfect introduction for me.</span><br><span style="font-size: 12px;"><br>06/03/2024<br><br></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/493d027b-2da3-4cc1-9130-460b1021fecd.jpeg" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Harshita B</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">The podcast has definitely helped increase our brand reach, thank you!</span><br><span style="font-size: 12px;"><br>19/02/2024<br></span></p> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] [box-shadow:0px_0px_10px_2px_rgba(208,_208,_208,_0.5)] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[20px] md:pt-[20px] pt-[20px] lg:pr-[20px] md:pr-[20px] pr-[20px] lg:pb-[20px] md:pb-[20px] pb-[20px] lg:pl-[20px] md:pl-[20px] pl-[20px] bg-[#ffffff] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:items-center md:items-center items-center gap-y-[10px] md:gap-y-[10px] lg:gap-y-[10px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[43%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/d8841390-e7fc-45bd-9e2f-0f5de1ea1204.jpeg" alt="" class="lg:w-[60px] md:w-[500px] w-[500px] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[60px] md:h-[40px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] rounded-tl-[100px] rounded-tr-[100px] rounded-br-[100px] rounded-bl-[100px] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-cover" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[70%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h6 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[15px] md:text-[16px] text-[18px] font-semibold text-[#000000] text-left lg:leading-[1.5] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Bill Hayduk</h6> </div> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[35%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2026/01/Screenshot-2026-01-08-100209.png" alt="" class="lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[30px] md:h-[40px] h-[70px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="line-height: 1.1; margin: 0;"><span style="font-size: 14px;">Our TestGuild’s webinar delivered 6 calls & a promising deal. Joe’s team made it effortless—our expertise reached the right audience with real results!</span><br><span style="font-size: 12px;"><br>18/03/2025<br></span></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="container-content border-none rounded-[0] bg-[#FFFFFF] bg-auto bg-repeat bg-center w-full min-h-[120pxpx] relative "> <div class="container-content-inner lg:w-[1300px] md:w-[1100px] w-[1100px] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[120px] md:min-h-[120px] min-h-[120px] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[50px] md:mt-[30px] mt-[20px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[50px] md:mb-[30px] mb-[20px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[50px] md:pr-[30px] pr-[30px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[50px] md:pl-[30px] pl-[30px] flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-tl-[20px] rounded-tr-[20px] rounded-br-[20px] rounded-bl-[20px] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-auto md:min-h-[120px] min-h-[120px] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-auto bg-no-repeat bg-right-top [background-image:linear-gradient(245deg,#262262_15%,_#6056f6_78%)] [background-attachment:scroll] relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap justify-center md:justify-center lg:justify-center items-center md:items-center lg:items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner grid lg:justify-end md:justify-center justify-center lg:items-start md:items-center items-center gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:grid-cols-2 md:grid-cols-1 grid-cols-1 lg:grid-rows-2 md:grid-rows-1 grid-rows-1 w-full relative relative z-1"> <div class="grid-item lg:w-[100%] md:w-[100%] w-[100%] lg:col-span-1 md:col-span-1 col-span-1 lg:row-span-2 md:row-span-2 row-span-2 h-full "> <div class="grid-item-inner flex flex-1 h-full items-start justify-end"> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[508px] md:min-h-[0px] min-h-[0px] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[32px] md:pt-[32px] pt-[32px] lg:pr-[23px] md:pr-[23px] pr-[23px] lg:pb-[23px] md:pb-[23px] pb-[23px] lg:pl-[50px] md:pl-[23px] pl-[23px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-center md:justify-center justify-center lg:items-center md:items-center items-center gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative bg-cover bg-no-repeat bg-center "> <h3 class="flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] lg:text-[45px] md:text-[40px] text-[40px] font-bold text-[#ffffff] text-left lg:leading-[1] md:leading-[1.5] leading-[1.5] border-none rounded-[0px] lg:mt-[20px] md:mt-[20px] mt-[20px] lg:mb-[15px] md:mb-[15px] mb-[15px] pt-[0px] pb-[0px] pl-[0px] pr-[0px] lg:w-[100%] md:w-[100%] w-[100%] max-w-[100%] lg:h-auto md:h-auto h-auto">Grow Your Software Company With Us</h3> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="wysiwyg-block relative block gap-y-[20px] md:gap-y-[20px] lg:gap-y-[20px] gap-x-[20px] md:gap-x-[20px] lg:gap-x-[20px] border-solid border-[#000000] rounded-[4px] m-0 pt-[0px] pb-[0px] pl-[0px] pr-[0px] block bg-[transparent] bg-auto bg-repeat bg-center leading-none"> <p style="text-align: left;"><span style="color: #ffffff;">Get started with us and let us help you to reach your target audience with a custom strategies just for you!</span></p> </div> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-row md:flex-row flex-row lg:flex-nowrap md:flex-nowrap flex-nowrap md:justify-center justify-center lg:items-center md:items-center items-center gap-y-[0px] md:gap-y-[0px] lg:gap-y-[0px] gap-x-[10px] md:gap-x-[10px] lg:gap-x-[10px] w-full relative relative z-1"> <div class="flex-item lg:w-[260px] md:w-[260px] w-[203px] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="ab-button-container flex justify-center items-start"> <a href="https://testguild.com/mediakit/" class="lg:text-[19px] md:text-[16px] text-[16px] font-semibold text-[white] text-center lg:tracking-[2px] md:tracking-[0px] tracking-[0px] lg:leading-[1] md:leading-[1.5] leading-[1.5] border-[#2fa745] rounded-tl-[30px] rounded-tr-[30px] rounded-br-[30px] rounded-bl-[30px] m-0 lg:pt-[15px] md:pt-[15px] pt-[15px] lg:pr-[30px] md:pr-[30px] pr-[30px] lg:pb-[15px] md:pb-[15px] pb-[15px] lg:pl-[30px] md:pl-[30px] pl-[30px] flex items-center justify-center lg:min-w-[100%] md:min-w-[100%] min-w-[100%] hover:scale-105 transition-transform gap-[11px] flex-row bg-[#28A745] bg-auto bg-repeat bg-center relative"> <span class="relative">Let's Talk</span> <img src="https://app.testguild.com/wp-content/uploads/2025/08/cta-arrow.webp" alt="" class="w-[20px] h-[20px] inline-block relative"> </a> </div> </div> </div> <div class="flex-item lg:w-[234px] md:w-[234px] w-[212px] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="container-content border-none rounded-[0] lg:w-[100%] md:w-[100%] w-[100%] lg:min-w-[10px] md:min-w-[10px] min-w-[10px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[0] md:min-h-[0] min-h-[0] lg:max-h-auto md:max-h-auto max-h-auto lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[auto] md:mr-[auto] mr-[auto] lg:mb-[10px] md:mb-[10px] mb-[10px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[8px] md:pt-[8px] pt-[8px] lg:pr-[16px] md:pr-[16px] pr-[16px] lg:pb-[8px] md:pb-[8px] pb-[8px] lg:pl-[16px] md:pl-[16px] pl-[16px] bg-[transparent] bg-auto bg-repeat bg-center relative relative "> <div class="container-content-inner flex lg:flex-col md:flex-col flex-col lg:flex-nowrap md:flex-nowrap flex-nowrap lg:justify-center md:justify-center justify-center lg:items-center md:items-center items-center gap-y-[5px] md:gap-y-[5px] lg:gap-y-[5px] gap-x-[0px] md:gap-x-[0px] lg:gap-x-[0px] w-full relative relative z-1"> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <figure class="text-center bg-auto bg-repeat bg-center "> <img src="https://app.testguild.com/wp-content/uploads/2025/05/star13-1.png" alt="" class="lg:w-auto md:w-auto w-auto lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-auto md:h-auto h-auto lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[0px] mr-[0px] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[0px] md:ml-[0px] ml-[0px] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex object-contain" width="100%"> </figure> </div> </div> <div class="flex-item lg:w-[100%] md:w-[100%] w-[100%] bg-[transparent] border-[none] rounded-[0] p-[0] shadow-[none] overflow-visible h-[100%] "> <div class="flex-item-inner "> <div class="relative overflow-hidden rounded-tl-[4px] rounded-tr-[4px] rounded-br-[4px] rounded-bl-[4px]"> <div class="absolute inset-0 bg-[transparent]"></div> <div class="absolute inset-0 bg-auto bg-repeat bg-center"></div> <div class="content-block border-solid border-[#000000] rounded-[4px] lg:ml-[0px] md:ml-[0px] ml-[0px] pt-[0px] pb-[0px] pl-[0px] pr-[0px] block lg:text-[16px] md:text-[16px] text-[16px] [text-shadow:0px_0px_0px_rgba(0,0,0,0.5)] text-left leading-[1.5] max-w-[100%] space-y-2 relative z-10"> <p class="text-left"><span style="color: rgb(236, 240, 241); font-size: 11px; text-align: center;">Based on 228 Reviews</span></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="grid-item lg:w-[100%] md:w-[100%] w-[100%] h-full hidden md:hidden lg:block"> <div class="grid-item-inner flex flex-1 h-full items-start justify-end"> <figure class="text-center bg-auto bg-repeat bg-center hidden md:hidden lg:block"> <img src="https://app.testguild.com/wp-content/uploads/2025/08/lets-talk-3.png" alt="" class="lg:w-[100%] md:w-[100%] w-[99%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[228px] md:h-[186px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[0px] md:mt-[0px] mt-[0px] lg:mr-[0px] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex hidden md:hidden lg:block object-contain" width="100%"> </figure> </div> </div> <div class="grid-item h-full hidden md:hidden lg:block"> <div class="grid-item-inner flex flex-1 h-full items-start justify-end"> <figure class="text-center bg-auto bg-repeat bg-center hidden md:hidden lg:block"> <img src="https://app.testguild.com/wp-content/uploads/2025/08/lets-talk-2a.svg" alt="" class="lg:w-[100%] md:w-[99%] w-[99%] lg:min-w-[5px] md:min-w-[5px] min-w-[5px] max-w-[100%] lg:h-[324px] md:h-[150px] h-[100px] lg:min-h-[5px] md:min-h-[5px] min-h-[5px] lg:max-h-[100%] md:max-h-[100%] max-h-[100%] lg:mt-[-80px] md:mt-[0px] mt-[0px] lg:mr-[30px] md:mr-[auto] mr-[auto] lg:mb-[0px] md:mb-[0px] mb-[0px] lg:ml-[auto] md:ml-[auto] ml-[auto] lg:pt-[0px] md:pt-[0px] pt-[0px] lg:pr-[0px] md:pr-[0px] pr-[0px] lg:pb-[0px] md:pb-[0px] pb-[0px] lg:pl-[0px] md:pl-[0px] pl-[0px] flex hidden md:hidden lg:block object-contain" width="100%"> </figure> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> <!-- Vimeo embed detected - no additional scripts required --></div> </div> </main>  <footer class="bg-white"> <div class="bg-primary"> <div class="mx-auto w-full max-w-pageContent px-4 py-14"> <div class="md:flex md:justify-between"> <div class="mb-6 md:mb-0"> <a href="/" class="flex items-center"> <img src="/images/logo-footer.png" class="me-3" alt="Testguild Logo"> </a> </div> <div class="grid grid-cols-3 gap-20"> <div> <ul class="text-white text-sm"> <li class="mb-2"> <svg width="0.88em" height="1em" class="inline-block w-[20px] h-[20px] md:w-[25px] md:h-[25px] text-white mr-2" data-icon="linkedInSquare">   <symbol id="ai:local:linkedInSquare" viewBox="0 0 448 512"><path fill="currentColor" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5m282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></symbol><use href="#ai:local:linkedInSquare"></use>  </svg> <a href="https://www.linkedin.com/in/joecolantonio?original_referer=https%3A%2F%2Ftestguild.com%2F" target="_blank" class="hover:underline">LinkedIn</a> </li> <li class="mb-2"> <svg width="1.13em" height="1em" class="inline-block w-[20px] h-[20px] md:w-[25px] md:h-[25px] text-white mr-2" data-icon="ytSqure">   <symbol id="ai:local:ytSqure" viewBox="0 0 576 512"><path fill="currentColor" d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305m-317.51 213.508V175.185l142.739 81.205z"/></symbol><use href="#ai:local:ytSqure"></use>  </svg> <a href="https://www.youtube.com/channel/UC1IuOajCAtHvLyZgkIK47dQ" target="_blank" class="hover:underline">Youtube</a> </li> <li class="mb-2"> <svg width="0.98em" height="1em" class="inline-block w-[17px] h-[17px] md:w-[22px] md:h-[22px] text-white mr-2" data-icon="twitter">   <symbol id="ai:local:twitter" viewBox="0 0 1200 1227"><g fill="none"><g clip-path="url(#a)"><path fill="currentColor" d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284zM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854z"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h1200v1227H0z"/></clipPath></defs></g></symbol><use href="#ai:local:twitter"></use>  </svg> <a href="https://twitter.com/testguilds" target="_blank" class="hover:underline">Twitter</a> </li> </ul> </div> <div> <ul class="text-white text-sm"> <li class="mb-2"> <svg width="0.88em" height="1em" class="inline-block w-[20px] h-[20px] md:w-[25px] md:h-[25px] text-white mr-2" data-icon="fbSquare">   <symbol id="ai:local:fbSquare" viewBox="0 0 448 512"><path fill="currentColor" d="M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48"/></symbol><use href="#ai:local:fbSquare"></use>  </svg> <a href="https://twitter.com/testguilds" target="_blank" class="hover:underline">Facebook</a> </li> <li class="mb-2"> <svg width="0.88em" height="1em" class="inline-block w-[20px] h-[20px] md:w-[25px] md:h-[25px] text-white mr-2" data-icon="tiktok">   <symbol id="ai:local:tiktok" viewBox="0 0 448 512"><path fill="currentColor" d="M448 209.91a210.06 210.06 0 0 1-122.77-39.25v178.72A162.55 162.55 0 1 1 185 188.31v89.89a74.62 74.62 0 1 0 52.23 71.18V0h88a121 121 0 0 0 1.86 22.17A122.18 122.18 0 0 0 381 102.39a121.43 121.43 0 0 0 67 20.14Z"/></symbol><use href="#ai:local:tiktok"></use>  </svg> <a href="https://www.tiktok.com/@testguild" target="_blank" class="hover:underline">Tiktok</a> </li> <li class="mb-2"> <svg width="0.88em" height="1em" class="inline-block w-[20px] h-[20px] md:w-[25px] md:h-[25px] text-white mr-2" data-icon="instagram">   <symbol id="ai:local:instagram" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141m0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7m146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8m76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8M398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1"/></symbol><use href="#ai:local:instagram"></use>  </svg> <a href="https://www.instagram.com/testguilds" target="_blank" class="hover:underline">Instagram</a> </li> </ul> </div> </div> </div> </div> <div class="bg-tsDarkBlue"> <div class="mx-auto w-full max-w-pageContent p-4 py-6"> <div class="grid grid-cols-1 md:grid-cols-3 text-white"> <div class="mb-4 md:mb-0"><img src="/images/logo-dark-sm.png" alt="Testguild small logo" class="m-auto md:m-0"></div> <div class="text-xs text-center mb-2 md:mb-0 content-center">Copyright 2026 by Joe Calantonio <span class="px-1">|</span> Test Guild LLC</div> <div class="text-xs text-center">  <a href="/mediakit/">Work With Us!</a> <span class="px-1">|</span> <a href="/disclaimer/">Disclaimer</a> <span class="px-1">|</span> <a href="/privacy-policy/">Privacy Policy</a> <span class="px-1">|</span><br class="hidden md:block"> <a href="tel:+1%E2%80%AA(865)%20272-6088">Call Us +1 (865) 272-6088</a>  </div> </div> </div> </div> </div> </footer>  <script>(function(){const defaultTheme = "light:only";

  if (window.basic_script) {
    return;
  }

  window.basic_script = true;

  function applyTheme(theme) {
    if (theme === 'dark') {
      document.documentElement.classList.add('dark');
    } else {
      document.documentElement.classList.remove('dark');
    }
  }

  const initTheme = function () {
    if ((defaultTheme && defaultTheme.endsWith(':only')) || (!localStorage.theme && defaultTheme !== 'system')) {
      applyTheme(defaultTheme.replace(':only', ''));
    } else if (
      localStorage.theme === 'dark' ||
      (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)
    ) {
      applyTheme('light');
    } else {
      applyTheme('light');
    }
  };
  initTheme();

  function attachEvent(selector, event, fn) {
    const matches = typeof selector === 'string' ? document.querySelectorAll(selector) : selector;
    if (matches && matches.length) {
      matches.forEach((elem) => {
        elem.addEventListener(event, (e) => fn(e, elem), false);
      });
    }
  }

  const onLoad = function () {
    let lastKnownScrollPosition = window.scrollY;
    let ticking = true;

    attachEvent('#header nav', 'click', function () {
      document.querySelector('[data-aw-toggle-menu]')?.classList.remove('expanded');
      document.body.classList.remove('overflow-hidden');
      document.getElementById('header')?.classList.remove('h-screen');
      document.getElementById('header')?.classList.remove('expanded');
      document.getElementById('header')?.classList.remove('bg-page');
      document.querySelector('#header nav')?.classList.add('hidden');
      document.querySelector('#header > div > div:last-child')?.classList.add('hidden');
    });

    attachEvent('[data-aw-toggle-menu]', 'click', function (_, elem) {
      elem.classList.toggle('expanded');
      document.body.classList.toggle('overflow-hidden');
      document.getElementById('header')?.classList.toggle('h-screen');
      document.getElementById('header')?.classList.toggle('expanded');
      document.getElementById('header')?.classList.toggle('bg-page');
      document.querySelector('#header nav')?.classList.toggle('hidden');
      document.querySelector('#header > div > div:last-child')?.classList.toggle('hidden');
    });

    attachEvent('[data-aw-toggle-color-scheme]', 'click', function () {
      if (defaultTheme.endsWith(':only')) {
        return;
      }
      document.documentElement.classList.toggle('dark');
      localStorage.theme = document.documentElement.classList.contains('dark') ? 'dark' : 'light';
    });

    attachEvent('[data-aw-social-share]', 'click', function (_, elem) {
      const network = elem.getAttribute('data-aw-social-share');
      const url = encodeURIComponent(elem.getAttribute('data-aw-url'));
      const text = encodeURIComponent(elem.getAttribute('data-aw-text'));

      let href;
      switch (network) {
        case 'facebook':
          href = `https://www.facebook.com/sharer.php?u=${url}`;
          break;
        case 'twitter':
          href = `https://twitter.com/intent/tweet?url=${url}&text=${text}`;
          break;
        case 'linkedin':
          href = `https://www.linkedin.com/shareArticle?mini=true&url=${url}&title=${text}`;
          break;
        case 'whatsapp':
          href = `https://wa.me/?text=${text}%20${url}`;
          break;
        case 'mail':
          href = `mailto:?subject=%22${text}%22&body=${text}%20${url}`;
          break;

        default:
          return;
      }

      const newlink = document.createElement('a');
      newlink.target = '_blank';
      newlink.href = href;
      newlink.click();
    });

    const screenSize = window.matchMedia('(max-width: 767px)');
    screenSize.addEventListener('change', function () {
      document.querySelector('[data-aw-toggle-menu]')?.classList.remove('expanded');
      document.body.classList.remove('overflow-hidden');
      document.getElementById('header')?.classList.remove('h-screen');
      document.getElementById('header')?.classList.remove('expanded');
      document.getElementById('header')?.classList.remove('bg-page');
      document.querySelector('#header nav')?.classList.add('hidden');
      document.querySelector('#header > div > div:last-child')?.classList.add('hidden');
    });

    function applyHeaderStylesOnScroll() {
      const header = document.querySelector('#header[data-aw-sticky-header]');
      if (!header) return;
      if (lastKnownScrollPosition > 60 && !header.classList.contains('scroll')) {
        header.classList.add('scroll');
      } else if (lastKnownScrollPosition <= 60 && header.classList.contains('scroll')) {
        header.classList.remove('scroll');
      }
      ticking = false;
    }
    applyHeaderStylesOnScroll();

    attachEvent([document], 'scroll', function () {
      lastKnownScrollPosition = window.scrollY;

      if (!ticking) {
        window.requestAnimationFrame(() => {
          applyHeaderStylesOnScroll();
        });
        ticking = true;
      }
    });
  };
  const onPageShow = function () {
    document.documentElement.classList.add('motion-safe:scroll-smooth');
    const elem = document.querySelector('[data-aw-toggle-menu]');
    if (elem) {
      elem.classList.remove('expanded');
    }
    document.body.classList.remove('overflow-hidden');
    document.getElementById('header')?.classList.remove('h-screen');
    document.getElementById('header')?.classList.remove('expanded');
    document.querySelector('#header nav')?.classList.add('hidden');
  };

  window.onload = onLoad;
  window.onpageshow = onPageShow;

  document.addEventListener('astro:after-swap', () => {
    initTheme();
    onLoad();
    onPageShow();
  });
})();</script> <!-- Header Navigation Script - Must be outside React wrapper to work with isReactErrorHandler --> <script>
      (function() {
        'use strict';
        
        let clickHandler = null;
        
        function handleNavClick(e) {
          // Check if click is on burger button or its children
          const burger = e.target.closest('[data-nav-burger]');
          const close = e.target.closest('[data-nav-close]');
          
          if (!burger && !close) return;

          e.preventDefault();
          e.stopImmediatePropagation(); // Use stopImmediatePropagation to prevent React from handling it
          
          const navLink = document.querySelector('[data-nav-link]');
          if (!navLink) {
            return;
          }

          if (burger) {
            navLink.classList.toggle('hidden');
          } else if (close) {
            navLink.classList.add('hidden');
          }
        }

        function attachDirectListeners() {
          const navBurger = document.querySelector('[data-nav-burger]');
          const navClose = document.querySelector('[data-nav-close]');
          
          if (navBurger && !navBurger.hasAttribute('data-nav-listener-direct')) {
            navBurger.addEventListener('click', (e) => {
              e.preventDefault();
              e.stopImmediatePropagation();
              const navLink = document.querySelector('[data-nav-link]');
              if (navLink) {
                navLink.classList.toggle('hidden');
              }
            }, true);
            navBurger.setAttribute('data-nav-listener-direct', 'true');
          }
          
          if (navClose && !navClose.hasAttribute('data-nav-listener-direct')) {
            navClose.addEventListener('click', (e) => {
              e.preventDefault();
              e.stopImmediatePropagation();
              const navLink = document.querySelector('[data-nav-link]');
              if (navLink) {
                navLink.classList.add('hidden');
              }
            }, true);
            navClose.setAttribute('data-nav-listener-direct', 'true');
          }
        }

        function initNavigation() {
          // Remove existing listener if any
          if (clickHandler && document.body) {
            document.body.removeEventListener('click', clickHandler, true);
          }
          
          // Create new handler
          clickHandler = handleNavClick;
          
          // Use event delegation on body with capture phase
          // Capture phase runs before React's handlers
          if (document.body) {
            document.body.addEventListener('click', clickHandler, true);
          }
          
          // Also attach direct listeners as fallback
          attachDirectListeners();
        }

        // Wait for body to exist
        function waitForBody(callback) {
          if (document.body) {
            callback();
          } else {
            setTimeout(() => waitForBody(callback), 10);
          }
        }

        // Initialize when body is ready
        waitForBody(() => {
          initNavigation();
          
          // Use MutationObserver to watch for button elements appearing
          // This handles React hydration replacing elements
          const startTime = Date.now();
          const observer = new MutationObserver(() => {
            const burger = document.querySelector('[data-nav-burger]');
            if (burger && !burger.hasAttribute('data-nav-listener-direct')) {
              attachDirectListeners();
            }
          });
          
          // Observe the document for changes
          observer.observe(document.documentElement, {
            childList: true,
            subtree: true,
            attributes: false
          });
          
          // Also check periodically
          const checkInterval = setInterval(() => {
            attachDirectListeners();
            // Stop after 5 seconds
            if (Date.now() - startTime > 5000) {
              clearInterval(checkInterval);
              observer.disconnect();
            }
          }, 200);
          
          // Also use timeouts as fallback
          setTimeout(initNavigation, 500);
          setTimeout(initNavigation, 1000);
          setTimeout(initNavigation, 2000);
        });

        // Handle Astro View Transitions
        document.addEventListener('astro:page-load', () => {
          waitForBody(() => {
            setTimeout(initNavigation, 100);
          });
        });

        document.addEventListener('astro:after-swap', () => {
          waitForBody(() => {
            setTimeout(initNavigation, 100);
          });
        });
      })();
    </script> <!-- Notification Script - Must be outside React wrapper to work with isReactErrorHandler --> <script>
      (function() {
        'use strict';
        
        // Auto-hide timeout in milliseconds (6 seconds recommended - good balance)
        const AUTO_HIDE_DELAY = 10000;
        let hideTimeout = null;
        
        // Notification type styles mapping
        const NOTIFICATION_STYLES = {
          error: 'fixed bottom-0 left-0 right-0 z-50 text-white bg-[#a3122d] w-full px-8 py-5 border-l-[10px] border-[#750b1e] shadow-lg transform translate-y-full opacity-0 pointer-events-none transition-all duration-300 ease-in-out text-center',
          success: 'fixed bottom-0 left-0 right-0 z-50 text-white bg-[#117501] w-full px-8 py-5 border-l-[10px] border-[#16a300] shadow-lg transform translate-y-full opacity-0 pointer-events-none transition-all duration-300 ease-in-out text-center',
          warning: 'fixed bottom-0 left-0 right-0 z-50 text-white bg-[#e3ae00] w-full px-8 py-5 border-l-[10px] border-[#b08700] shadow-lg transform translate-y-full opacity-0 pointer-events-none transition-all duration-300 ease-in-out text-center',
          default: 'fixed bottom-0 left-0 right-0 z-50 text-primary bg-gray-300 w-full px-8 py-5 border-l-[10px] border-gray-500 shadow-lg transform translate-y-full opacity-0 pointer-events-none transition-all duration-300 ease-in-out text-center'
        };
        
        // Helper function to get cookie value
        function getCookie(name) {
          const value = '; ' + document.cookie;
          const parts = value.split('; ' + name + '=');
          if (parts.length === 2) {
            const cookieValue = parts.pop().split(';').shift();
            // Decode URL-encoded cookie value
            try {
              return decodeURIComponent(cookieValue);
            } catch {
              // If decoding fails, return as-is
              return cookieValue;
            }
          }
          return null;
        }
        
        // Helper function to remove cookie
        function removeCookie(name) {
          document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT';
        }
        
        // Function to hide notification
        function hideNotification() {
          const selector = document.querySelector('#notification');
          if (selector) {
            // Clear any pending timeout
            if (hideTimeout) {
              clearTimeout(hideTimeout);
              hideTimeout = null;
            }
            // Add classes to hide notification
            selector.classList.add('translate-y-full', 'opacity-0', 'pointer-events-none');
            selector.classList.remove('pointer-events-auto');
            // Clear the message
            const messageEl = selector.querySelector('#notification-message');
            if (messageEl) {
              messageEl.innerText = '';
            }
          }
        }
        
        // Function to show real-time notification (exposed globally)
        function showRealtimeNotification(message, type = 'error') {
          const selector = document.querySelector('#notification');
          const messageEl = selector?.querySelector('#notification-message');
          
          if (!selector || !messageEl) {
            console.warn('Notification element not found');
            return;
          }
          
          // Clear any existing timeout
          if (hideTimeout) {
            clearTimeout(hideTimeout);
            hideTimeout = null;
          }
          
          // Update notification type styles
          const newStyles = NOTIFICATION_STYLES[type] || NOTIFICATION_STYLES.default;
          selector.className = newStyles;
          
          // Set the message
          messageEl.innerText = message;
          
          // Remove translate-y-full and opacity-0 to trigger slide-up animation
          selector.classList.remove('translate-y-full', 'opacity-0', 'pointer-events-none');
          // Add pointer-events-auto to make it interactive
          selector.classList.add('pointer-events-auto');
          
          // Set up auto-hide timeout
          hideTimeout = setTimeout(() => {
            hideNotification();
          }, AUTO_HIDE_DELAY);
        }
        
        // Function to display notification from cookie
        function displayNotification() {
          const msg = getCookie('notification');
          const type = getCookie('notification_type') || 'error';
          
          if (msg) {
            // Check if message contains type prefix (format: "type|message")
            let notificationType = type;
            let notificationMessage = msg;
            
            if (msg.includes('|')) {
              const parts = msg.split('|');
              if (parts.length >= 2) {
                notificationType = parts[0];
                notificationMessage = parts.slice(1).join('|');
              }
            }
            
            showRealtimeNotification(notificationMessage, notificationType);
            
            // Remove cookies
            removeCookie('notification');
            removeCookie('notification_type');
          }
        }
        
        // Wait for DOM to be ready
        function waitForDOM(callback) {
          if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', callback);
          } else {
            callback();
          }
        }
        
        // Expose global notification functions
        window.showRealtimeNotification = showRealtimeNotification;
        window.showErrorMessage = function(message) { showRealtimeNotification(message, 'error'); };
        window.showSuccessMessage = function(message) { showRealtimeNotification(message, 'success'); };
        window.showWarningMessage = function(message) { showRealtimeNotification(message, 'warning'); };
        
        // Initialize notification display
        waitForDOM(() => {
          displayNotification();
          
          // Set up close button handler
          const closeButton = document.querySelector('#notification-close');
          if (closeButton) {
            closeButton.addEventListener('click', hideNotification);
          }
        });
        
        // Also handle Astro View Transitions
        document.addEventListener('astro:page-load', () => {
          setTimeout(() => {
            displayNotification();
            const closeButton = document.querySelector('#notification-close');
            if (closeButton) {
              closeButton.addEventListener('click', hideNotification);
            }
          }, 100);
        });
        
        document.addEventListener('astro:after-swap', () => {
          setTimeout(() => {
            displayNotification();
            const closeButton = document.querySelector('#notification-close');
            if (closeButton) {
              closeButton.addEventListener('click', hideNotification);
            }
          }, 100);
        });
      })();
    </script>  <!-- Quick Automation Tips Modal --> <script>
      // Wait for DOM to be ready
      document.addEventListener('DOMContentLoaded', function() {
        // Modal trigger functionality
        document.getElementById('open-tips-modal')?.addEventListener('click', function() {
          const modal = document.getElementById('tips-modal-backdrop');
          if (modal) {
            modal.classList.remove('hide');
            modal.classList.add('show');
            modal.style.display = 'flex';
          }
        });
        
        // Automatic anchor link detection - any link with href="#tips-modal"
        document.addEventListener('click', function(e) {
          const target = e.target;
          // Use closest() to find the anchor tag even if clicking on child elements
          const anchor = target.closest('a[href="#tips-modal"]');
          if (anchor) {
            e.preventDefault();
            e.stopPropagation();
            //console.log('Anchor link clicked, opening modal...');
            const modal = document.getElementById('tips-modal-backdrop');
            if (modal) {
              modal.classList.remove('hide');
              modal.classList.add('show');
              modal.style.display = 'flex';
              //console.log('Modal opened via anchor link');
            }
            return false;
          }
        });
        
        // Handle hash changes
        window.addEventListener('hashchange', function() {
          if (window.location.hash === '#tips-modal') {
            const modal = document.getElementById('tips-modal-backdrop');
            if (modal) {
              modal.style.opacity = '1';
              modal.style.pointerEvents = 'auto';
            }
          }
        });
        
        // Handle direct URL with anchor
        if (window.location.hash === '#tips-modal') {
          const modal = document.getElementById('tips-modal-backdrop');
          if (modal) {
            modal.style.opacity = '1';
            modal.style.pointerEvents = 'auto';
          }
        }
      });
      
      // Close modal with escape key
      document.addEventListener('keydown', function(e) {
        if (e.key === 'Escape') {
          const modal = document.getElementById('tips-modal-backdrop');
          if (modal) {
            modal.style.opacity = '0';
            modal.style.pointerEvents = 'none';
          }
        }
      });
    </script> <!-- Initialize auth watcher to sync localStorage with cookies --> <script type="module" src="/_astro/Layout.astro_astro_type_script_index_1_lang.BqOlo18L.js"></script> <!-- Initialize Siren visit tracker --> <script>(function(){const wpApiUrl = "https://app.testguild.com/wp-json";

      (function() {
        'use strict';
        
        // Only run in browser environment
        if (typeof window === 'undefined') {
          return;
        }

        // Cookie management functions
        const SIREN_OID_COOKIE_NAME = 'siren_oid';
        
        function getSirenOID() {
          const cookies = document.cookie.split(';');
          for (const cookie of cookies) {
            const [name, value] = cookie.trim().split('=');
            if (name === SIREN_OID_COOKIE_NAME) {
              return decodeURIComponent(value);
            }
          }
          return null;
        }

        function setSirenOID(oid) {
          if (!oid) return;
          
          const expirationDate = new Date();
          expirationDate.setFullYear(expirationDate.getFullYear() + 1);
          
          const isProduction = window.location.protocol === 'https:';
          const cookieValue = `${SIREN_OID_COOKIE_NAME}=${encodeURIComponent(oid)}; Path=/; Expires=${expirationDate.toUTCString()}; SameSite=Lax${isProduction ? '; Secure' : ''}`;
          
          document.cookie = cookieValue;
        }

        function detectRefParameter() {
          const urlParams = new URLSearchParams(window.location.search);
          return urlParams.get('ref');
        }

        async function recordVisit(ref) {
          try {
            const WP_API_URL = wpApiUrl || 'http://localhost:8082';
            
            if (!WP_API_URL) {
              return null;
            }

            const existingOID = getSirenOID();
            
            const requestBody = {};
            if (ref) {
              requestBody.ref = ref;
            }

            const headers = {
              'Content-Type': 'application/json',
              'Accept': 'application/json',
            };

            if (existingOID) {
              headers['X-SIREN-OID'] = existingOID;
            }

            // Build the full URL - handle both cases:
            // 1. Base URL (http://localhost:8082) -> add /wp-json/headless/v1/visit
            // 2. Already includes /wp-json -> just add /headless/v1/visit
            let baseUrl = WP_API_URL.endsWith('/') ? WP_API_URL.slice(0, -1) : WP_API_URL;
            
            // Check if URL already includes /wp-json
            const endpoint = baseUrl.includes('/wp-json') 
              ? '/headless/v1/visit' 
              : '/wp-json/headless/v1/visit';
            
            const fullUrl = baseUrl + endpoint;

            const response = await fetch(fullUrl, {
              method: 'POST',
              headers: headers,
              body: Object.keys(requestBody).length > 0 ? JSON.stringify(requestBody) : undefined,
              credentials: 'include',
            });

            if (!response.ok) {
              return existingOID;
            }

            const oid = response.headers.get('X-SIREN-OID');
            
            if (oid) {
              setSirenOID(oid);
              return oid;
            }

            return existingOID;
          } catch (error) {
            // Fail silently - don't break the site if visit tracking fails
            return getSirenOID();
          }
        }

        // Initialize on page load
        try {
          const ref = detectRefParameter();
          recordVisit(ref).catch(() => {
            // Fail silently
          });
        } catch (error) {
          // Fail silently
        }
      })();
    })();</script> <!-- Initialize Order Attribution Tracking (PixelYourSite replacement) --> <script>
      (function() {
        'use strict';
        if (typeof window === 'undefined') return;

        const STORAGE_KEY = 'tg_order_attribution';
        const UTM_PARAMS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];

        function getUtmFromUrl() {
          const params = new URLSearchParams(window.location.search);
          const utm = {};
          UTM_PARAMS.forEach(function(param) {
            const value = params.get(param);
            if (value) utm[param] = value;
          });
          return utm;
        }

        function getStored() {
          try {
            const stored = sessionStorage.getItem(STORAGE_KEY);
            return stored ? JSON.parse(stored) : null;
          } catch (e) { return null; }
        }

        function store(data) {
          try {
            sessionStorage.setItem(STORAGE_KEY, JSON.stringify(data));
          } catch (e) { /* fail silently */ }
        }

        // Capture attribution
        const existing = getStored();
        const currentUtm = getUtmFromUrl();

        if (!existing) {
          // First page visit - capture landing page and referrer
          store({
            landing_page: window.location.pathname + window.location.search,
            traffic_source: document.referrer || '',
            captured_at: new Date().toISOString(),
            ...currentUtm
          });
        } else if (Object.keys(currentUtm).length > 0) {
          // Update UTM params if new ones detected
          store({ ...existing, ...currentUtm, utm_updated_at: new Date().toISOString() });
        }
      })();
    </script> <!-- Certificate Error Handler --> <script type="module" src="/_astro/Layout.astro_astro_type_script_index_2_lang.vqwucYlH.js"></script> </body> </html><!-- Modal Backdrop --><div id="tips-modal-backdrop" class="hide" onclick="if (event.target === this) { this.classList.remove('show'); this.classList.add('hide'); this.style.display = 'none'; }" data-astro-cid-ioixlemv> <!-- Modal Content --> <div class="bg-white rounded-lg shadow-2xl max-w-4xl w-full mx-4 overflow-hidden" data-astro-cid-ioixlemv> <!-- Close Button --> <button id="close-modal" class="absolute top-4 right-4 text-gray-500 hover:text-gray-700 text-2xl font-bold z-10" onclick="const modal = document.getElementById('tips-modal-backdrop'); modal.classList.remove('show'); modal.classList.add('hide'); modal.style.display = 'none';" data-astro-cid-ioixlemv>
×
</button> <div class="flex flex-col lg:flex-row" data-astro-cid-ioixlemv> <!-- Left Side - Simple Book Image --> <div class="lg:w-1/2 bg-gray-50 p-8 flex items-center justify-center" data-astro-cid-ioixlemv> <div class="text-center" data-astro-cid-ioixlemv> <div class="w-48 h-64 mx-auto mb-4 rounded-lg shadow-lg overflow-hidden" data-astro-cid-ioixlemv> <img src="https://app.testguild.com/wp-content/uploads/2025/08/10-quick-test-automation-tips-download.png" alt="10 Quick Test Automation Tips" class="w-full h-full object-cover" data-astro-cid-ioixlemv> </div> <p class="text-sm text-gray-600" data-astro-cid-ioixlemv>The PDF Will Be Instantly Sent To Your Email.</p> </div> </div> <!-- Right Side - Form Content --> <div class="lg:w-1/2 p-8" data-astro-cid-ioixlemv> <div class="max-w-md mx-auto" data-astro-cid-ioixlemv> <!-- Main Title --> <h2 class="text-2xl font-bold text-gray-900 mb-3" data-astro-cid-ioixlemv>
Get 10 Quick Test Automation Tips You Can Implement Right Now!
</h2> <!-- Description --> <p class="text-gray-600 mb-6" data-astro-cid-ioixlemv>
These are super actionable tips (from top industry experts) you can skim through fast.
</p> <p class="text-gray-600 mb-6 font-bold" data-astro-cid-ioixlemv>
Let me know where to send your PDF:
</p> <!-- Form --> <div class="bg-transparent shadow-none  mx-auto ">  
  <style>
    #submit_36_o4qwoecpi {
      background-color: #10B981 !important;
      color: #ffffff !important;
    }
    #submit_36_o4qwoecpi:hover {
      background-color: #10B981 !important; filter: brightness(0.9) !important;
      color: #ffffff !important;
    }
  </style>
 <div id="notification_36_o4qwoecpi" class="hidden mb-2 p-2 rounded-md"> <p class="text-sm font-medium"></p> </div> <!-- Validation Errors Display (like course forms) --> <div id="message_validation_36_o4qwoecpi" class="mt-0 mb-3"></div> <form id="gravityForm_36_o4qwoecpi" method="POST" class="space-y-3" novalidate> <!-- Honeypot field to catch bots --> <input type="text" name="website" style="display:none !important; position:absolute; left:-9999px;" tabindex="-1" autocomplete="off" aria-hidden="true"> <!-- Security token --> <input type="hidden" name="security_token" value=""> <div data-field-id="1"> <div>   <div class="relative"> <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"> <svg class="h-5 w-5 text-gray-400" fill="currentColor" viewBox="0 0 20 20"> <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"></path> </svg> </div> <input type="text" id="input_1" name="input_1" required class="w-full pl-10 py-1.5 rounded-md shadow-sm focus:outline-none focus:ring-2 border bg-white border-gray-300 text-gray-900 placeholder-gray-400 focus:border-blue-500 focus:ring-blue-500 pl-10" placeholder="First Name" autocomplete="off"> </div> </div> </div><div data-field-id="3"> <div>   <div class="space-y-2"> <div> <div class="relative"> <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"> <svg class="h-5 w-5 text-gray-400" fill="currentColor" viewBox="0 0 20 20"> <path d="M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z"></path> <path d="M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z"></path> </svg> </div> <input type="email" id="input_3" name="input_3" required class="w-full pl-10 py-1.5 rounded-md shadow-sm focus:outline-none focus:ring-2 border bg-white border-gray-300 text-gray-900 placeholder-gray-400 focus:border-blue-500 focus:ring-blue-500 pl-10" placeholder="Email" autocomplete="off"> </div> </div>  </div> </div> </div> <div class="pt-2"> <button type="submit" id="submit_36_o4qwoecpi" class="w-full  px-3 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center " style="background-color: #10B981; color: #ffffff;"> <span class="submit-text">Get the Book</span> <svg class="animate-spin -ml-1 mr-2 h-4 w-4 text-white hidden" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"> <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle> <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path> </svg> </button> </div> </form> </div> <script>(function(){const formId = "36";
const uniqueFormId = "36_o4qwoecpi";
const WP_API_URL = "https://app.testguild.com/wp-json";
const GF_CONSUMER_KEY = "ck_7cfeae07adcdd914d4292237485840438a0703af";
const GF_SECRET_KEY = "cs_1bf0c094d6649400f4dd8405eaf436880ae0a393";
const formDetails = {"fields":[{"type":"text","id":1,"formId":36,"label":"First Name","adminLabel":"","isRequired":true,"size":"large","errorMessage":"","visibility":"visible","inputs":null,"description":"","allowsPrepopulate":false,"inputMask":false,"inputMaskValue":"","inputMaskIsCustom":false,"maxLength":"","labelPlacement":"","descriptionPlacement":"","subLabelPlacement":"","placeholder":"","cssClass":"","inputName":"","noDuplicates":false,"defaultValue":"","enableAutocomplete":false,"autocompleteAttribute":"","choices":"","conditionalLogic":"","productField":"","layoutGridColumnSpan":"","enablePasswordInput":"","enableEnhancedUI":0,"layoutGroupId":"5f44b93e","multipleFiles":false,"maxFiles":"","calculationFormula":"","calculationRounding":"","enableCalculation":"","disableQuantity":false,"displayAllCategories":false,"useRichTextEditor":false,"errors":[],"fields":"","displayOnly":"","pageNumber":1,"inputType":"text"},{"type":"email","id":3,"formId":36,"label":"Email","adminLabel":"","isRequired":true,"size":"large","errorMessage":"","visibility":"visible","inputs":null,"autocompleteAttribute":"email","description":"","allowsPrepopulate":false,"inputMask":false,"inputMaskValue":"","inputMaskIsCustom":false,"maxLength":"","labelPlacement":"","descriptionPlacement":"","subLabelPlacement":"","placeholder":"","cssClass":"","inputName":"","noDuplicates":false,"defaultValue":"","enableAutocomplete":false,"choices":"","conditionalLogic":"","productField":"","layoutGridColumnSpan":12,"emailConfirmEnabled":false,"enableEnhancedUI":0,"layoutGroupId":"75aaecc3","multipleFiles":false,"maxFiles":"","calculationFormula":"","calculationRounding":"","enableCalculation":"","disableQuantity":false,"displayAllCategories":false,"useRichTextEditor":false,"fields":"","displayOnly":"","pageNumber":1,"inputType":"email"}],"button":{"type":"text","text":"Get the Book","imageUrl":"","width":"auto","location":"bottom","layoutGridColumnSpan":12,"id":"submit"},"title":"Thrive - 10 Quick Test Automation Tips","description":"","version":"2.9.21","id":36,"markupVersion":2,"nextFieldId":4,"useCurrentUserAsAuthor":true,"postContentTemplateEnabled":false,"postTitleTemplateEnabled":false,"postTitleTemplate":"","postContentTemplate":"","lastPageButton":null,"pagination":null,"firstPageCssClass":null,"labelPlacement":"top_label","descriptionPlacement":"below","validationPlacement":"below","subLabelPlacement":"below","requiredIndicator":"text","customRequiredIndicator":"(Required)","cssClass":"","saveButtonText":"Save & Continue","limitEntries":false,"limitEntriesCount":"","limitEntriesPeriod":"","limitEntriesMessage":"","scheduleForm":false,"scheduleStart":"","scheduleEnd":"","schedulePendingMessage":"","scheduleMessage":"","requireLogin":false,"requireLoginMessage":"","honeypotAction":"abort","validationSummary":false,"deprecated":"","saveEnabled":"","enableHoneypot":false,"enableAnimation":false,"save":{"enabled":false,"button":{"type":"link","text":"Save & Continue"}},"scheduleStartHour":"","scheduleStartMinute":"","scheduleStartAmpm":"","scheduleEndHour":"","scheduleEndMinute":"","scheduleEndAmpm":"","notifications":{"6682ad4394e31":{"id":"6682ad4394e31","isActive":true,"to":"{admin_email}","name":"Admin Notification","event":"form_submission","toType":"email","subject":"New submission from {form_title}","message":"{all_fields}"}},"confirmations":{"6682ad4394f4e":{"id":"6682ad4394f4e","name":"Default Confirmation","isDefault":true,"type":"redirect","message":"Thanks for contacting us! We will get in touch with you shortly.","url":"https://testguild.com/welcome-guild/","pageId":"1035605","queryString":"","event":"","disableAutoformat":false,"page":"1035605","conditionalLogic":[]}},"is_active":"1","date_created":"2025-08-08 06:56:01","is_trash":"0"};
const mode = "icon-inputs";


  // Security utility functions (inline to avoid import issues)
  function sanitizeGravityFormInput(value, type) {
    if (!value || typeof value !== 'string') return '';
    
    let sanitized = value.trim();
    
    switch (type) {
      case 'name':
        sanitized = sanitized.replace(/[^a-zA-Z\s\-']/g, '');
        sanitized = sanitized.replace(/\s+/g, ' ');
        break;
      case 'email':
        sanitized = sanitized.toLowerCase();
        sanitized = sanitized.replace(/[^a-zA-Z0-9@._-]/g, '');
        break;
      case 'phone':
        sanitized = sanitized.replace(/[^0-9\s\-()+]/g, '');
        break;
      case 'text':
      case 'textarea':
        sanitized = sanitized.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '');
        sanitized = sanitized.replace(/javascript:/gi, '');
        sanitized = sanitized.replace(/on\w+\s*=/gi, '');
        break;
      case 'number':
        sanitized = sanitized.replace(/[^0-9.]/g, '');
        break;
      default:
        sanitized = sanitized.replace(/<[^>]*>/g, '');
    }
    
    return sanitized;
  }

  function logGravityFormSecurityEvent(eventType, data = {}) {
    const event = {
      type: eventType,
      timestamp: new Date().toISOString(),
      userAgent: navigator.userAgent,
      url: window.location.href,
      ...data
    };
    
    try {
      const existingEvents = JSON.parse(localStorage.getItem('gf_security_events') || '[]');
      existingEvents.push(event);
      if (existingEvents.length > 50) {
        existingEvents.splice(0, existingEvents.length - 50);
      }
      localStorage.setItem('gf_security_events', JSON.stringify(existingEvents));
    } catch (error) {
      console.warn('Could not store security event:', error);
    }
  }

  function checkRateLimit(formId, cooldownPeriod = 60000) {
    const rateLimitKey = `gf_rate_limit_${formId}`;
    const lastSubmission = localStorage.getItem(rateLimitKey);
    const now = Date.now();
    
    if (lastSubmission) {
      const timeSinceLastSubmission = now - parseInt(lastSubmission);
      if (timeSinceLastSubmission < cooldownPeriod) {
        const remainingTime = Math.ceil((cooldownPeriod - timeSinceLastSubmission) / 1000);
        return { isLimited: true, remainingTime: remainingTime };
      }
    }
    
    return { isLimited: false, remainingTime: 0 };
  }

  function setRateLimit(formId) {
    const rateLimitKey = `gf_rate_limit_${formId}`;
    localStorage.setItem(rateLimitKey, Date.now().toString());
  }

  function getGravityFormErrorMessage(errorType) {
    const errorMessages = {
      rate_limited: 'Too many submissions. Please wait a moment before trying again.',
      csrf_failed: 'Security validation failed. Please refresh the page or perform a hard refresh, then try again.',
      server_error: 'An error occurred while submitting the form. Please try again.',
      validation_failed: 'Please check the form for errors and try again.',
      network_error: 'Network error. Please check your connection and try again.',
      form_not_found: 'Form not found. Please contact support.',
      authentication_failed: 'Authentication failed. Please contact support.'
    };
    
    return errorMessages[errorType] || 'An unexpected error occurred. Please try again.';
  }

  // Format errors exactly like course forms (formatCourseErrors)
  function formatGravityFormErrors(errors) {
    if (!errors || Object.keys(errors).length === 0) {
      return '';
    }

    const errorList = Object.values(errors).join('<br>');
    return `<div class="bg-red-700 text-white text-sm px-4 py-4">${errorList}</div>`;
  }

  // Phone validation function (like webinar form)
  function validatePhoneNumber(phoneNumber) {
    if (!phoneNumber || typeof phoneNumber !== 'string') {
      return { isValid: false, message: 'Please enter a phone number.' };
    }
    
    // Phone validation (basic check for digits and length) - like webinar form
    const phoneDigits = phoneNumber.replace(/\D/g, '');
    if (phoneDigits.length < 7 || phoneDigits.length > 15) {
      return {
        isValid: false,
        message: 'Please enter a valid phone number'
      };
    }
    
    return { isValid: true, message: '' };
  }

  // Comprehensive client-side validation (like course forms - runs BEFORE API call)
  function validateGravityFormClient(form) {
    const errors = {};
    
    // Get all form fields
    const allInputs = form.querySelectorAll('input, textarea, select');
    
    allInputs.forEach(input => {
      // Skip hidden fields, honeypot, and country code selectors
      if (input.type === 'hidden' || 
          input.name === 'website' || 
          input.name === 'security_token' ||
          input.id.startsWith('country_code_')) {
        return;
      }
      
      // Get field info
      const fieldContainer = input.closest('[data-field-id]');
      let fieldLabel = '';
      
      if (fieldContainer) {
        const labelEl = fieldContainer.querySelector('label');
        if (labelEl) {
          fieldLabel = labelEl.textContent.replace(/\*/g, '').trim();
        }
      }
      
      // Use field label or fallback to field name
      const displayName = fieldLabel || input.name || input.id;
      const isRequired = input.hasAttribute('required') || input.getAttribute('data-required') === 'true' || input.getAttribute('data-required') === '';
      
      // Validate required fields
      if (isRequired) {
        let isEmpty = false;
        
        if (input.type === 'checkbox') {
          // For checkboxes, check if at least one in the group is checked
          const checkboxName = input.name.split('.')[0];
          const checkboxes = form.querySelectorAll(`input[name^="${checkboxName}"]`);
          const isChecked = Array.from(checkboxes).some(cb => cb.checked);
          isEmpty = !isChecked;
          
          // Only add error once per checkbox group
          if (isEmpty && !errors[displayName]) {
            errors[displayName] = `${displayName} is required`;
          }
        } else if (input.tagName === 'SELECT') {
          isEmpty = !input.value || input.value.trim() === '';
          if (isEmpty) {
            errors[displayName] = `${displayName} is required`;
          }
        } else {
          isEmpty = !input.value || input.value.trim() === '';
          if (isEmpty) {
            errors[displayName] = `${displayName} is required`;
          }
        }
      }
      
      // Validate field formats if field has value
      if (input.value && input.value.trim() !== '') {
        // Email validation
        if (input.type === 'email') {
          const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
          if (!emailRegex.test(input.value.trim())) {
            errors[displayName] = 'Please enter a valid email address';
          }
        }
        
        // Phone validation
        if (input.type === 'tel') {
          const countryCodeSelectorId = input.getAttribute('data-country-code-selector');
          let fullPhoneNumber = input.value.trim();
          
          // Combine with country code if available
          if (countryCodeSelectorId) {
            const countryCodeSelect = document.getElementById(countryCodeSelectorId);
            if (countryCodeSelect instanceof HTMLSelectElement) {
              const countryCode = countryCodeSelect.value || '+1';
              let cleanPhone = fullPhoneNumber.replace(/^\+?\d{1,4}[\s-]?/, '');
              cleanPhone = cleanPhone.replace(/\D/g, '');
              fullPhoneNumber = `${countryCode}${cleanPhone}`;
            }
          }
          
          const phoneValidation = validatePhoneNumber(fullPhoneNumber);
          if (!phoneValidation.isValid) {
            errors[displayName] = phoneValidation.message;
          }
        }
      }
    });
    
    // Validate email confirmations
    const emailConfirmInputs = form.querySelectorAll('input[type="email"][id$="_2"]');
    emailConfirmInputs.forEach(confirmInput => {
      if (confirmInput instanceof HTMLInputElement) {
        const mainEmailId = confirmInput.id.replace('_2', '');
        const mainEmail = document.getElementById(mainEmailId);
        
        if (mainEmail instanceof HTMLInputElement && confirmInput.value && mainEmail.value) {
          if (confirmInput.value !== mainEmail.value) {
            errors['Email Confirmation'] = 'Email addresses do not match';
          }
        }
      }
    });
    
    // Check honeypot
    const honeypot = form.querySelector('input[name="website"]');
    if (honeypot && honeypot.value && honeypot.value.trim() !== '') {
      errors.honeypot = 'Bot detected.';
      logGravityFormSecurityEvent('honeypot_triggered', {
        form_id: formId,
        honeypot_value: honeypot.value
      });
    }
    
    return {
      isValid: Object.keys(errors).length === 0,
      errors: errors
    };
  }


  function generateGravityFormToken() {
    return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
  }

  // Track submissions to prevent duplicates
  if (!window.gravityFormSubmissions) {
    window.gravityFormSubmissions = new Set();
  }

  // Security state management
  let rateLimitRetryAfter = 0;
  const securityToken = generateGravityFormToken();
  
  // Form submission handler
  const form = document.getElementById(`gravityForm_${uniqueFormId}`);
  const notification = document.getElementById(`notification_${uniqueFormId}`);
  const notificationText = notification?.querySelector('p');
  const messageValidation = document.getElementById(`message_validation_${uniqueFormId}`);
  
  // Set security token in the form
  if (form) {
    const securityTokenInput = form.querySelector('input[name="security_token"]');
    if (securityTokenInput) {
      securityTokenInput.value = securityToken;
    }
  }
  
  // Add input sanitization and validation on blur for all form fields
  if (form) {
    const inputs = form.querySelectorAll('input, textarea, select');
    inputs.forEach(input => {
      input.addEventListener('blur', (e) => {
        if (e.target.type === 'email') {
          e.target.value = sanitizeGravityFormInput(e.target.value, 'email');
        } else if (e.target.type === 'tel') {
          e.target.value = sanitizeGravityFormInput(e.target.value, 'phone');
          
          // Validate phone number on blur
          const phoneInput = e.target;
          const countryCodeSelectorId = phoneInput.getAttribute('data-country-code-selector');
          let fullPhoneNumber = phoneInput.value.trim();
          
          // If there's a country code selector, combine it with the phone number for validation
          if (countryCodeSelectorId) {
            const countryCodeSelect = document.getElementById(countryCodeSelectorId);
            if (countryCodeSelect instanceof HTMLSelectElement && fullPhoneNumber) {
              const countryCode = countryCodeSelect.value || '+1';
              // Remove any existing country code
              let cleanPhone = fullPhoneNumber.replace(/^\+?\d{1,4}[\s-]?/, '');
              cleanPhone = cleanPhone.replace(/\D/g, '');
              fullPhoneNumber = `${countryCode}${cleanPhone}`;
            }
          }
          
          // Phone validation on blur - no individual field errors, only for centralized display
          // Validation happens on submit
        } else if (e.target.type === 'number') {
          e.target.value = sanitizeGravityFormInput(e.target.value, 'number');
        } else if (e.target.type === 'text' && e.target.name.includes('name')) {
          e.target.value = sanitizeGravityFormInput(e.target.value, 'name');
        } else if (e.target.tagName === 'TEXTAREA') {
          e.target.value = sanitizeGravityFormInput(e.target.value, 'textarea');
        } else {
          e.target.value = sanitizeGravityFormInput(e.target.value, 'text');
        }
      });
    });
  }

  const showNotification = (message, type) => {
    if (notification && notificationText) {
      const themeClasses = {
        light: {
          success: 'bg-green-50 text-green-800 border-green-200',
          error: 'bg-red-50 text-red-800 border-red-200'
        },
        dark: {
          success: 'bg-green-900/50 text-green-200 border-green-700',
          error: 'bg-red-900/50 text-red-200 border-red-700'
        },
        'transparent-light': {
          success: 'bg-green-500/20 backdrop-blur-sm text-white border-green-400/30',
          error: 'bg-red-500/20 backdrop-blur-sm text-white border-red-400/30'
        },
        'transparent-dark': {
          success: 'bg-green-500/20 backdrop-blur-sm text-gray-900 border-green-600/30',
          error: 'bg-red-500/20 backdrop-blur-sm text-gray-900 border-red-600/30'
        },
        'icon-inputs': {
          success: 'bg-green-50 text-green-800 border-green-200',
          error: 'bg-red-50 text-red-800 border-red-200'
        }
      };

      // Use light theme as fallback if mode is not found
      const currentThemeClasses = themeClasses[mode] || themeClasses.light;
      
      notification.className = `mb-4 p-4 rounded-md border ${currentThemeClasses[type]}`;
      notificationText.innerHTML = message;
      notification.classList.remove('hidden');
      
      /* disable for now
      setTimeout(() => {
        notification.classList.add('hidden');
      }, 5000);
      */
    }
  };

  if (form instanceof HTMLFormElement) {
    const submitButton = document.getElementById(`submit_${uniqueFormId}`);
    const submitText = submitButton?.querySelector('.submit-text');
    const loadingSpinner = submitButton?.querySelector('svg');

    const setLoadingState = (isLoading) => {
      if (submitButton && submitText && loadingSpinner) {
        submitButton.disabled = isLoading;
        loadingSpinner.classList.toggle('hidden', !isLoading);
        submitText.textContent = isLoading ? 'Submitting...' : 'Submit';
      }
    };

    form.addEventListener('submit', async (e) => {
      e.preventDefault();
      
      // Check rate limiting first
      const rateLimitCheck = checkRateLimit(formId, 60000); // 1 minute cooldown
      if (rateLimitCheck.isLimited) {
        isRateLimited = true;
        rateLimitRetryAfter = rateLimitCheck.remainingTime;
        showNotification(`Too many submissions. Please wait ${rateLimitRetryAfter} seconds before trying again.`, 'error');
        logGravityFormSecurityEvent('rate_limit_exceeded', {
          form_id: formId,
          remaining_time: rateLimitCheck.remainingTime
        });
        return;
      }
      
      setLoadingState(true);
      
      // Clear previous error messages (like course forms)
      if (messageValidation) {
        messageValidation.innerHTML = '';
      }

      // CLIENT-SIDE VALIDATION FIRST (like course forms)
      const clientValidation = validateGravityFormClient(form);
      
      if (!clientValidation.isValid) {
        // Display client validation errors
        if (messageValidation) {
          messageValidation.innerHTML = formatGravityFormErrors(clientValidation.errors);
        }
        logGravityFormSecurityEvent('client_validation_failed', {
          form_id: formId,
          errors: clientValidation.errors
        });
        setLoadingState(false);
        return;
      }
      
      // Client validation passed - proceed to build form data and submit

      const formData = new FormData(e.target);
      const data = {
        form_id: formId,
        source_page: 1,
        target_page: 0,
        security_token: securityToken
      };
      
      // Convert form data to the format expected by Gravity Forms with sanitization
      for (const [key, value] of formData.entries()) {
        // Skip country code selectors - they're handled separately for phone fields
        if (key.startsWith('country_code_')) {
          continue;
        }
        
        if (key.startsWith('input_')) {
          // Handle checkbox fields (they can have multiple values)
          if (key.includes('.') && document.querySelector(`input[name="${key}"][type="checkbox"]`)) {
            const checkbox = document.querySelector(`input[name="${key}"]:checked`);
            if (checkbox instanceof HTMLInputElement) {
              data[key] = sanitizeGravityFormInput(checkbox.value, 'text');
            }
          } else {
            // Determine field type for sanitization
            let fieldType = 'text';
            const fieldElement = form.querySelector(`[name="${key}"]`);
            if (fieldElement) {
              if (fieldElement.type === 'email') fieldType = 'email';
              else if (fieldElement.type === 'tel') {
                fieldType = 'phone';
                // Check if this phone field has a country code selector
                const countryCodeSelectorId = fieldElement.getAttribute('data-country-code-selector');
                if (countryCodeSelectorId) {
                  const countryCodeSelect = document.getElementById(countryCodeSelectorId);
                  if (countryCodeSelect instanceof HTMLSelectElement) {
                    const countryCode = countryCodeSelect.value || '+1';
                    let phoneValue = value.toString().trim();
                    
                    // Only remove country codes that are explicitly marked with "+"
                    // This prevents removing valid phone number prefixes like area codes
                    if (phoneValue.startsWith('+')) {
                      // Extract digits only and check if it starts with a known country code pattern
                      const digitsOnly = phoneValue.replace(/\D/g, '');
                      
                      // Known country codes (most common ones to avoid false positives)
                      // We check for these patterns at the start
                      const knownCountryCodes = [
                        '1', '7', '20', '27', '30', '31', '32', '33', '34', '36', '39', '40', '41', 
                        '43', '44', '45', '46', '47', '48', '49', '51', '52', '53', '54', '55', 
                        '56', '57', '58', '60', '61', '62', '63', '64', '65', '66', '81', '82', 
                        '84', '86', '90', '91', '92', '93', '94', '95', '98', '212', '213', '216', 
                        '218', '220', '221', '222', '223', '224', '225', '226', '227', '228', 
                        '229', '230', '231', '232', '233', '234', '235', '236', '237', '238', 
                        '239', '240', '241', '242', '243', '244', '245', '246', '248', '249', 
                        '250', '251', '252', '253', '254', '255', '256', '257', '258', '260', 
                        '261', '262', '263', '264', '265', '266', '267', '268', '269', '290', 
                        '291', '297', '298', '299', '350', '351', '352', '353', '354', '355', 
                        '356', '357', '358', '359', '370', '371', '372', '373', '374', '375', 
                        '376', '377', '378', '380', '381', '382', '383', '385', '386', '387', 
                        '389', '420', '421', '423', '500', '501', '502', '503', '504', '505', 
                        '506', '507', '508', '509', '590', '591', '592', '593', '594', '595', 
                        '596', '597', '598', '599', '670', '672', '673', '674', '675', '676', 
                        '677', '678', '679', '680', '681', '682', '683', '684', '685', '686', 
                        '687', '688', '689', '690', '691', '692', '850', '852', '853', '855', 
                        '856', '880', '886', '960', '961', '962', '963', '964', '965', '966', 
                        '967', '968', '970', '971', '972', '973', '974', '975', '976', '977', 
                        '992', '993', '994', '995', '996', '998'
                      ];
                      
                      // Sort by length (longest first) to match longer codes first
                      const sortedCodes = knownCountryCodes.sort((a, b) => b.length - a.length);
                      
                      // Try to find a matching country code
                      let matchedCode = null;
                      for (const code of sortedCodes) {
                        if (digitsOnly.startsWith(code)) {
                          const remaining = digitsOnly.substring(code.length);
                          // Only remove if there are at least 4 digits remaining (valid phone number)
                          if (remaining.length >= 4) {
                            matchedCode = code;
                            phoneValue = remaining;
                            break;
                          }
                        }
                      }
                      
                      // If no country code matched, just extract all digits
                      if (!matchedCode) {
                        phoneValue = digitsOnly;
                      }
                    } else {
                      // No "+" prefix, just extract digits - don't remove anything
                      phoneValue = phoneValue.replace(/\D/g, '');
                    }
                    
                    // Combine country code with phone number
                    const fullPhone = `${countryCode}${phoneValue}`;
                    data[key] = sanitizeGravityFormInput(fullPhone, fieldType);
                    continue;
                  }
                }
              } else if (fieldElement.type === 'number') fieldType = 'number';
              else if (fieldElement.type === 'text' && key.includes('name')) fieldType = 'name';
            }
            
            data[key] = sanitizeGravityFormInput(value.toString(), fieldType);
          }
        }
      }
      
      // Client validation already passed above - proceed to API call

      // Prevent duplicate submissions - check AFTER validation passes
      if (window.gravityFormSubmissions.has(uniqueFormId)) {
        logGravityFormSecurityEvent('duplicate_submission_attempt', {
          form_id: formId
        });
        setLoadingState(false);
        return;
      }
      
      // Mark this form instance as submitted - only after validation passes
      window.gravityFormSubmissions.add(uniqueFormId);

      try {
        // Get CSRF headers for security - fetch directly from API
        let csrfHeaders = {};
        try {
          // Fetch CSRF token directly from API (works in browser context)
          // Use WP_API_URL (should be HTTPS) or try to construct HTTPS URL
          const csrfUrl = WP_API_URL?.includes('https://') 
            ? `${WP_API_URL}/common/auth/v1/csrf-nonce`
            : WP_API_URL?.replace('http://', 'https://') + '/common/auth/v1/csrf-nonce';
          
          // Check if user is authenticated (has JWT token in localStorage)
          const authHeaders = {};
          try {
            const authToken = localStorage.getItem('auth_token');
            if (authToken) {
              authHeaders['Authorization'] = `Bearer ${authToken}`;
            }
          } catch {
            // Ignore localStorage errors
          }
          
          const csrfResponse = await fetch(csrfUrl, {
            method: 'GET',
            headers: {
              'Content-Type': 'application/json',
              ...authHeaders
            },
            credentials: 'include',
            cache: 'no-cache'
          });
          
          if (csrfResponse.ok) {
            const csrfData = await csrfResponse.json();
            if (csrfData.nonce) {
              csrfHeaders = {
                'x-csrf-token': csrfData.nonce,
                'x-wp-nonce': csrfData.nonce
              };
              
              // Include Authorization header if user is authenticated
              if (authHeaders['Authorization']) {
                csrfHeaders['Authorization'] = authHeaders['Authorization'];
              }
            } else {
              console.warn('CSRF response OK but no nonce in response:', csrfData);
            }
          } else {
            console.warn(`CSRF fetch failed with status ${csrfResponse.status}`);
          }
        } catch (csrfError) {
          console.warn('Failed to fetch CSRF token:', csrfError.message);
          // Continue without CSRF protection - Basic Auth will still be used
        }
        
        if (!csrfHeaders['x-csrf-token']) {
          console.warn('Proceeding with Basic Auth only (CSRF protection unavailable)');
        }
        
        // Build headers with Basic Auth and CSRF protection
        const headers = {
          'Authorization': `Basic ${btoa(`${GF_CONSUMER_KEY}:${GF_SECRET_KEY}`)}`,
          'Content-Type': 'application/json',
          ...csrfHeaders // Include CSRF headers (x-csrf-token, x-wp-nonce, Authorization if authenticated)
        };
        
        const response = await fetch(`${WP_API_URL}/gf/v2/forms/${formId}/submissions`, {
          method: 'POST',
          headers: headers,
          body: JSON.stringify(data)
        });

        const result = await response.json();

        if (!response.ok) {
          // Log the full error response for debugging
          console.error('Gravity Forms API Error Response:', {
            status: response.status,
            statusText: response.statusText,
            result: result,
            url: response.url
          });
          
          // Log the detailed error information
          if (result && result.message) {
            console.error('Gravity Forms API Error Message:', result.message);
          }
          if (result && result.code) {
            console.error('Gravity Forms API Error Code:', result.code);
          }
          if (result && result.data) {
            console.error('Gravity Forms API Error Data:', result.data);
          }
          
          // Handle validation errors from server (like course forms)
          if (result.validation_messages) {
            // Convert validation_messages to errors object format
            const serverErrors = {};
            Object.entries(result.validation_messages).forEach(([fieldId, message]) => {
              // Try to get field label for better error display
              const inputElement = document.getElementById(fieldId) || document.querySelector(`[name="${fieldId}"]`) || document.querySelector(`[name="input_${fieldId}"]`);
              let fieldLabel = fieldId;
              
              if (inputElement) {
                const fieldContainer = inputElement.closest('[data-field-id]');
                if (fieldContainer) {
                  const labelEl = fieldContainer.querySelector('label');
                  if (labelEl) {
                    fieldLabel = labelEl.textContent.replace(/\*/g, '').trim();
                  }
                }
              }
              
              serverErrors[fieldLabel] = message;
            });
            
            // Display validation errors like course forms
            if (messageValidation) {
              messageValidation.innerHTML = formatGravityFormErrors(serverErrors);
            }
            
            // Remove from submitted set on validation error to allow resubmission
            window.gravityFormSubmissions.delete(uniqueFormId);
            setLoadingState(false);
            return;
          }
          
          // Enhanced error handling with security logging (like course forms)
          let errorType = 'server_error';
          let userMessage = 'An error occurred while submitting the form.';
          
          if (response.status === 429) {
            errorType = 'rate_limited';
            userMessage = getGravityFormErrorMessage('rate_limited');
            setRateLimit(formId);
          } else if (response.status === 401) {
            errorType = 'authentication_failed';
            userMessage = getGravityFormErrorMessage('authentication_failed');
          } else if (response.status === 403) {
            // Check if it's a CSRF error specifically
            if (result.code === 'rest_cookie_invalid_nonce' || 
                result.code === 'csrf_error' || 
                result.message?.toLowerCase().includes('csrf') ||
                result.message?.toLowerCase().includes('nonce') ||
                result.message?.toLowerCase().includes('security token')) {
              errorType = 'csrf_failed';
              userMessage = getGravityFormErrorMessage('csrf_failed');
            } else {
              errorType = 'authentication_failed';
              userMessage = getGravityFormErrorMessage('authentication_failed');
            }
          } else if (response.status === 404) {
            errorType = 'form_not_found';
            userMessage = getGravityFormErrorMessage('form_not_found');
          } else if (result.message) {
            userMessage = result.message;
          }
          
          // Log security event
          logGravityFormSecurityEvent('form_submission_failed', {
            form_id: formId,
            error_type: errorType,
            status_code: response.status,
            error_message: result.message || 'Unknown error',
            timestamp: new Date().toISOString()
          });
          
          // Display error like course forms
          if (messageValidation) {
            messageValidation.innerHTML = `<div class="bg-red-700 text-white text-sm px-4 py-4">${userMessage}</div>`;
          }
          // Remove from submitted set on error to allow resubmission
          window.gravityFormSubmissions.delete(uniqueFormId);
          setLoadingState(false);
          return;
        }

        // Get the default confirmation from the form details
        const defaultConfirmation = Object.values(formDetails.confirmations).find(conf => conf.isDefault);
        
        if (defaultConfirmation) {
          if (defaultConfirmation.type === 'redirect') {
            // Handle redirect confirmation
            let redirectUrl;
            
            if (defaultConfirmation.url) {
              // Use the configured URL (external or internal)
              redirectUrl = defaultConfirmation.url;
            } else if (defaultConfirmation.pageId) {
              // Fallback to pageId for internal pages
              redirectUrl = `${window.location.origin}/${defaultConfirmation.pageId}`;
            } else {
              // Fallback to current page
              redirectUrl = window.location.href;
            }
            
            showNotification('Form submitted successfully! Redirecting...', 'success');
            
            // Track conversion event with Pixel Manager
            if (window.tgPixelManager?.trackConversion) {
              window.tgPixelManager.trackConversion('Lead', {
                content_name: formDetails.title || `Form ${formId}`,
                content_category: 'Gravity Form',
                content_ids: [formId.toString()],
                content_type: 'form_submission'
              });
            }
            
            // Log successful submission
            logGravityFormSecurityEvent('form_submission_success', {
              form_id: formId,
              confirmation_type: 'redirect',
              redirect_url: redirectUrl,
              timestamp: new Date().toISOString()
            });
            
            // Set rate limit for successful submission
            setRateLimit(formId);
            
            // Reset form before redirect
            e.target.reset();
            
                        // Redirect after a short delay to show success message
            setTimeout(() => {
              window.location.href = redirectUrl;
            }, 1500);
          } else {
            // Handle text confirmation (default behavior)
            const confirmationMessage = defaultConfirmation.message || 'Form submitted successfully!';
            showNotification(confirmationMessage, 'success');
            
            // Track conversion event with Pixel Manager
            if (window.tgPixelManager?.trackConversion) {
              window.tgPixelManager.trackConversion('Lead', {
                content_name: formDetails.title || `Form ${formId}`,
                content_category: 'Gravity Form',
                content_ids: [formId.toString()],
                content_type: 'form_submission'
              });
            }
            
            // Log successful submission
            logGravityFormSecurityEvent('form_submission_success', {
              form_id: formId,
              confirmation_type: 'text',
              confirmation_message: confirmationMessage,
              timestamp: new Date().toISOString()
            });
            
            // Set rate limit for successful submission
            setRateLimit(formId);
            
            e.target.reset();
            
            // Allow resubmission after 5 minutes
            setTimeout(() => {
              window.gravityFormSubmissions.delete(uniqueFormId);
            }, 300000);
          }
        } else {
          // Fallback for no confirmation configured
          showNotification('Form submitted successfully!', 'success');
          
          // Track conversion event with Pixel Manager
          if (window.tgPixelManager?.trackConversion) {
            window.tgPixelManager.trackConversion('Lead', {
              content_name: formDetails.title || `Form ${formId}`,
              content_category: 'Gravity Form',
              content_ids: [formId.toString()],
              content_type: 'form_submission'
            });
          }
          
          // Log successful submission
          logGravityFormSecurityEvent('form_submission_success', {
            form_id: formId,
            confirmation_type: 'fallback',
            timestamp: new Date().toISOString()
          });
          
          // Set rate limit for successful submission
          setRateLimit(formId);
          
          e.target.reset();
          
          // Allow resubmission after 5 minutes
          setTimeout(() => {
            window.gravityFormSubmissions.delete(uniqueFormId);
          }, 300000);
        }
      } catch (error) {
        console.error('Error submitting form:', error);
        
        // Enhanced error handling for network and other errors (like course forms)
        let errorMessage = 'Error submitting form. Please try again.';
        
        if (error.name === 'TypeError' && error.message.includes('fetch')) {
          errorMessage = getGravityFormErrorMessage('network_error');
        } else if (error.message.includes('Too many')) {
          errorMessage = getGravityFormErrorMessage('rate_limited');
          setRateLimit(formId);
        } else if (error.message.includes('Security token') || 
                   error.message.includes('CSRF') || 
                   error.message.includes('csrf') ||
                   error.message.includes('nonce')) {
          errorMessage = getGravityFormErrorMessage('csrf_failed');
        } else {
          errorMessage = getGravityFormErrorMessage('server_error');
        }
        
        // Log security event for catch block errors
        logGravityFormSecurityEvent('form_submission_error', {
          form_id: formId,
          error_type: 'catch_block',
          error_message: error.message,
          error_name: error.name,
          timestamp: new Date().toISOString()
        });
        
        // Display error like course forms
        if (messageValidation) {
          messageValidation.innerHTML = `<div class="bg-red-700 text-white text-sm px-4 py-4">${errorMessage}</div>`;
        }
        
        // Remove from submitted set on error to allow retry
        window.gravityFormSubmissions.delete(uniqueFormId);
      } finally {
        setLoadingState(false);
      }
    });
  }
})();</script> </div> </div> </div> </div> </div> 