> ## Documentation Index
> Fetch the complete documentation index at: https://docs.testavi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompting 101 Guide

> Learn how to write clear, reliable test instructions for consistent results

## Core Principles

### 1. Descriptive Elements

<AccordionGroup>
  <Accordion title="Level 1: Basic Text" icon="sparkles">
    <img src="https://mintcdn.com/testavi/EZPsEKS5tlXTIjp3/images/prompting_basic.png?fit=max&auto=format&n=EZPsEKS5tlXTIjp3&q=85&s=5b1b265183307da2d32a31a118b799ec" alt="Prompting Basic" width="840" height="101" data-path="images/prompting_basic.png" />

    *Basic but sometimes insufficient*
  </Accordion>

  <Accordion title="Level 2: Position Context" icon="sparkles">
    <img src="https://mintcdn.com/testavi/LXgXSZo3f5WNL7f6/images/prompting_positional.png?fit=max&auto=format&n=LXgXSZo3f5WNL7f6&q=85&s=6270fa0594050c9718fbe2ca02904432" alt="Prompting Positional" width="840" height="101" data-path="images/prompting_positional.png" />

    *Better - adds positional context*
  </Accordion>

  <Accordion title="Level 3: Surrounding Elements">
    <img src="https://mintcdn.com/testavi/LXgXSZo3f5WNL7f6/images/prompting_surrounding.png?fit=max&auto=format&n=LXgXSZo3f5WNL7f6&q=85&s=97e4a3e2412f4889c4aa4115a00da929" alt="Prompting Surrounding" width="840" height="98" data-path="images/prompting_surrounding.png" />

    *Best - provides complete context*
  </Accordion>
</AccordionGroup>

### 2. Verify States

Always begin with 'Verify' to check for:

* Element presence

  <img src="https://mintcdn.com/testavi/LXgXSZo3f5WNL7f6/images/verify_ex_3.png?fit=max&auto=format&n=LXgXSZo3f5WNL7f6&q=85&s=2b7f90bf34994886ede5706fbde191e4" alt="Verify Ex 3" width="840" height="195" data-path="images/verify_ex_3.png" />
* Content Validation

  <img src="https://mintcdn.com/testavi/LXgXSZo3f5WNL7f6/images/verify_ex_4.png?fit=max&auto=format&n=LXgXSZo3f5WNL7f6&q=85&s=421d265cb2f4723f17dbd98c69ea79d5" alt="Verify Ex 4" width="840" height="195" data-path="images/verify_ex_4.png" />

## Writing Steps

Each test step is one of the 4 types: **ACTION**, **VERIFICATION**, **JAVASCRIPT**, **EXTRACT**

<Columns cols={2}>
  <Card title="Action" icon="sparkles">
    Click, Type, Hover, Scroll, Wait, Upload, or Select operations for user interactions
  </Card>

  <Card title="Verify" icon="sparkles">
    Check elements, states, and conditions on the page
  </Card>

  <Card title="JavaScript" icon="sparkles">
    Run custom JavaScript code for complex operations
  </Card>

  <Card title="Extract" icon="sparkles">
    Pull and store data from the page for later use
  </Card>
</Columns>

###

## Best Practices

1. **Start Simple**: Begin with discrete actions for common interactions
2. **Validate Early**: Use verification actions to catch issues quickly
3. **Extract Strategically**: Only extract data you need for subsequent steps
4. **JavaScript as Backup**: Use JavaScript actions when other options aren't sufficient

## Common Pitfalls

1. **Multiple Actions**: Combining multiple actions in one step
2. **Vague Descriptions**: Using unclear element descriptions
3. **Missing Brackets**: Forgetting to enclose values or elements
4. **Skipping Verifications**: Not validating important states
5. **Implicit Waits**: Not specifying wait durations

## Next Steps

* Try writing your [first test](/first-test)
* Explore [available actions](/discrete-actions)
* Learn about test configuration
