Class: QgsRenderChecker

class qgis.core.QgsRenderChecker

Bases: sip.wrapper

Constructor for QgsRenderChecker.

QgsRenderChecker(QgsRenderChecker)

This is a helper class for unit tests that need to write an image and compare it to an expected result or render time.

Methods

compareImages

Test using two arbitrary images (map renderer will not be used)

controlImagePath

rtype

str

dartMeasurements

Gets access to buffered dash messages.

drawBackground

Draws a checkboard pattern for image backgrounds, so that opacity is visible without requiring a transparent background for the image

elapsedTime

rtype

int

enableDashBuffering

Call this to enable internal buffering of dash messages.

expectedImageFile

Returns the path to the expected image file

imageToHash

Gets an md5 hash that uniquely identifies an image

isKnownAnomaly

Gets a list of all the anomalies.

matchPercent

rtype

float

matchTarget

rtype

int

mismatchCount

rtype

int

renderedImage

The path of the rendered image can be retrieved through that method.

report

rtype

str

runTest

Test using renderer to generate the image to be compared.

setColorTolerance

Set tolerance for color components used by runTest() and compareImages().

setControlExtension

Sets file extension for the control image.

setControlName

Sets the base directory name for the control image (with control image path suffixed).

setControlPathPrefix

Sets the path prefix where the control images are kept.

setControlPathSuffix

param name

setElapsedTimeTarget

param target

setMapSettings

New in version 2.4.

setRenderedImage

param imageFileName

setSizeTolerance

Sets the largest allowable difference in size between the rendered and the expected image.

compareImages(self, testName: str, mismatchCount: int = 0, renderedImageFile: str = '')bool

Test using two arbitrary images (map renderer will not be used)

Parameters
  • testName (str) –

    • to be used as the basis for writing a file to

    e.g. /tmp/theTestName.png

  • mismatchCount (int = 0) –

    • defaults to 0 - the number of pixels that

    are allowed to be different from the control image. In some cases rendering may be non-deterministic. This parameter allows you to account for that by providing a tolerance.

  • renderedImageFile (str = '') – to optionally override the output filename

note: make sure to call setExpectedImage and setRenderedImage first.

compareImages(self, testName: str, referenceImageFile: str, renderedImageFile: str, mismatchCount: int = 0) -> bool Test using two arbitrary images at the specified paths for equality.

New in version 3.18.

Return type

bool

controlImagePath(self)str
Return type

str

dartMeasurements(self)List[QgsDartMeasurement]

Gets access to buffered dash messages. Only will return something if you call enableDashBuffering( True ); before.

Return type

List[QgsDartMeasurement]

Returns

buffered dash messages

drawBackground(image: QImage)

Draws a checkboard pattern for image backgrounds, so that opacity is visible without requiring a transparent background for the image

Parameters

image (QImage) –

elapsedTime(self)int
Return type

int

enableDashBuffering(self, enable: bool)

Call this to enable internal buffering of dash messages. You may later call dashMessages() to get access to the buffered messages. If disabled (default) dash messages will be sent immediately.

Parameters

enable (bool) – Enable or disable buffering

expectedImageFile(self)str

Returns the path to the expected image file

Return type

str

Returns

Path to the expected image file

imageToHash(self, imageFile: str)str

Gets an md5 hash that uniquely identifies an image

Parameters

imageFile (str) –

Return type

str

isKnownAnomaly(self, diffImageFile: str)bool

Gets a list of all the anomalies. An anomaly is a rendered difference file where there is some red pixel content (indicating a render check mismatch), but where the output was still acceptable. If the render diff matches one of these anomalies we will still consider it to be acceptable.

Return type

bool

Returns

a bool indicating if the diff matched one of the anomaly files

Parameters

diffImageFile (str) –

matchPercent(self)float
Return type

float

matchTarget(self)int
Return type

int

mismatchCount(self)int
Return type

int

renderedImage(self)str

The path of the rendered image can be retrieved through that method. Will return the path set with setRenderedImage() or generated in runTest()

Return type

str

Returns

The path to the rendered image

report(self)str
Return type

str

runTest(self, testName: str, mismatchCount: int = 0)bool

Test using renderer to generate the image to be compared.

Parameters
  • testName (str) –

    • to be used as the basis for writing a file to

    e.g. /tmp/theTestName.png

  • mismatchCount (int = 0) –

    • defaults to 0 - the number of pixels that

    are allowed to be different from the control image. In some cases rendering may be non-deterministic. This parameter allows you to account for that by providing a tolerance.

Note

make sure to call setExpectedImage and setMapRenderer first

Return type

bool

setColorTolerance(self, colorTolerance: int)

Set tolerance for color components used by runTest() and compareImages(). Default value is 0.

Parameters

colorTolerance (int) – is maximum difference for each color component including alpha to be considered correct.

New in version 2.1.

setControlExtension(self, extension: str)

Sets file extension for the control image. By default it is “png”

New in version 3.20.

Parameters

extension (str) –

setControlName(self, name: str)

Sets the base directory name for the control image (with control image path suffixed).

The path to the image will be constructed like this: controlImagePath() + ‘/’ + control name + ‘/’ + control name + ‘.’ + extension (‘png’ by default)

Parameters

name (str) –

setControlPathPrefix(self, name: str)

Sets the path prefix where the control images are kept. This will be appended to controlImagePath().

Parameters

name (str) –

setControlPathSuffix(self, name: str)
Parameters

name (str) –

setElapsedTimeTarget(self, target: int)
Parameters

target (int) –

setMapSettings(self, mapSettings: QgsMapSettings)

New in version 2.4.

Parameters

mapSettings (QgsMapSettings) –

setRenderedImage(self, imageFileName: str)
Parameters

imageFileName (str) –

setSizeTolerance(self, xTolerance: int, yTolerance: int)

Sets the largest allowable difference in size between the rendered and the expected image.

Parameters
  • xTolerance (int) – x tolerance in pixels

  • yTolerance (int) – y tolerance in pixels

New in version 2.12.