Tauri Desktop Tests

Test your desktop app on Windows, macOS, and Linux.

πŸ€– Vibe Coding Prompts

Choose your path and copy the prompt to your AI assistant:

Generate desktop tests for my app

Read the Bugrit Tauri docs at https://bugrit.com/docs/integrations/tauri

Look at my Tauri desktop app and write WebdriverIO tests:

1. App launches on all platforms
2. Window management works
3. Menu items function correctly
4. File system operations work
5. Native features (clipboard, notifications)

Create tests that handle platform-specific behavior.
My stack: [React / Vue / Svelte / etc.]

✨Works with Claude, ChatGPT, Cursor, Copilot, Cody, and other AI coding assistants

πŸ’‘ Why This Matters

Desktop apps run on three different operating systems. Test on all three so you don't get 1-star reviews from Windows users.

  • β†’All three platforms: Windows, macOS, Linuxβ€”no hardware needed
  • β†’Native features: Test file system, clipboard, notifications
  • β†’Auto-build: We build your app for each platform

πŸͺŸ Windows

Windows 10 & 11

🍎 macOS

Sonoma & Ventura

🐧 Linux

Ubuntu 22.04 & 24.04

Technical Reference

API Request

curl -X POST https://bugrit.com/api/v1/scans \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "applicationId": "app-abc123",
    "sourceType": "github",
    "repoUrl": "https://github.com/yourorg/tauri-app",
    "testConfig": {
      "tauri": {
        "enabled": true,
        "platforms": ["windows", "macos", "linux"],
        "osVersions": {
          "windows": ["11", "10"],
          "macos": ["sonoma"],
          "linux": ["ubuntu-24.04"]
        }
      }
    }
  }'

WebdriverIO Config

// wdio.conf.js
const path = require('path');

exports.config = {
  specs: ['./tests/**/*.spec.ts'],
  maxInstances: 1,
  capabilities: [{
    'tauri:options': {
      application: path.resolve(__dirname,
        './src-tauri/target/release/bundle/macos/MyApp.app')
    }
  }],
  framework: 'mocha',
  services: ['tauri']
};

Example Test

// tests/app.spec.ts
describe('My Tauri App', () => {
  it('should display the main window', async () => {
    const title = await browser.getTitle();
    expect(title).toBe('My Tauri App');
  });

  it('should navigate to settings', async () => {
    const settingsBtn = await $('#settings-button');
    await settingsBtn.click();
    const settingsPage = await $('#settings-page');
    await expect(settingsPage).toBeDisplayed();
  });
});

Config Options

OptionDescription
platformswindows, macos, linux
osVersionsOS versions per platform
timeoutMax test timeout in ms
buildArgsAdditional cargo tauri build args

Report Output

{
  "desktopTests": {
    "framework": "tauri",
    "summary": {
      "total": 24,
      "passed": 22,
      "failed": 2,
      "platforms": 3
    },
    "platformResults": [
      { "platform": "windows", "passed": 8, "failed": 0 },
      { "platform": "macos", "passed": 7, "failed": 1 },
      { "platform": "linux", "passed": 7, "failed": 1 }
    ]
  }
}

Supported Frameworks

ReactVueSvelteSolidJSNext.jsNuxt