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.7rc1.tar.gz
(31.6 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.7rc1.tar.gz.
File metadata
- Download URL: noqa_runner-0.2.7rc1.tar.gz
- Upload date:
- Size: 31.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df9940e7a13f6b37c5587d8618f307645c1c7937aff8b085d550e08865075d4b
|
|
| MD5 |
cdd173a8045da78ab7168d01597d4350
|
|
| BLAKE2b-256 |
0395c7cbdd069bbf677823a971514f82d8d43f0438b77feb3e66fa97afb441d6
|
File details
Details for the file noqa_runner-0.2.7rc1-py3-none-any.whl.
File metadata
- Download URL: noqa_runner-0.2.7rc1-py3-none-any.whl
- Upload date:
- Size: 48.5 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 |
f559ae9ab75412969dd9898426ff71bf1e806a8e4ecc58b3a8b5c957bab4b212
|
|
| MD5 |
71953b99e03f7106fc2054cc5c337984
|
|
| BLAKE2b-256 |
3dd4643e994f2633ce4b9bc368ca8b6410e345711da26bdcdf6a10d89dda4f6a
|