Testers.AI SDKBETA powered by testers.ai
DocsIntegrationsFAQDownloads Get API key → Get the SDK →
Home/ Python/ unittest
Python unittest package: unittest_testersai

unittest × Testers.AI

The easiest way to AI-upgrade your existing unittest suite. You already have the tests — this adds AI Checks at the moments that matter, without replacing your framework, runner, or CI pipeline.

Add these AI testers to your existing tests

21 named specialists — pick by first name in any analyze_* call, or define your own.
See all + custom testers →

Install

Inherit TestersAIMixin on your TestCase.

# Download the bundle from the Downloads page, then:
pip install ./testersai-python-unittest-0.1.0.tar.gz

Example

A complete, runnable Python + unittest example.

from unittest_testersai import TestersAIMixin

class CheckoutTest(TestersAIMixin):
    def test_checkout(self):
        self.driver.get("https://shop.example/cart")
        r = self.taScreenshot(self.driver.get_screenshot_as_png())

        self.driver.find_element("id", "checkout").click()
        r2 = self.taScreenshot(self.driver.get_screenshot_as_png())

        self.assertTestersAIClean(r2)      # opt-in hard fail

How it flows

1
🧪
Your test runs
unittest — unchanged.
2
📸
SDK captures
Screenshot, console, network, or page text.
3
🤖
Testers.AI analyses
Returns AI-identified issues.
4
📝
unittest report
Findings shown where you already look.
5
🔗
Optional: auto-log
Jira · Xray · TestRail · Cypress Cloud.

Logged through the test runner's stream; assertTestersAIClean() fails via standard AssertionError. If the AI call fails — rate limit, hang, firewall, no network — the SDK gives up fast and returns a skipped result. Your unittest test is never blocked.

Where & when to put checks

Rule of thumb: wherever a human reviewer would pause to look during a manual run. These recommendations are tuned for unittest — pick the ones that fit your suite.

1

After every meaningful navigation

The page just re-rendered. Ask "does this look right?" before any interaction.

after page.goto() / driver.get()
2

After a state-changing action

Login, add-to-cart, toggle, submit. The UI just reflected a new state — where regressions hide.

after click / fill
3

Right before your main assertion

You were about to check one thing. Ask the AI about everything else for free.

before expect(...)
4

After async operations settle

API returned, spinner gone, toast shown. Catch broken empty-states and stale data.

after wait_for_selector
5

In teardown / afterEach

A single console + network check at the end of every test catches issues your assertions ignored.

afterEach / teardown
6

On responsive / theme switch

Mobile vs. desktop, light vs. dark, locale change. One call per viewport.

after setViewport
7

In setUp

Spin up a driver + launch the AI session in one place. Your existing TestCase subclass keeps its structure.

setUp hook

Value: what you get for three extra lines

Download

testersai-python-unittest-0.1.0.tar.gz
Recommended. Core + the unittest adapter — nothing else. Self-contained bundle.
~
📦
testersai-python-0.1.0.tar.gz
Whole-language archive — All Python adapters.
40 KB

Or grab the monolith ZIP (all languages, all adapters).

Other Python combinations

pytestPlaywrightSeleniumRobot FrameworkVibium