Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions Browser/keywords/coverage.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

from ..base import LibraryComponent
from ..generated.playwright_pb2 import Request
from ..utils import CoverageType, keyword, logger
from ..utils import ROBOT_FRAMEWORK_BROWSER_NO_SET, CoverageType, keyword, logger


class Coverage(LibraryComponent):
Expand Down Expand Up @@ -89,20 +89,23 @@ def start_coverage(
@keyword(tags=("Getter", "Coverage"))
def stop_coverage(
self,
) -> Path:
) -> Path | None:
Comment thread
aaltat marked this conversation as resolved.
"""Stops the coverage for the current page.

Creates a coverage report by using
[https://www.npmjs.com/package/monocart-coverage-reports|monocart-coverage-reports]
To see the default and all possible options, see
[https://github.com/cenfun/monocart-coverage-reports/blob/HEAD/lib/default/options.js|options.js]
file for more details. Returns the path to the folder where
coverage reported.
coverage reported if coverage was started, otherwise returns `None`.
"""
logger.info("Stopping coverage")
with self.playwright.grpc_channel() as stub:
response = stub.StopCoverage(Request.Empty())
logger.info(response.log)
logger.info(response.log)
if response.body == ROBOT_FRAMEWORK_BROWSER_NO_SET:
logger.info("Coverage was not started, no report generated.")
return None
coverage_dir = Path(response.body)
coverage_index_html = list(coverage_dir.glob("*.html"))
if not coverage_index_html:
Expand Down
8 changes: 8 additions & 0 deletions atest/test/01_Browser_Management/coverage.robot
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,14 @@ Merge Coverage Reports Invalid Config File
Log Caught expected error ${error}
END

Only Stop Coverage
[Documentation] ...
... LOG 1:2 INFO Stopping coverage
... LOG 1:3 INFO Coverage not started
... LOG 1:4 INFO Coverage was not started, no report generated.
${result} = Stop Coverage
Should Be Equal ${result} ${None}

*** Keywords ***
Open Page And Store ID
&{page_info} = New Page
Expand Down
2 changes: 1 addition & 1 deletion node/playwright-wrapper/playwright-state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1166,7 +1166,7 @@ async function _saveCoverageReport(activeIndexedPage: IndexedPage): Promise<Resp
const { coverage: coverageOptions, p: activePage, id: pageId } = activeIndexedPage;
activeIndexedPage.coverage = undefined;
if (!coverageOptions) {
return stringResponse('', 'Coverage not started');
return stringResponse('ROBOT_FRAMEWORK_BROWSER_NO_SET', 'Coverage not started');
}
const { directory: coverageDir = '', configFile = '', type: coverageType, raw = false } = coverageOptions;

Expand Down
Loading