Skip to main content

Quick start

ArsenalQA is a framework that helps to abstract QA functional tests from developers realisation in ORM style.

Model your data - Models help you to change and test your data faster.

Make you transports abstract - it helps you to add them on the fly.

Make relations between models by transports or other models - it helps your colleagues to understand your code easily.

Why not django, graphql, etc?

Because all of this instruments are created for developers. Developers code works in the middle of project logic, between two endpoints: users and database(for example), and are adapted for using strong interaction protocols, whereas QA need more flexible and comfortable behavior.

Instalation:

$ pip install arsenalqa[http]

Lets make our first example with Post model:

from arsenalqa.fields import Field
from arsenalqa.models import Model
from arsenalqa.transports.managers import TransportManager
from arsenalqa.transports.http import Http


class Post(Model):

    http: Http = TransportManager(Http, url='https://jsonplaceholder.typicode.com/posts/{id}')

    id = Field()
    user_id = Field(name='userId')
    title = Field()
    body = Field()

Our entity was created.

Now you can:

print(Post.http.get())  # get list of posts models

my_model = Post()  # new instance of my model
my_model.id = 1
response_model = my_model.http.get()  # get single instance from web
print(response_model)  # model from web
print(response_model.id == my_model.id)

# Lets fill new instance of our model and post it to the web
new_model = Post()
new_model.title = 'My new title'
new_model.body = 'My new Post body'

new_created_model = new_model.http.post(expected_status=201)  # Send via http POST method
print(new_created_model)  # Response wrapped in new model. Has filled field id.
print(new_model == new_created_model)  # False because, response model contains only id field.

# Lets get list of posts from web, and filter it by user
print(Post.http.get().filter_by_attrs(user_id=1))

# Lets get list of posts from web, and filter single unique model by id
first_post = Post.http.get().unique_by_attrs(id=1)
print(first_post)

# Lets request again from response model, and get title attribute from response model
print(first_post.http.get().title)

Congrats! Now you can start learning this framework. More docs page!

Release files for arsenalqa-http 2020.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for arsenalqa-http 2020.0.6
File Interpreter ABI Platform
arsenalqa_http-2020.0.6-py3-none-any.whl Python 3 none any Details

Release files / arsenalqa_http-2020.0.6-py3-none-any.whl

Download URL arsenalqa_http-2020.0.6-py3-none-any.whl
Size 23.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b370cba3b454dfefd72b62bac3def1dafac61686c1f48d89e6d7561d5fb17ea
BLAKE2b-256 checksum
How to use checksums
2356d4d4ba202d0fc88dd00293109a2d67005d1464bb5a94f76f7b2495712150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.5

Release history Release notifications | RSS feed

This release

2020.0.6 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page