noqa runner
Project description
noqa-runner
AI-powered mobile test execution runner for iOS applications.
Installation
pip install noqa-runner
Quick Start
CLI
# Run with local IPA build
python -m noqa_runner run \
--noqa-api-token $NOQA_API_TOKEN \
--case-input-json '[
{
"case_instructions": "Open app and login with valid credentials"
}
]' \
--device-id "00008110-001234567890001E" \
--apple-developer-team-id TEAM123456 \
--app-bundle-id com.example.app \
--build-path /path/to/app.ipa
# Run with TestFlight installation
python -m noqa_runner run \
--noqa-api-token $NOQA_API_TOKEN \
--case-input-json '[
{
"case_instructions": "Open app and verify features"
}
]' \
--device-id "00008110-001234567890001E" \
--apple-developer-team-id TEAM123456 \
--app-bundle-id com.example.app \
--app-store-id 123456789
Required Options:
--noqa-api-token TEXT noqa API authentication token [required]
--case-input-json TEXT JSON with test cases: [{case_instructions, test_id?, case_name?}] [required]
--device-id TEXT Device UDID for testing [required]
--apple-developer-team-id TEXT Apple Developer Team ID for code signing [required]
--app-bundle-id TEXT App bundle ID (auto-extracted from IPA if not provided) [recommended]
Installation Options (choose one):
--build-path TEXT Path to local IPA build file
--app-store-id TEXT App Store ID for TestFlight installation
Other Options:
--app-context TEXT Application context information [optional]
--agent-api-url TEXT Agent API base URL [optional, default: https://agent.noqa.ai]
--log-level TEXT Logging level [optional, default: INFO]
--appium-url TEXT Appium server URL [optional, default: http://localhost:4723]
Python API
from noqa_runner import RunnerSession, RunnerTestInfo
# Create session
session = RunnerSession()
# Run with local IPA build
results = session.run(
noqa_api_token="your-token",
tests=[
RunnerTestInfo(
case_instructions="Open app and verify home screen",
)
],
device_id="00008110-001234567890001E",
apple_developer_team_id="TEAM123456",
app_bundle_id="com.example.app",
app_build_path="/path/to/app.ipa",
)
# Run with TestFlight installation
results = session.run(
noqa_api_token="your-token",
tests=[
RunnerTestInfo(
case_instructions="Open app and verify features",
)
],
device_id="00008110-001234567890001E",
apple_developer_team_id="TEAM123456",
app_bundle_id="com.example.app",
app_store_id="123456789",
)
for result in results:
print(f"Test {result.case_name}: {result.status}")
Test Results
The CLI returns test results as JSON with detailed information about each test execution:
[
{
"case_instructions": "Complete onboarding, check that paywall has products",
"status": "passed",
"message": "Test completed",
"test_conditions": [
{
"condition": "Onboarding process was completed successfully",
"is_verified": true,
"evidence": "User progressed through multiple onboarding screens, ending with 'Get started' button",
"step_number": 4,
"confidence": 100
},
...
],
"steps": [...]
}
]
Support
For issues and questions https://noqa.ai/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
noqa_runner-0.2.5rc1.tar.gz
(31.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file noqa_runner-0.2.5rc1.tar.gz.
File metadata
- Download URL: noqa_runner-0.2.5rc1.tar.gz
- Upload date:
- Size: 31.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59436f10936ae8ce17834c81915e0e971a4d8f9d92f9df195f1a8dc205b4dcf8
|
|
| MD5 |
e48447d6e4e539de0d0062ff69f9045e
|
|
| BLAKE2b-256 |
708fcbe9973ca6b6fb6b5f753c54933f905486630071c4687e42c7d4e4489b27
|
File details
Details for the file noqa_runner-0.2.5rc1-py3-none-any.whl.
File metadata
- Download URL: noqa_runner-0.2.5rc1-py3-none-any.whl
- Upload date:
- Size: 48.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
103e5bba918f2c6c9276ac2edebb5a542c7b6aaea67d41b58cb53b40b74a1169
|
|
| MD5 |
81467905a180587619c1575768531ed4
|
|
| BLAKE2b-256 |
e8396f25c4bc6f949447ee9b20dad334f1d63a4205b0a491985d919a7eaddb7e
|