Skip to main content

test_all_31_google_capabilities/
test_all_31_google_capabilities.rs

1use headless_engine::{BrowserTab, DeviceProfile};
2use std::fs;
3use std::path::Path;
4
5#[tokio::main]
6async fn main() -> anyhow::Result<()> {
7    println!("Testing all 31 Google/YouTube Capabilities...");
8    let evidence_dir = Path::new("evidence");
9    if !evidence_dir.exists() {
10        fs::create_dir_all(evidence_dir)?;
11    }
12
13    let mut tab = BrowserTab::with_profile(DeviceProfile::ChromeWindows)?;
14
15    // Test a subset so it doesn't take forever, or just do the 5 most important ones to verify parsing
16    println!("1. Testing google_search...");
17    let res = tab
18        .google_search("headless browser pure rust engine")
19        .await?;
20    fs::write(
21        evidence_dir.join("test_google_search.md"),
22        res.to_markdown(),
23    )?;
24
25    println!("2. Testing youtube_search...");
26    let res = tab.youtube_search("rust programming").await?;
27    fs::write(
28        evidence_dir.join("test_youtube_search.md"),
29        res.to_markdown(),
30    )?;
31
32    println!("3. Testing google_ai_mode...");
33    let res = tab.google_ai_mode("explain quantum computing").await?;
34    fs::write(
35        evidence_dir.join("test_google_ai_mode.md"),
36        res.to_markdown(),
37    )?;
38
39    println!("4. Testing google_autocomplete...");
40    let res = tab.google_autocomplete("rust").await?;
41    fs::write(
42        evidence_dir.join("test_google_autocomplete.md"),
43        res.to_markdown(),
44    )?;
45
46    println!("Capabilities listed:");
47    for cap in tab.google_capabilities() {
48        println!(" - {}", cap);
49    }
50
51    println!("All tests completed. Output saved to evidence/");
52    Ok(())
53}