|
| 1 | +--- |
| 2 | +id: web-scanner-advanced-features |
| 3 | +title: Advanced Features in Web Scanner |
| 4 | +hide_title: false |
| 5 | +sidebar_label: Advanced Features |
| 6 | +description: Learn how to configure advanced features in Web Scanner including authentication (Basic Auth and Form Selectors), dedicated proxy, geolocation, and tunnel for testing locally hosted pages. |
| 7 | +keywords: |
| 8 | + - lambdatest |
| 9 | + - web scanner |
| 10 | + - advanced features |
| 11 | + - authentication |
| 12 | + - basic auth |
| 13 | + - form selectors |
| 14 | + - dedicated proxy |
| 15 | + - geolocation |
| 16 | + - tunnel |
| 17 | + - local testing |
| 18 | +url: https://www.lambdatest.com/support/docs/web-scanner-advanced-features |
| 19 | +site_name: LambdaTest |
| 20 | +slug: web-scanner-advanced-features/ |
| 21 | +--- |
| 22 | + |
| 23 | +import Tabs from '@theme/Tabs'; |
| 24 | +import TabItem from '@theme/TabItem'; |
| 25 | + |
| 26 | +<script type="application/ld+json" |
| 27 | + dangerouslySetInnerHTML={{ __html: JSON.stringify({ |
| 28 | + "@context": "https://schema.org", |
| 29 | + "@type": "BreadcrumbList", |
| 30 | + "itemListElement": [{ |
| 31 | + "@type": "ListItem", |
| 32 | + "position": 1, |
| 33 | + "name": "Home", |
| 34 | + "item": "https://www.lambdatest.com" |
| 35 | + },{ |
| 36 | + "@type": "ListItem", |
| 37 | + "position": 2, |
| 38 | + "name": "Support", |
| 39 | + "item": "https://www.lambdatest.com/support/docs/" |
| 40 | + },{ |
| 41 | + "@type": "ListItem", |
| 42 | + "position": 3, |
| 43 | + "name": "Getting Started with Web Scanner", |
| 44 | + "item": "https://www.lambdatest.com/support/docs/web-scanner-getting-started" |
| 45 | + },{ |
| 46 | + "@type": "ListItem", |
| 47 | + "position": 4, |
| 48 | + "name": "Advanced Features in Web Scanner", |
| 49 | + "item": "https://www.lambdatest.com/support/docs/web-scanner-advanced-features" |
| 50 | + }] |
| 51 | + }) |
| 52 | + }} |
| 53 | +></script> |
| 54 | + |
| 55 | +## Overview |
| 56 | + |
| 57 | +Web Scanner provides advanced configuration options to enhance your scanning capabilities. These features allow you to test authenticated pages, access network-restricted resources, simulate different geographic locations, and scan locally hosted applications. |
| 58 | + |
| 59 | +The advanced features are accessible from the **Advanced Configurations** section when setting up your scan. You can configure: |
| 60 | + |
| 61 | +- **Authentication**: Test pages protected by Basic Auth or form-based authentication |
| 62 | +- **Dedicated Proxy**: Access network-restricted resources through a whitelisted IP |
| 63 | +- **Geolocation**: Simulate scans from different geographic locations |
| 64 | +- **Tunnel**: Scan locally hosted web pages and applications |
| 65 | + |
| 66 | +<img loading="lazy" src={require('../assets/images/web-scanner/visual-scan-advanced-settings.png').default} alt="Advanced Configurations for Visual Scan" className="doc_img"/> |
| 67 | + |
| 68 | +--- |
| 69 | + |
| 70 | +## Authentication |
| 71 | + |
| 72 | +Web Scanner supports two types of authentication methods to scan pages that require login credentials: |
| 73 | + |
| 74 | +### Basic Authentication |
| 75 | + |
| 76 | +Basic Authentication is an HTTP authentication method where credentials are sent in the Authorization header. This method is useful for pages protected by HTTP Basic Auth. |
| 77 | + |
| 78 | +#### When to Use Basic Authentication |
| 79 | + |
| 80 | +- Pages protected by HTTP Basic Auth (e.g., `https://username:[email protected]`) |
| 81 | +- Staging or development environments with basic authentication |
| 82 | +- Pages that require simple username/password authentication |
| 83 | + |
| 84 | +#### Configuration Steps |
| 85 | + |
| 86 | +1. Navigate to **Advanced Configurations** in your scan setup |
| 87 | +2. Click **Add login configurations** |
| 88 | +3. In the **Configuration Overview** section: |
| 89 | + - Enter a **Configuration name** (e.g., "Staging Environment") |
| 90 | + - Select **Authentication type** as **Basic authentication** |
| 91 | +4. In the **Login Information** section: |
| 92 | + - Enter your **Username** |
| 93 | + - Enter your **Password** |
| 94 | +5. Click **Add & save configuration** |
| 95 | + |
| 96 | +> **Note:** It is recommended to use credentials of a dummy/test account for scanning purposes. Never use production credentials. |
| 97 | +
|
| 98 | +### Form Authentication |
| 99 | + |
| 100 | +Form Authentication allows you to authenticate using login forms on your website. This method requires CSS selectors to identify the username and password fields. |
| 101 | + |
| 102 | +#### When to Use Form Authentication |
| 103 | + |
| 104 | +- Websites with custom login forms |
| 105 | +- Pages that require multi-step authentication |
| 106 | +- Applications with complex authentication flows |
| 107 | + |
| 108 | +#### Configuration Steps |
| 109 | + |
| 110 | +1. Navigate to **Advanced Configurations** in your scan setup |
| 111 | +2. Click **Add login configurations** |
| 112 | +3. In the **Configuration Overview** section: |
| 113 | + - Enter a **Configuration name** (e.g., "Production Login") |
| 114 | + - Select **Authentication type** as **Form authentication** |
| 115 | +4. In the **Login Information** section: |
| 116 | + - Enter the **Login page URL** (e.g., `https://www.yourwebsite.com/login`) |
| 117 | + - Enter your **Username** |
| 118 | + - Enter your **Password** |
| 119 | +5. In the **CSS Selector** section: |
| 120 | + - Enter the CSS selector for the username field (e.g., `#username`, `.login-email`, `input[name="email"]`) |
| 121 | + - Enter the CSS selector for the password field (e.g., `#password`, `.login-password`, `input[type="password"]`) |
| 122 | +6. Click **Add & save configuration** |
| 123 | + |
| 124 | +<img loading="lazy" src={require('../assets/images/web-scanner/accessibility-scan-advanced-options.png').default} alt="Login Configurations Modal" className="doc_img"/> |
| 125 | + |
| 126 | +#### Finding CSS Selectors |
| 127 | + |
| 128 | +To find the CSS selector for form fields: |
| 129 | + |
| 130 | +1. Open your login page in a browser |
| 131 | +2. Right-click on the username field and select **Inspect** |
| 132 | +3. In the developer tools, right-click on the highlighted HTML element |
| 133 | +4. Select **Copy** > **Copy selector** or **Copy CSS selector** |
| 134 | +5. Use this selector in the Web Scanner configuration |
| 135 | + |
| 136 | +Common CSS selector patterns: |
| 137 | +- ID selector: `#username`, `#password` |
| 138 | +- Class selector: `.login-email`, `.login-password` |
| 139 | +- Attribute selector: `input[name="email"]`, `input[type="password"]` |
| 140 | +- Combined selector: `form.login-form input#username` |
| 141 | + |
| 142 | +#### Best Practices for Authentication |
| 143 | + |
| 144 | +- **Use Test Accounts**: Always use dedicated test accounts with minimal permissions |
| 145 | +- **Secure Credentials**: Never share authentication configurations publicly |
| 146 | +- **Verify Selectors**: Test your CSS selectors before running full scans |
| 147 | +- **Handle Dynamic Content**: Ensure selectors work even if page structure changes slightly |
| 148 | +- **Multiple Configurations**: You can create multiple authentication configurations for different environments |
| 149 | + |
| 150 | +--- |
| 151 | + |
| 152 | +## Dedicated Proxy |
| 153 | + |
| 154 | +Dedicated Proxy allows Web Scanner to access network-restricted resources through a whitelisted IP address. This is particularly useful for enterprise environments where resources are protected by IP whitelisting. |
| 155 | + |
| 156 | +For detailed information about dedicated proxy configuration and IP whitelisting, refer to the [Dedicated Proxy Documentation](/support/docs/dedicated-proxy). |
| 157 | + |
| 158 | +### When to Use Dedicated Proxy |
| 159 | + |
| 160 | +- Accessing resources behind corporate firewalls |
| 161 | +- Testing applications with IP-based access restrictions |
| 162 | +- Ensuring consistent IP address for compliance requirements |
| 163 | +- Enterprise environments requiring network isolation |
| 164 | + |
| 165 | +### How Dedicated Proxy Works |
| 166 | + |
| 167 | +1. LambdaTest allocates a dedicated proxy server with a static IP address |
| 168 | +2. Your network administrator whitelists this IP address |
| 169 | +3. Web Scanner routes all scan requests through the dedicated proxy |
| 170 | +4. The proxy accesses your network-restricted resources using the whitelisted IP |
| 171 | + |
| 172 | +### Configuration Steps |
| 173 | + |
| 174 | +1. Navigate to **Advanced Configurations** in your scan setup |
| 175 | +2. Click on **Dedicated Proxy Configuration** |
| 176 | +3. Select your dedicated proxy region from the dropdown |
| 177 | +4. The proxy will be active for your scan session |
| 178 | + |
| 179 | +> **Note:** Dedicated Proxy is an enterprise feature. Contact your LambdaTest account manager to enable this feature for your organization. |
| 180 | +
|
| 181 | +### Benefits of Dedicated Proxy |
| 182 | + |
| 183 | +- **Single IP Whitelisting**: Only one IP address needs to be whitelisted instead of multiple IP ranges |
| 184 | +- **Consistent Access**: All scans use the same IP address for predictable access patterns |
| 185 | +- **Network Security**: Maintains your network security policies while enabling cloud-based scanning |
| 186 | +- **Compliance**: Meets enterprise security and compliance requirements |
| 187 | + |
| 188 | +### Prerequisites |
| 189 | + |
| 190 | +- Your organization must have a dedicated proxy enabled (enterprise feature) |
| 191 | +- Network resources must be publicly discoverable but access-restricted |
| 192 | +- The dedicated proxy IP must be whitelisted by your network administrators |
| 193 | + |
| 194 | +--- |
| 195 | + |
| 196 | +## Geolocation |
| 197 | + |
| 198 | +Geolocation allows you to simulate scans from different geographic locations. This is essential for testing region-specific content, compliance requirements, and localized user experiences. |
| 199 | + |
| 200 | +### When to Use Geolocation |
| 201 | + |
| 202 | +- Testing region-specific pricing or content |
| 203 | +- Validating compliance with local regulations (GDPR, CCPA, etc.) |
| 204 | +- Testing localized user experiences |
| 205 | +- Verifying geo-targeted marketing campaigns |
| 206 | +- Testing region-specific cookie consent banners |
| 207 | + |
| 208 | +### Configuration Steps |
| 209 | + |
| 210 | +Geolocation can be configured in two ways: |
| 211 | + |
| 212 | +**Method 1: Advanced Configurations** |
| 213 | +1. Navigate to **Advanced Configurations** in your scan setup |
| 214 | +2. Click on **Geolocation Selection** |
| 215 | +3. Use the search bar to find and select your desired country or region |
| 216 | +4. The scan will be executed with traffic routed through the selected location |
| 217 | + |
| 218 | +**Method 2: Scheduling Phase** |
| 219 | +- Geolocation can also be configured by selecting the timezone during the scheduling phase. When you set up your scan schedule, you can choose a timezone that corresponds to your desired geographic location. |
| 220 | + |
| 221 | +For more information about geolocation capabilities and supported locations, refer to the [Selenium Geolocation Documentation](/support/docs/selenium-geolocation-capabilities). |
| 222 | + |
| 223 | +### Supported Locations |
| 224 | + |
| 225 | +Web Scanner supports geolocation simulation for numerous countries and regions worldwide. You can select from a comprehensive list including: |
| 226 | + |
| 227 | +- **Americas**: United States, Canada, Brazil, Mexico, Argentina, and more |
| 228 | +- **Europe**: United Kingdom, Germany, France, Spain, Italy, and more |
| 229 | +- **Asia-Pacific**: India, Japan, China, Australia, Singapore, and more |
| 230 | +- **Middle East & Africa**: UAE, Saudi Arabia, South Africa, and more |
| 231 | + |
| 232 | +### Use Cases |
| 233 | + |
| 234 | +1. **Localized Content Testing**: Verify that region-specific content displays correctly |
| 235 | +2. **Compliance Testing**: Ensure cookie consent banners and privacy notices appear for specific regions |
| 236 | +3. **Pricing Validation**: Test that region-specific pricing is displayed accurately |
| 237 | +4. **Language Testing**: Verify that the correct language is served based on geolocation |
| 238 | +5. **Performance Testing**: Test how your site performs from different geographic locations |
| 239 | + |
| 240 | +### Important Notes |
| 241 | + |
| 242 | +- Geolocation affects the IP address used for scanning, not just the browser location |
| 243 | +- Some features may not be available in all regions |
| 244 | +- Geolocation cannot be used simultaneously with Tunnel in a single scan (use parallel scans if both are needed) |
| 245 | + |
| 246 | +--- |
| 247 | + |
| 248 | +## Tunnel |
| 249 | + |
| 250 | +Tunnel enables Web Scanner to access locally hosted web pages and applications. This is essential for testing development environments, staging servers, or applications behind firewalls. |
| 251 | + |
| 252 | +For comprehensive tunnel setup instructions, configuration options, and troubleshooting, refer to the [Testing Locally Hosted Pages Documentation](/support/docs/testing-locally-hosted-pages). |
| 253 | + |
| 254 | +### When to Use Tunnel |
| 255 | + |
| 256 | +- Testing locally hosted applications (localhost, 127.0.0.1) |
| 257 | +- Scanning development or staging environments |
| 258 | +- Accessing applications behind corporate firewalls |
| 259 | +- Testing applications not publicly accessible |
| 260 | + |
| 261 | +### How Tunnel Works |
| 262 | + |
| 263 | +LambdaTest Tunnel creates a secure, encrypted connection between your local machine and the LambdaTest cloud infrastructure: |
| 264 | + |
| 265 | +1. You download and run the LambdaTest Tunnel binary on your local machine |
| 266 | +2. The tunnel establishes a secure connection to LambdaTest's cloud |
| 267 | +3. Web Scanner routes requests through the tunnel to access your local resources |
| 268 | +4. All communication is encrypted and secure |
| 269 | + |
| 270 | +### Configuration Steps |
| 271 | + |
| 272 | +#### Step 1: Download Tunnel Binary |
| 273 | + |
| 274 | +Download the LambdaTest Tunnel binary for your platform: |
| 275 | + |
| 276 | +<Tabs className="docs__val" groupId="platform"> |
| 277 | +<TabItem value="windows" label="Windows" default> |
| 278 | + |
| 279 | +**Windows (64-bit)** |
| 280 | +``` |
| 281 | +https://downloads.lambdatest.com/tunnel/v3/windows/amd64/LT.exe |
| 282 | +``` |
| 283 | + |
| 284 | +**Windows (32-bit)** |
| 285 | +``` |
| 286 | +https://downloads.lambdatest.com/tunnel/v3/windows/386/LT.exe |
| 287 | +``` |
| 288 | + |
| 289 | +</TabItem> |
| 290 | +<TabItem value="macos" label="macOS"> |
| 291 | + |
| 292 | +**macOS (Intel)** |
| 293 | +``` |
| 294 | +https://downloads.lambdatest.com/tunnel/v3/mac/amd64/LT |
| 295 | +``` |
| 296 | + |
| 297 | +**macOS (Apple Silicon)** |
| 298 | +``` |
| 299 | +https://downloads.lambdatest.com/tunnel/v3/mac/arm64/LT |
| 300 | +``` |
| 301 | + |
| 302 | +</TabItem> |
| 303 | +<TabItem value="linux" label="Linux"> |
| 304 | + |
| 305 | +**Linux (64-bit)** |
| 306 | +``` |
| 307 | +https://downloads.lambdatest.com/tunnel/v3/linux/amd64/LT |
| 308 | +``` |
| 309 | + |
| 310 | +**Linux (ARM64)** |
| 311 | +``` |
| 312 | +https://downloads.lambdatest.com/tunnel/v3/linux/arm64/LT |
| 313 | +``` |
| 314 | + |
| 315 | +</TabItem> |
| 316 | +</Tabs> |
| 317 | + |
| 318 | +#### Step 2: Start the Tunnel |
| 319 | + |
| 320 | +<Tabs className="docs__val" groupId="platform"> |
| 321 | +<TabItem value="windows" label="Windows" default> |
| 322 | + |
| 323 | +```bash |
| 324 | +LT.exe --user YOUR_LAMBDATEST_USERNAME --key YOUR_LAMBDATEST_ACCESS_KEY --tunnelName YOUR_TUNNEL_NAME |
| 325 | +``` |
| 326 | + |
| 327 | +</TabItem> |
| 328 | +<TabItem value="macos" label="macOS/Linux"> |
| 329 | + |
| 330 | +```bash |
| 331 | +chmod +x LT |
| 332 | +./LT --user YOUR_LAMBDATEST_USERNAME --key YOUR_LAMBDATEST_ACCESS_KEY --tunnelName YOUR_TUNNEL_NAME |
| 333 | +``` |
| 334 | + |
| 335 | +</TabItem> |
| 336 | +</Tabs> |
| 337 | + |
| 338 | +Replace: |
| 339 | +- `YOUR_LAMBDATEST_USERNAME`: Your LambdaTest username |
| 340 | +- `YOUR_LAMBDATEST_ACCESS_KEY`: Your LambdaTest access key |
| 341 | +- `YOUR_TUNNEL_NAME`: A unique name for your tunnel (e.g., "web-scanner-tunnel") |
| 342 | + |
| 343 | +#### Step 3: Configure Tunnel in Web Scanner |
| 344 | + |
| 345 | +1. Navigate to **Advanced Configurations** in your scan setup |
| 346 | +2. Click on **Add a local testing setup** |
| 347 | +3. Select your tunnel from the dropdown (it should show as "Active" if running) |
| 348 | +4. The tunnel will be used to access your locally hosted pages |
| 349 | + |
| 350 | +### Tunnel Benefits |
| 351 | + |
| 352 | +- **Secure Connection**: All tunnel traffic is encrypted using TLS 1.2 |
| 353 | +- **No Public Access Required**: Test applications that aren't publicly accessible |
| 354 | +- **Local Development Testing**: Scan localhost and development servers |
| 355 | +- **Firewall Bypass**: Access resources behind corporate firewalls |
| 356 | +- **Cost Effective**: No need to deploy applications publicly for testing |
| 357 | + |
| 358 | +### Tunnel Best Practices |
| 359 | + |
| 360 | +1. **Keep Tunnel Running**: Ensure the tunnel is running before starting your scan |
| 361 | +2. **Unique Tunnel Names**: Use descriptive, unique names for multiple tunnels |
| 362 | +3. **Network Stability**: Ensure stable network connection for reliable tunnel operation |
| 363 | +4. **Security**: Never share tunnel credentials or expose them in public repositories |
| 364 | +5. **Resource Management**: Close tunnels when not in use to free up resources |
| 365 | + |
| 366 | +### Troubleshooting Tunnel Issues |
| 367 | + |
| 368 | +- **Connection Failures**: Verify your network allows outbound connections on port 443 |
| 369 | +- **Tunnel Not Appearing**: Ensure the tunnel is running and you've used the correct credentials |
| 370 | +- **Timeout Errors**: Check your local server is running and accessible |
| 371 | +- **Firewall Issues**: Ensure your firewall allows the tunnel binary to make outbound connections |
| 372 | + |
| 373 | +--- |
| 374 | + |
| 375 | +## Combining Advanced Features |
| 376 | + |
| 377 | +You can combine multiple advanced features in a single scan: |
| 378 | + |
| 379 | +- **Authentication + Tunnel**: Test authenticated pages on locally hosted applications |
| 380 | +- **Geolocation + Dedicated Proxy**: Test region-specific content through a dedicated proxy |
| 381 | +- **Authentication + Geolocation**: Test authenticated pages from specific geographic locations |
| 382 | + |
| 383 | +> **Note:** Some feature combinations may have limitations. For example, Tunnel and Geolocation cannot be used simultaneously in a single scan. Use parallel scans if you need both features. |
| 384 | +
|
| 385 | +--- |
| 386 | + |
| 387 | +## Additional Resources |
| 388 | + |
| 389 | +- [Web Scanner Overview](/support/docs/web-scanner-overview) |
| 390 | +- [Starting a Visual UI Scan](/support/docs/web-scanner-visual-scan) |
| 391 | +- [Testing Locally Hosted Pages](/support/docs/testing-locally-hosted-pages) |
| 392 | +- [Dedicated Proxy Documentation](/support/docs/dedicated-proxy) |
| 393 | +- [HTTP Basic Authentication](/support/docs/http-basic-authentication) |
| 394 | + |
0 commit comments