Class: QgsRenderChecker¶
- class qgis.core.QgsRenderChecker¶
Bases:
sip.wrapper
This is a helper class for unit tests that need to write an image and compare it to an expected result or render time.
QgsRenderChecker() Constructor for QgsRenderChecker.
QgsRenderChecker(
QgsRenderChecker
)Enums
Bases:
enum.IntEnum
Methods
Test using two arbitrary images (map renderer will not be used)
Returns the base path containing the reference images.
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
Returns the total elapsed time for the rendering test.
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.
Returns the markdown report describing the results of the test run.
Returns the percent of pixels which matched the control image.
Returns the total number of pixels in the control image.
Returns the number of pixels which did not match the control image.
Returns the path of the rendered image generated by the test.
Returns the HTML report describing the results of the test run.
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
path
containing the reference images.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:
Sets whether the comparison is expected to fail.
New in version 2.4.
Sets the file name of the rendered image generated by the test.
Sets the largest allowable difference in size between the rendered and the expected image.
Returns
True
if a test report should be generated given the current environment.Returns the path to the QGIS source code.
Returns the directory to use for generating a test report.
Attributes
- class Flag(value)¶
Bases:
enum.IntEnum
Render checker flags.
New in version 3.28.
AvoidExportingRenderedImage
: Avoids exporting rendered images to reports
- AvoidExportingRenderedImage = 1¶
- baseClass¶
alias of
QgsRenderChecker
- class Flags¶
- class Flags(Union[QgsRenderChecker.Flags, QgsRenderChecker.Flag])
- class Flags(QgsRenderChecker.Flags)
Bases:
sip.wrapper
- baseClass¶
alias of
QgsRenderChecker
- compareImages(self, testName: str, mismatchCount: int = 0, renderedImageFile: str = '', flags: QgsRenderChecker.Flags | QgsRenderChecker.Flag = QgsRenderChecker.Flags()) 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
flags (Union[QgsRenderChecker.Flags) – render checker flags
note: make sure to call setExpectedImage and setRenderedImage first.
compareImages(self, testName: str, referenceImageFile: str, renderedImageFile: str, mismatchCount: int = 0, flags: Union[QgsRenderChecker.Flags, QgsRenderChecker.Flag] = QgsRenderChecker.Flags()) -> bool Test using two arbitrary images at the specified paths for equality.
New in version 3.18.
- Return type:
bool
- controlImagePath(self) str ¶
Returns the base path containing the reference images.
This defaults to an internal QGIS test data path, but can be changed via
setControlImagePath()
.See also
- 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 ¶
Returns the total elapsed time for the rendering test.
Note
this only records time for actual render part.
- 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
Deprecated since version Use: the test mask system instead.
- Parameters:
diffImageFile (str) –
- markdownReport(self, ignoreSuccess: bool = True) str ¶
Returns the markdown report describing the results of the test run.
If
ignoreSuccess
isTrue
then the report will always be empty if the test was successful.See also
New in version 3.34.
- Parameters:
ignoreSuccess (bool = True) –
- Return type:
str
- matchPercent(self) float ¶
Returns the percent of pixels which matched the control image.
- Return type:
float
- matchTarget(self) int ¶
Returns the total number of pixels in the control image.
- Return type:
int
- mismatchCount(self) int ¶
Returns the number of pixels which did not match the control image.
- Return type:
int
- renderedImage(self) str ¶
Returns the path of the rendered image generated by the test.
This method will return either the path set with
setRenderedImage()
or generated inrunTest()
.- Return type:
str
- report(self, ignoreSuccess: bool = True) str ¶
Returns the HTML report describing the results of the test run.
If
ignoreSuccess
isTrue
then the report will always be empty if the test was successful.See also
- Parameters:
ignoreSuccess (bool = True) –
- Return type:
str
- runTest(self, testName: str, mismatchCount: int = 0, flags: QgsRenderChecker.Flags | QgsRenderChecker.Flag = QgsRenderChecker.Flags()) 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.
flags (Union[QgsRenderChecker.Flags) – render checker flags
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) –
- setControlImagePath(self, path: str)¶
Sets the base
path
containing the reference images.See also
New in version 3.18.
- Parameters:
path (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) –
- setExpectFail(self, expectFail: bool)¶
Sets whether the comparison is expected to fail.
New in version 3.28.
- Parameters:
expectFail (bool) –
- setMapSettings(self, mapSettings: QgsMapSettings)¶
New in version 2.4.
- Parameters:
mapSettings (QgsMapSettings) –
- setRenderedImage(self, imageFileName: str)¶
Sets the file name of the rendered image generated by the test.
- 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.
- shouldGenerateReport() bool ¶
Returns
True
if a test report should be generated given the current environment.New in version 3.28.
- Return type:
bool
- sourcePath() str ¶
Returns the path to the QGIS source code.
New in version 3.36.
- Return type:
str
- staticMetaObject = <PyQt5.QtCore.QMetaObject object>¶
- testReportDir() QDir ¶
Returns the directory to use for generating a test report.
New in version 3.28.
- Return type:
QDir