Initial commit - Selenium automation framework
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import pytest
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
|
||||
from tests.config_reader import is_combined_setup_enabled, load_config
|
||||
from tests.helpers import login, logout, save_session_backup
|
||||
from tests.setup.sessions.test_session import create_session
|
||||
from tests.setup.tokens.test_trading_token import create_and_activate_token, get_product_codes
|
||||
from tests.step_actions import StepActions
|
||||
|
||||
|
||||
pytestmark = pytest.mark.skipif(
|
||||
not is_combined_setup_enabled(),
|
||||
reason="Combined setup requires setup.run_session and setup.run_token to both be true",
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.session
|
||||
@pytest.mark.trading_token
|
||||
def test_session_and_token_setup(driver, test_context):
|
||||
|
||||
config = load_config()
|
||||
token = config.get("trading_token_idas")
|
||||
assert token, "Add trading_token_idas in config.json before running token setup."
|
||||
|
||||
wait = WebDriverWait(driver, 20)
|
||||
step = StepActions(driver, wait, test_context)
|
||||
|
||||
driver.get(config["url"])
|
||||
step.capture("open_application")
|
||||
|
||||
login(
|
||||
driver,
|
||||
config["login"]["username"],
|
||||
config["login"]["password"]
|
||||
)
|
||||
step.capture("login")
|
||||
save_session_backup(driver, test_context, "login_session_backup")
|
||||
|
||||
create_session(driver, step, config)
|
||||
|
||||
for product_code in get_product_codes(token):
|
||||
product_token = dict(token)
|
||||
product_token["product_code"] = product_code
|
||||
create_and_activate_token(driver, step, product_token)
|
||||
|
||||
logout(driver)
|
||||
Reference in New Issue
Block a user