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
Test using two arbitrary images (map renderer will not be used)
- rtype
str
Gets access to buffered dash messages.
Draws a checkboard pattern for image backgrounds, so that opacity is visible without requiring a transparent background for the image
- rtype
int
Call this to enable internal buffering of dash messages.
Returns the path to the expected image file
Gets an md5 hash that uniquely identifies an image
Gets a list of all the anomalies.
- rtype
float
- rtype
int
- rtype
int
The path of the rendered image can be retrieved through that method.
- rtype
str
Test using renderer to generate the image to be compared.
Set tolerance for color components used by
runTest()
andcompareImages()
.Sets file extension for the control image.
Sets the base directory
name
for the control image (with control image path suffixed).Sets the path prefix where the control images are kept.
- param name
- param target
New in version 2.4.
- param imageFileName
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 inrunTest()
- 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()
andcompareImages()
. 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.