Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 117 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,45 @@
![Docker](https://img.shields.io/badge/Docker-Required-blue.svg)
![AI Powered](https://img.shields.io/badge/AI-Powered-purple.svg)

**Transform plain English into production-ready test automation.** Mark 1 is an intelligent test generation platform that converts natural language descriptions into executable Robot Framework code using a sophisticated multi-agent AI system. No coding requiredβ€”just describe what you want to test.
**Transform plain English into production-ready test automation.** Mark 1 is your one-stop solution for writing automation tests without coding. Just describe what you want to test in plain English, and watch it generate working Robot Framework tests automatically. Write once, execute infinitelyβ€”even if your application changes!

```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ› οΈ Refactor suggestion | 🟠 Major

Add language identifiers to fenced code blocks per markdown formatting standards.

Seven code blocks are missing language specifiers (MD040 violations). For ASCII diagrams, use ```text or ```plaintext; for shell commands, use ```bash; for test examples, use ```robot.

Apply these diffs to fix the markdown linting violations:

+text "Open Flipkart and search for shoes and then get the first product name" ↓ [4 AI Agents Working Together] ↓ βœ… Working Robot Framework Test (Can run forever) -
+```


```diff
-```
+```plaintext
 "Search for 'blue shoes' on the website, verify results appear, 
 and check that the first product has a price"
-```
+```
-```
+```plaintext
 "Login with credentials admin@company.com, navigate to settings, 
 change password to NewPassword123, and verify success message"
-```
+```
-```
+```plaintext
 "Fill patient form with John Doe, age 30, select blood type O+, 
 upload medical record, and submit"
-```
+```
-```
+```plaintext
 "Create new project, add 3 team members, set privacy to private, 
 and verify they can access the project"
-```
+```
-```
+```plaintext
 "Open website on mobile viewport, search for items, 
 add to cart, and proceed to checkout"
-```
+```

+```text

  1. YOU: "Go to Google and search for 'cats'"

  2. ROBOT THINKS: "OK, let me break that down:

    • Step 1: Go to Google.com
    • Step 2: Find the search box
    • Step 3: Type 'cats'
    • Step 4: Press Enter"
  3. ROBOT LOOKS: (uses AI eyes to see the website)
    "I see a search box with id='search'
    I see a search button with class='submit'"

  4. ROBOT WRITES: (generates test code in Robot Framework)
    "Open Browser β†’ Fill Text in search box β†’ Click button"

  5. ROBOT TESTS: (runs the test in a clean sandbox)
    "βœ… Test passed! Everything worked!"
    - +




Also applies to: 70-70, 78-78, 86-86, 94-94, 102-102, 184-184

<details>
<summary>🧰 Tools</summary>

<details>
<summary>πŸͺ› markdownlint-cli2 (0.18.1)</summary>

11-11: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>πŸ€– Prompt for AI Agents</summary>

In README.md around lines 11, 70, 78, 86, 94, 102 and 184, several fenced code
blocks lack language identifiers; update each opening fence to include the appropriate language specifier (usetext for ASCII diagrams, plaintext for plain text/test examples, bash for shell commands, and robot for Robot Framework examples) so each code block begins with the correct backticks plus language token and leave the existing closing unchanged.


</details>

<!-- This is an auto-generated comment by CodeRabbit -->

"Open Flipkart and search for shoes and then get the first product name"
↓
[4 AI Agents Working Together]
↓
βœ… Working Robot Framework Test
βœ… Working Robot Framework Test (Can run forever)
```

## Why Mark 1?
## πŸš€ What Can Mark 1 Do For You?

### βœ… Your One-Stop Solution for Automation Testing
- **No Coding Required** - Write tests in plain English, not Python or JavaScript
- **Works on Any Website** - E-commerce, SaaS, web appsβ€”anything with a UI
- **Generates Professional Code** - Beautiful Robot Framework tests that even manual QAs can read
- **Fast Test Creation** - 20-30 seconds from idea to working test

### πŸ“ Write Once, Execute Infinitely
- **Reusable Tests** - Generate test code once, run it 1000 times
- **Environment Agnostic** - Same test works on dev, staging, and production
- **No Re-recording Needed** - Unlike traditional record-and-playback tools, AI keeps up with UI changes
- **Cost Efficient** - Setup overhead paid once, then unlimited test runs

### 🧠 Gets Smarter Over Time
- **Learns Your Architecture** - Remembers common navigation patterns and workflows
- **Contextual Understanding** - AI understands your product's structure and layout
- **Fewer Tokens Over Time** - As it learns your system, it uses fewer AI tokens per test
- **Better Outputs** - More specific, stable, and efficient tests with each run

### πŸ‘₯ Perfect for Manual QA Teams
- **Easy to Read** - Robot Framework syntax is plain English-like, no technical skills needed
- **Self-Documenting** - Test code IS the documentation
- **Low Learning Curve** - Manual QAs can understand and maintain tests immediately
- **Empowerment Without Complexity** - Keep your QA team without forcing them to become developers

---

## Why Mark 1 Stands Out

- 🎯 **95%+ Success Rate** - Vision-based element detection that actually works
- ⚑ **3-5x Faster** - Batch processing finds all elements in one session
Expand All @@ -25,7 +53,7 @@
- πŸ“¦ **Zero Setup** - One command to start, works out of the box
- 🎨 **Beautiful Reports** - Detailed HTML logs for easy debugging

## Quick Comparison
## πŸ“ˆ Quick Comparison

| Feature | Mark 1 | Selenium IDE | Playwright Codegen | Manual Coding |
|---------|--------|--------------|-------------------|---------------|
Expand All @@ -35,6 +63,63 @@
| **Learning Curve** | None | Low | Medium | High |
| **Maintenance** | Simply Rerun | Re-record | Re-record | Manual updates |

## πŸ’Ό Real-World Use Cases

### πŸ›οΈ E-commerce & Retail
**Scenario**: Test search functionality across your product catalog
```
"Search for 'blue shoes' on the website, verify results appear,
and check that the first product has a price"
```
βœ… **Benefit**: Catch product page layout changes automatically, no re-recording

### 🏦 Financial Services
**Scenario**: Test user account workflows
```
"Login with credentials admin@company.com, navigate to settings,
change password to NewPassword123, and verify success message"
```
βœ… **Benefit**: Complex flows are easy to describe, maintained as readable code

### πŸ₯ Healthcare Platforms
**Scenario**: Test patient data entry flows
```
"Fill patient form with John Doe, age 30, select blood type O+,
upload medical record, and submit"
```
βœ… **Benefit**: Non-technical medical staff can verify and understand tests

### ☁️ SaaS Applications
**Scenario**: Test multi-page workflows
```
"Create new project, add 3 team members, set privacy to private,
and verify they can access the project"
```
βœ… **Benefit**: Tests stay valid even after UI redesigns with AI adaptation

### πŸ“± Cross-Platform Testing
**Scenario**: Verify workflows on web and mobile-responsive sites
```
"Open website on mobile viewport, search for items,
add to cart, and proceed to checkout"
```
βœ… **Benefit**: Single test description works on responsive designs

---

## 🎯 Why Choose Mark 1? (The Bottom Line)

| Your Situation | Mark 1 Solution | Time Saved |
|---|---|---|
| **You have manual QA team** | No coding needed, tests are readable English | βœ… 40-60% faster test creation |
| **UI changes frequently** | Tests auto-adapt via AI | βœ… No test maintenance time |
| **Need tests for new features** | Write tests before code exists | βœ… Test-driven development ready |
| **Legacy testing tools too slow** | Batch element detection | βœ… 3-5x faster than Selenium IDE |
| **Testing is expensive** | Reuse tests indefinitely | βœ… Lower total cost of ownership |
| **Hard to scale QA** | One engineer β†’ 1000 tests | βœ… Enable non-technical QAs |

---

## πŸš€ Quick Start

### Prerequisites
Expand Down Expand Up @@ -92,7 +177,31 @@ python tools/browser_use_service.py

**Pro Tip:** Be specific about what you want. Mention exact elements like "first product name" or "search button in header".

## πŸ—οΈ How It Works
## πŸ—οΈ How It Works (Explain Like I'm 5)

**Imagine you're teaching a robot to test your website:**

```
1. YOU: "Go to Google and search for 'cats'"

2. ROBOT THINKS: "OK, let me break that down:
- Step 1: Go to Google.com
- Step 2: Find the search box
- Step 3: Type 'cats'
- Step 4: Press Enter"

3. ROBOT LOOKS: (uses AI eyes to see the website)
"I see a search box with id='search'
I see a search button with class='submit'"

4. ROBOT WRITES: (generates test code in Robot Framework)
"Open Browser β†’ Fill Text in search box β†’ Click button"

5. ROBOT TESTS: (runs the test in a clean sandbox)
"βœ… Test passed! Everything worked!"
```

**In Technical Terms:**

Mark 1 uses a **multi-agent AI system** to transform your natural language into working tests:

Expand All @@ -102,7 +211,7 @@ Your Query β†’ [AI Processing] β†’ Robot Framework Code β†’ Execution β†’ Result

**The Process:**
1. **Intelligent Planning** - Query analyzed and broken into precise steps
2. **Smart Element Detection** - AI finds web elements with 95%+ accuracy
2. **Smart Element Detection** - AI finds web elements with 95%+ accuracy (using computer vision)
3. **Code Generation** - Transforms steps into production-ready Robot Framework code
4. **Quality Assurance** - Validates code before execution
5. **Isolated Execution** - Runs in clean Docker containers
Expand All @@ -113,6 +222,8 @@ Your Query β†’ [AI Processing] β†’ Robot Framework Code β†’ Execution β†’ Result
- βœ… Real-time progress updates
- βœ… Validated locators that work on dynamic websites

**Want deeper details?** See the [Architecture Documentation](docs/ARCHITECTURE.md) for the full technical breakdown.

## πŸ“ Project Structure

```
Expand Down