Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.
8. Test av OGC-överensstämmelse
Open Geospatial Consortium (OGC) tillhandahåller tester som kan köras kostnadsfritt för att säkerställa att en server överensstämmer med en viss specifikation. Det här kapitlet innehåller en snabb handledning för att konfigurera WMS- och OGC API Features-testerna på ett Ubuntu-system. En detaljerad dokumentation finns på OGC:s webbplats.
8.1. pyogctest
pyogctest är ett Python-verktyg som är avsett för att enkelt köra OGC-tester. Installationen kan göras i en virtuell miljö:
virtualenv venv
source venv/bin/activate
pip install pyogctest
8.2. WMS 1.3.0 testsvit
För att köra WMS 1.3.0-testsviten med framgång behövs en specifik testdatauppsättning. Den kan laddas ner med hjälp av pyogctest:
pyogctest -s wms130 --download
Efter nedladdningen finns ett teamengine_wms_130.qgs
-projekt tillgängligt i den nya data
-katalogen. Detta projekt måste registreras som standardprojekt för QGIS Server med hjälp av miljövariabeln QGIS_SERVER_PROJECT_FILE. På så sätt behöver vi inte uttryckligen ställa in leverantörsparametern MAP
för QGIS Server.
En särskild konfiguration är också nödvändig för att uppfylla kraven för metadatatester. Vissa metadata finns tillgängliga i katalogen data/metadata
och måste vara tillgängliga för OGC:s testramverk via en URL. Det enklaste alternativet är att konfigurera din webbserver så att den har åtkomst via något i stil med http://XXX.XXX.XXX.XXX/metadata/Autos.xml
. Dessa metadata-URL:er definieras i projektet och infogas i WMS-dokumentet GetCapabilities
. Så projektet måste uppdateras enligt din testmiljö för att låta QGIS Server generera ett giltigt XML-dokument:
pyogctest -s wms130 -m http://XXX.XXX.XXX.XXX/metadata
Nu när allt är korrekt konfigurerat kan vi köra testsviten för WMS 1.3.0:
pyogctest -s wms130 -u http://XXX.XXX.XXX.XXX/qgisserver
========================== OGC test session starts ============================
testsuite: WMS 1.3.0
collected 184 items
data-independent::basic_elements::version-negotiation::negotiate-no-version .
data-independent::basic_elements::version-negotiation::negotiate-basic_elements-version .
data-independent::basic_elements::version-negotiation::negotiate-higher-version .
...
...
...
=========================== 184 passed in 40 seconds ===========================
8.3. Testsvit för OGC API-funktioner
För att köra testsviten OGC API Features 1.0 behövs en testdatauppsättning. Med tanke på att det underliggande QGIS-projektet inte behöver någon specifik konfiguration för denna testsvit kan vi använda filen .qgs
som finns i utbildningsarkivet:
git clone https://github.com/qgis/QGIS-Training-Data
ls QGIS-Training-Data/exercise_data/qgis-server-tutorial-data/world.qgs
Efter nedladdningen finns ett world.qgs
-projekt tillgängligt i underkatalogen qgis-server-tutorial
. Detta projekt måste registreras som standardprojekt för QGIS Server med hjälp av miljövariabeln QGIS_SERVER_PROJECT_FILE. På så sätt behöver vi inte uttryckligen ställa in leverantörsparametern MAP
för QGIS Server.
Nu när allt är korrekt konfigurerat kan vi köra testsviten OGC API Features 1.0:
pyogctest -s ogcapif -u http://XXX.XXX.XXX.XXX/qgisserver
=========================== OGC test session starts ============================
collected 56 items
collections::FeatureCollections::retrieveApiModel .
collections::FeatureCollections::noOfCollections .
collections::FeatureCollections::requirementClasses .
...
...
...
=========================== 56 passed in 24 seconds ============================