Skip to content

Commit 8ae1b07

Browse files
committed
Add starting testapp to utest, monkey patch logger if robot not running
1 parent d20c035 commit 8ae1b07

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

Browser/utils/logger.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
from robot.api import logger # type: ignore
2+
from robot.libraries.BuiltIn import EXECUTION_CONTEXTS # type: ignore
3+
4+
if not EXECUTION_CONTEXTS.current:
5+
setattr(logger, "info", lambda msg, html: print(f"INFO: {msg}"))
6+
setattr(logger, "debug", lambda msg, html: print(f"DEBUG: {msg}"))
7+
setattr(logger, "warn", lambda msg, html: print(f"WARN: {msg}"))
28

39

410
def info(msg: str, html=False):

utest/test_python_usage.py

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,18 @@
11
import pytest
2-
from Browser.assertion_engine import AssertionOperator
3-
import robot.api.logger # type: ignore
4-
5-
6-
def info(msg: str, html=False):
7-
print(f"Info: {msg}")
2+
import subprocess
83

9-
10-
def debug(msg: str, html=False):
11-
print(f"Debug: {msg}")
4+
from Browser.assertion_engine import AssertionOperator
125

136

14-
def warn(msg: str, html=False):
15-
print(f"Warn: {msg}")
7+
@pytest.fixture()
8+
def application_server():
9+
process = subprocess.Popen(["node", "./node/dynamic-test-app/dist/server.js", "30"])
10+
yield
11+
process.terminate()
1612

1713

1814
@pytest.fixture()
1915
def browser(monkeypatch):
20-
monkeypatch.setattr(robot.api.logger, "info", info)
21-
monkeypatch.setattr(robot.api.logger, "debug", debug)
22-
monkeypatch.setattr(robot.api.logger, "warn", warn)
2316
import Browser
2417

2518
browser = Browser.Browser()
@@ -28,7 +21,7 @@ def browser(monkeypatch):
2821
browser._close
2922

3023

31-
def test_open_page_get_text(browser):
24+
def test_open_page_get_text(application_server, browser):
3225
browser.new_page("localhost:7272/dist/")
3326
text = browser.get_text("h1", AssertionOperator["=="], "Login Page")
3427
assert text == "Login Page"

0 commit comments

Comments
 (0)