Odczytywanie wyników testów

Pobieranie wszystkich wyników scenariusza

Aby pobrać wszystkie wyniki testów uruchomionych według scenariusza z id równym 1 należy wysłać wiadomość GET na adres /api/user/results/?test_suite=1.
W wiadomości zwrotnej powinniśmy otrzymać strukturę danych:
{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 75,
            "stage_group": 75,
            "run_group": 74,
            "cloud_location": null,
            "uuid": "c7d4f061-d920-4981-95e1-8607e8a45a8c",
            "timestamp_created": "2021-04-22T15:15:00.716774+02:00",
            "timestamp_updated": "2021-04-22T15:15:01.607272+02:00",
            "status": 7,
            "result": {
                "result": {
                    "1": [
                        {
                            "hostname": "172.30.10.254",
                            "succeeded": true,
                            "ip_address": "172.30.10.254"
                        }
                    ],
                    "2": [
                        {
                            "hostname": "83-144-64-197.static.chello.pl",
                            "succeeded": true,
                            "ip_address": "83.144.64.197"
                        }
                    ],
                    "3": [
                        {
                            "hostname": "10.46.195.1",
                            "succeeded": true,
                            "ip_address": "10.46.195.1"
                        }
                    ],
                    "4": [
                        {
                            "hostname": "89-75-3-193.infra.chello.pl",
                            "succeeded": true,
                            "ip_address": "89.75.3.193"
                        }
                    ],
                    "5": [
                        {
                            "hostname": "pl-krk07a-ra2-ae-0-1499.aorta.net",
                            "succeeded": true,
                            "ip_address": "84.116.193.22"
                        }
                    ],
                    "6": [
                        {
                            "hostname": "pl-waw04a-rc1-ae-7-1401.aorta.net",
                            "succeeded": true,
                            "ip_address": "84.116.193.29"
                        }
                    ],
                    "7": [
                        {
                            "hostname": "pl-waw26b-ri1-ae-3-0.aorta.net",
                            "succeeded": true,
                            "ip_address": "84.116.138.102"
                        }
                    ],
                    "8": [
                        {
                            "hostname": "213.46.178.34",
                            "succeeded": true,
                            "ip_address": "213.46.178.34"
                        }
                    ],
                    "9": [
                        {
                            "hostname": "hbg-bb4-link.ip.twelve99.net",
                            "succeeded": true,
                            "ip_address": "62.115.118.40"
                        }
                    ],
                    "10": [
                        {
                            "hostname": "hbg-b1-link.ip.twelve99.net",
                            "succeeded": true,
                            "ip_address": "213.155.135.85"
                        }
                    ],
                    "11": [
                        {
                            "hostname": "cloudflare-ic314537-hbg-b1.ip.twelve99-cust.net",
                            "succeeded": true,
                            "ip_address": "62.115.61.202"
                        }
                    ],
                    "12": [
                        {
                            "hostname": "172.67.167.172",
                            "succeeded": true,
                            "ip_address": "172.67.167.172"
                        }
                    ]
                },
                "finished": true,
                "parameters": {
                    "address": "www.netrsr.com"
                }
            },
            "threshold_exceeded": null,
            "test_block": 7,
            "block_group": 75,
            "test_agent": 1
        },
        {
            "id": 74,
            "stage_group": 74,
            "run_group": 74,
            "cloud_location": null,
            "uuid": "36e4d4f9-a7b6-4fd3-a92b-0e604f7edd76",
            "timestamp_created": "2021-04-22T15:15:00.274466+02:00",
            "timestamp_updated": "2021-04-22T15:15:00.703676+02:00",
            "status": 7,
            "result": {
                "result": {
                    "list": [
                        {
                            "rtt": 35.429,
                            "sequence": 1,
                            "succeeded": true
                        }
                    ],
                    "max_rtt": 35.429,
                    "min_rtt": 35.429,
                    "mean_rtt": 35.429,
                    "succeeded_count": 1
                },
                "finished": true,
                "parameters": {
                    "count": 1,
                    "address": "www.netrsr.com",
                    "interval": 1
                }
            },
            "threshold_exceeded": false,
            "test_block": 6,
            "block_group": 74,
            "test_agent": 1
        }
    ]
}

Pobieranie wyników dla jednego bloczka scenariusza

Jeśli chcemy pobrać wyniki testów uruchomionych dla scenariusza z id = 1 oraz tylko dla bloczka z id = 6 (test Ping, krok 1) należy wysłać wiadomość GET na adres /api/user/results/?test_suite=1&test_block=6.
W wiadomości zwrotnej powinniśmy otrzymać listę wyników według powyższej struktury zawierającą wyniki tylko dla scenariusza z id 1 oraz bloczka testu z id 6.

Pobieranie wyników z innymi filtrami

Wyniki dostępne w api możemy również filtrować dodając do wiadomości takie parametry jak:
  • test_agent - id test agenta (możliwość podania wielu wartości),

  • test_suite – id scenariusza,

  • run_group – id jednej grupy uruchomienia scenariusza,

  • stage_group – id jednego kroku jednego scenariusza,

  • stage_no – numer kroku,

  • test_block – id bloczka scenariusza,

  • threshold_exceeded – oznacza przekroczenie zadeklarowanego progu alarmowego (dostępne wartości true i false),

  • status – status zadania (możliwe wartości 4-8, możliwość podania wielu wartości):
    • 4 – zadanie wysłane do test agenta,

    • 5 – zadanie otrzymane przez test agenta,

    • 6 – zadanie uruchomione,

    • 7 – zadanie zakończone,

    • 8 – zadanie zakończone błędem.

Możliwe jest również podanie do filtra test agentów i/lub statusów wielu wartości. Aby to zrobić należy poszczególne wartości oddzielić znakiem
  • „,” w przypadku gdy chcemy połączyć je operatorem logicznym „i”,

  • „|” w przypadku gdy chcemy połączyć je operatorem logicznym „lub”.

Przykład: /api/user/results/?test_agent=1|2|3.

Pobieranie przesortowanych wyników

Możliwe jest również sortowanie wyników po dacie lub po nazwie. Należy to zrobić poprzez dopisanie do adresu wiadomości parametru ordering:
  • /api/user/results/?ordering=timestamp_updated dla sortowania wyników od tych z najstarszą datą aktualizacji do najnowszej,

  • /api/user/results/?ordering=-timestamp_updated dla sortowania wyników od tych z najnowszą datą aktualizacji do najstarszej,

  • /api/user/results/?ordering=timestamp_created dla sortowania wyników od tych z najstarszą datą utworzenia do najnowszej,

  • /api/user/results/?ordering=-timestamp_created dla sortowania wyników od tych z najnowszą datą utworzenia do najstarszej.