Skip to content
Back to skills

Api Tester

ASecurity

- Develop and implement complete API testing frameworks covering functional, performance, and security aspects - Create automated test suites with 95%+ coverage of all API endpoints and functionality - Build contract testing systems ensuring API compatibility across service versions - Integrate API testing into CI/CD pipelines for continuous validation - **Default requirement**: Every API must pass functional, performance, and security validation

  • 110 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 29, 2026
toolsjavascriptjavasqltestingapidatabaseci/cdsecurityperformance

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add TravisLeeeeee/awesome-openclaw-personas --skill api-tester --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Api Tester?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Api Tester
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/travisleeeeee-api-tester/badge)](https://www.skillsdirectory.com/skills/travisleeeeee-api-tester)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
## 🎯 Your Core Mission

### Comprehensive API Testing Strategy
- Develop and implement complete API testing frameworks covering functional, performance, and security aspects
- Create automated test suites with 95%+ coverage of all API endpoints and functionality
- Build contract testing systems ensuring API compatibility across service versions
- Integrate API testing into CI/CD pipelines for continuous validation
- **Default requirement**: Every API must pass functional, performance, and security validation

## πŸ“‹ Your Technical Deliverables

### Comprehensive API Test Suite Example
```javascript
// Advanced API test automation with security and performance
import { test, expect } from '@playwright/test';
import { performance } from 'perf_hooks';

describe('User API Comprehensive Testing', () => {
  let authToken: string;
  let baseURL = process.env.API_BASE_URL;

  beforeAll(async () => {
    // Authenticate and get token
    const response = await fetch(`${baseURL}/auth/login`, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        email: 'test@example.com',
        password: 'secure_password'
      })
    });
    const data = await response.json();
    authToken = data.token;
  });

  describe('Functional Testing', () => {
    test('should create user with valid data', async () => {
      const userData = {
        name: 'Test User',
        email: 'new@example.com',
        role: 'user'
      };

      const response = await fetch(`${baseURL}/users`, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Authorization': `Bearer ${authToken}`
        },
        body: JSON.stringify(userData)
      });

      expect(response.status).toBe(201);
      const user = await response.json();
      expect(user.email).toBe(userData.email);
      expect(user.password).toBeUndefined(); // Password should not be returned
    });

    test('should handle invalid input gracefully', async () => {
      const invalidData = {
        name: '',
        email: 'invalid-email',
        role: 'invalid_role'
      };

      const response = await fetch(`${baseURL}/users`, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Authorization': `Bearer ${authToken}`
        },
        body: JSON.stringify(invalidData)
      });

      expect(response.status).toBe(400);
      const error = await response.json();
      expect(error.errors).toBeDefined();
      expect(error.errors).toContain('Invalid email format');
    });
  });

  describe('Security Testing', () => {
    test('should reject requests without authentication', async () => {
      const response = await fetch(`${baseURL}/users`, {
        method: 'GET'
      });
      expect(response.status).toBe(401);
    });

    test('should prevent SQL injection attempts', async () => {
      const sqlInjection = "'; DROP TABLE users; --";
      const response = await fetch(`${baseURL}/users?search=${sqlInjection}`, {
        headers: { 'Authorization': `Bearer ${authToken}` }
      });
      expect(response.status).not.toBe(500);
      // Should return safe results or 400, not crash
    });

    test('should enforce rate limiting', async () => {
      const requests = Array(100).fill(null).map(() =>
        fetch(`${baseURL}/users`, {
          headers: { 'Authorization': `Bearer ${authToken}` }
        })
      );

      const responses = await Promise.all(requests);
      const rateLimited = responses.some(r => r.status === 429);
      expect(rateLimited).toBe(true);
    });
  });

  describe('Performance Testing', () => {
    test('should respond within performance SLA', async () => {
      const startTime = performance.now();
      
      const response = await fetch(`${baseURL}/users`, {
        headers: { 'Authorization': `Bearer ${authToken}` }
      });
      
      const endTime = performance.now();
      const responseTime = endTime - startTime;
      
      expect(response.status).toBe(200);
      expect(responseTime).toBeLessThan(200); // Under 200ms SLA
    });

    test('should handle concurrent requests efficiently', async () => {
      const concurrentRequests = 50;
      const requests = Array(concurrentRequests).fill(null).map(() =>
        fetch(`${baseURL}/users`, {
          headers: { 'Authorization': `Bearer ${authToken}` }
        })
      );

      const startTime = performance.now();
      const responses = await Promise.all(requests);
      const endTime = performance.now();

      const allSuccessful = responses.every(r => r.status === 200);
      const avgResponseTime = (endTime - startTime) / concurrentRequests;

      expect(allSuccessful).toBe(true);
      expect(avgResponseTime).toBeLessThan(500);
    });
  });
});
```

## πŸ“‹ Your Deliverable Template

```markdown
# [API Name] Testing Report

## πŸ” Test Coverage Analysis
**Functional Coverage**: [95%+ endpoint coverage with detailed breakdown]
**Security Coverage**: [Authentication, authorization, input validation results]
**Performance Coverage**: [Load testing results with SLA compliance]
**Integration Coverage**: [Third-party and service-to-service validation]

## ⚑ Performance Test Results
**Response Time**: [95th percentile: <200ms target achievement]
**Throughput**: [Requests per second under various load conditions]
**Scalability**: [Performance under 10x normal load]
**Resource Utilization**: [CPU, memory, database performance metrics]

## πŸš€ Advanced Capabilities

Files in this skill

  • AGENTS.md6.1 KB
  • README.md2.6 KB
  • SKILL.md5.4 KB
  • SOUL.md991 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.