replaycli-py/api/chrome/features/steps/steps.py

79 lines
2.7 KiB
Python
Raw Normal View History

2022-01-05 13:30:34 +00:00
from behave import *
from cli import Chrome
2022-01-05 15:22:36 +00:00
# ========================== Chrome.start () ==========================
2022-01-05 13:30:34 +00:00
@given ("the Chrome client")
def step_impl (context):
context.client = Chrome()
2022-01-05 15:22:36 +00:00
@when ("the start method is called")
2022-01-05 13:30:34 +00:00
def step_impl (context):
2022-01-05 15:22:36 +00:00
context.start_return = context.client.start()
2022-01-05 13:30:34 +00:00
@then ("Google Chrome must open")
2022-01-05 13:30:34 +00:00
def step_impl (context):
2022-01-05 15:22:36 +00:00
assert context.start_return == "", "Google Chrome did not opened as expected."
context.client.stop()
# ========================== Chrome.start_headless () ==========================
@when ("the start_headless method is called")
def step_impl (context):
context.start_headless_return = context.client.start_headless()
@then ("Google Chrome must open headless")
2022-01-05 15:22:36 +00:00
def step_impl (context):
assert context.start_headless_return == "", "Google Chrome did not opened as expected."
context.client.stop()
# ========================== Chrome.stop () ==========================
@given ("a Chrome instance")
def step_impl (context):
context.start_return = context.client.start()
@when ("the stop method is called upon it")
def step_impl (context):
context.stop_return = context.client.stop()
@then ("this Google Chrome instance must close")
2022-01-05 15:22:36 +00:00
def step_impl (context):
assert context.stop_return == "", "Google Chrome did not closed as expected."
# ========================== Chrome.new () ==========================
@when("the new method is called")
def step_impl(context):
context.tab_id = context.client.new("https://www.youtube.com")
@then ("a new Google Chrome tab with the url given must open in the instance")
def step_impl(context):
assert len(context.tab_id) == 32, "The new Google Chrome tab did not opened correctly."
context.client.stop()
# ========================== Chrome.close () ==========================
@given ("the id of a new Google Chrome tab opened")
def step_impl(context):
context.tab_id1 = context.client.new("https://www.gmail.com")
context.tab_id2 = context.client.new("https://www.youtube.com")
@when ("the close method is called upon the tab id")
def step_impl(context):
context.close_return = context.client.close(context.tab_id1)
@then("the tab must close")
def step_impl(context):
assert context.close_return == "", "The tab did not closed correctly."
context.client.stop()
2022-01-05 18:04:25 +00:00
# ========================== Chrome.eval () ==========================
@when("the eval method is called upon the tab id with a command")
def step_impl(context):
context.eval_value = context.client.eval(context.tab_id1, "2+2")
@then("this command must give back a value")
def step_impl(context):
assert 'value' in context.eval_value['result']['result'], "The command did not worked as expected."
context.client.stop()