Skip to main content

stealth Scenario 4 — Fresh vs Logged-In View Comparison

Written by RTILA X Engineering Team

Advanced ~10 min
Prerequisites: stealth/1 stealth/2 stealth/3

What You'll Learn

Tune fingerprint and request headers for specific targets

Real-World Use Case

By-passing WAF blocks on high-security sites

LIVE DEMO

Fresh vs Logged-In View

Toggle the login state to compare the anonymous and authenticated data tables.

Welcome, Guest!

FieldValue
Visible DataPublic product list
Pricing TierBasic
Daily API Limit100 requests
EXPECTED OUTPUT

Fresh vs Logged-In Comparison

{
  "anonymous_view": [
    {
      "field": "Visible Data",
      "value": "Public product list"
    },
    {
      "field": "Pricing Tier",
      "value": "Basic"
    },
    {
      "field": "Daily API Limit",
      "value": "100 requests"
    }
  ],
  "authenticated_view": [
    {
      "field": "Visible Data",
      "value": "Full product list plus discounts"
    },
    {
      "field": "Pricing Tier",
      "value": "Premium"
    },
    {
      "field": "Daily API Limit",
      "value": "10,000 requests"
    },
    {
      "field": "Saved Items",
      "value": "24"
    },
    {
      "field": "Custom Reports",
      "value": "Enabled"
    }
  ]
}
RTILA X PROJECT JSON

RTILA X Automation Project

fresh-vs-logged-in-comparison.json
{
  "name": "Fresh_Vs_Logged_In_Comparison",
  "settings": {
    "urls": [
      "https://learn.rtila.com/scenarios/stealth/4"
    ],
    "browserProfileId": "fresh-profile"
  },
  "datasets": {
    "anon_data": {
      "item_selector": "css=table.anon-data tbody tr",
      "properties": [
        {
          "name": "field",
          "type": "text",
          "selector": "css=td:nth-child(1)"
        },
        {
          "name": "value",
          "type": "text",
          "selector": "css=td:nth-child(2)"
        }
      ]
    },
    "auth_data": {
      "item_selector": "css=table.auth-data tbody tr",
      "properties": [
        {
          "name": "field",
          "type": "text",
          "selector": "css=td:nth-child(1)"
        },
        {
          "name": "value",
          "type": "text",
          "selector": "css=td:nth-child(2)"
        }
      ]
    }
  },
  "commands": [
    {
      "command": "extract_data",
      "params": {
        "dataset": "anon_data"
      }
    },
    {
      "command": "comment",
      "params": {
        "text": "Toggle to the logged-in view for comparison"
      }
    },
    {
      "command": "comment",
      "params": {
        "text": "Comparison uses the same page and profile; the Toggle Login State button switches the rendered view."
      }
    },
    {
      "command": "goto",
      "params": {
        "url": "https://learn.rtila.com/scenarios/stealth/4"
      }
    },
    {
      "command": "wait_for_selector",
      "params": {
        "selector": "css=#toggle-auth"
      }
    },
    {
      "command": "click",
      "params": {
        "selector": "css=#toggle-auth"
      }
    },
    {
      "command": "wait_for_selector",
      "params": {
        "selector": "css=table.auth-data"
      }
    },
    {
      "command": "extract_data",
      "params": {
        "dataset": "auth_data"
      }
    },
    {
      "command": "comment",
      "params": {
        "text": "Trigger chain can compare anonymous and authenticated results"
      }
    }
  ]
}

Browser profiles allow the same page to be loaded with completely different cookie and session states. This pattern compares anonymous and logged-in page versions side by side.

Did you complete this scenario?

Ready to run this automation?

Copy the project JSON above, open RTILA X, create a new project, and paste it.

This scenario covers 3 RTILA X commands and is referenced in 2 learning articles.

Continue Learning

Was this helpful?