Try captcha automation #9
+28
-2
@@ -145,7 +145,20 @@
|
|||||||
"trade_session_start_time": "17:00",
|
"trade_session_start_time": "17:00",
|
||||||
"trade_session_end_time": "22:00"
|
"trade_session_end_time": "22:00"
|
||||||
},
|
},
|
||||||
"time_sessions": {}
|
"time_sessions": {
|
||||||
|
"ORDER_NOR": {
|
||||||
|
"start_offset_minutes": 10,
|
||||||
|
"end_time": "19:30"
|
||||||
|
},
|
||||||
|
"ORDER_EXCH": {
|
||||||
|
"start_time": "19:30",
|
||||||
|
"end_time": "19:45"
|
||||||
|
},
|
||||||
|
"TRADE": {
|
||||||
|
"start_time": "19:45",
|
||||||
|
"end_time": "19:50"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"RA": {
|
"RA": {
|
||||||
@@ -176,7 +189,20 @@
|
|||||||
"delivery_offset_days": 1,
|
"delivery_offset_days": 1,
|
||||||
"expiry_time": "20:30",
|
"expiry_time": "20:30",
|
||||||
"type_prefix": "REC",
|
"type_prefix": "REC",
|
||||||
"time_sessions": {}
|
"time_sessions": {
|
||||||
|
"ORDER_NOR": {
|
||||||
|
"start_offset_minutes": 10,
|
||||||
|
"end_time": "19:30"
|
||||||
|
},
|
||||||
|
"ORDER_EXCH": {
|
||||||
|
"start_time": "19:30",
|
||||||
|
"end_time": "19:45"
|
||||||
|
},
|
||||||
|
"TRADE": {
|
||||||
|
"start_time": "19:45",
|
||||||
|
"end_time": "19:50"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ class Locator(object):
|
|||||||
tokendeliverystartdate = "//input[@placeholder='DELIVERY_START_DATE']"
|
tokendeliverystartdate = "//input[@placeholder='DELIVERY_START_DATE']"
|
||||||
tokendeliveryenddate = "//input[@placeholder='DELIVERY_END_DATE']"
|
tokendeliveryenddate = "//input[@placeholder='DELIVERY_END_DATE']"
|
||||||
tokenexpirydate = "//input[@placeholder='Token Expiry Date']"
|
tokenexpirydate = "//input[@placeholder='Token Expiry Date']"
|
||||||
|
tokentype = "//input[@name='TYPE' or @placeholder='TYPE']"
|
||||||
tokentradedate = "//input[@placeholder='Trade Date']"
|
tokentradedate = "//input[@placeholder='Trade Date']"
|
||||||
upcordernormalstart = "//input[@name='ses3StartTime']"
|
upcordernormalstart = "//input[@name='ses3StartTime']"
|
||||||
upcordernormalend = "//input[@name='ses3EndTime']"
|
upcordernormalend = "//input[@name='ses3EndTime']"
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ from datetime import datetime, timedelta
|
|||||||
import pytest
|
import pytest
|
||||||
from selenium.webdriver.common.by import By
|
from selenium.webdriver.common.by import By
|
||||||
from selenium.webdriver.support.ui import WebDriverWait
|
from selenium.webdriver.support.ui import WebDriverWait
|
||||||
|
from selenium.webdriver.support import expected_conditions as EC
|
||||||
|
|
||||||
from tests.config_reader import get_setup_configs, parse_product_codes
|
from tests.config_reader import get_setup_configs, parse_product_codes
|
||||||
from tests.helpers import (
|
from tests.helpers import (
|
||||||
@@ -133,11 +134,11 @@ def complete_time_session_edits(driver, step, token, next_day):
|
|||||||
edit_time_session_row(
|
edit_time_session_row(
|
||||||
driver,
|
driver,
|
||||||
step,
|
step,
|
||||||
"ORDER_NOR",
|
"ORDER_NORMAL",
|
||||||
order_nor_start_time,
|
order_nor_start_time,
|
||||||
order_nor_end_time
|
order_nor_end_time
|
||||||
)
|
)
|
||||||
edit_time_session_row(driver, step, "ORDER_EXCH", order_exch_start_time, order_exch_end_time)
|
edit_time_session_row(driver, step, "ORDER_EXCHANGE", order_exch_start_time, order_exch_end_time)
|
||||||
edit_time_session_row(driver, step, "TRADE", trade_start_time, trade_end_time)
|
edit_time_session_row(driver, step, "TRADE", trade_start_time, trade_end_time)
|
||||||
|
|
||||||
click_first_grid_button(driver, "Token Details")
|
click_first_grid_button(driver, "Token Details")
|
||||||
@@ -150,6 +151,7 @@ def complete_time_session_edits(driver, step, token, next_day):
|
|||||||
def complete_time_session_edits_from_saved_token(driver, step, token):
|
def complete_time_session_edits_from_saved_token(driver, step, token):
|
||||||
|
|
||||||
step.click((By.XPATH, Locator.tokentimesessionbtn), "open_time_session")
|
step.click((By.XPATH, Locator.tokentimesessionbtn), "open_time_session")
|
||||||
|
WebDriverWait(driver, 20).until(EC.url_contains("timeSessionView"))
|
||||||
click_first_grid_button(driver, "Time Session Details")
|
click_first_grid_button(driver, "Time Session Details")
|
||||||
step.capture("open_time_session_details")
|
step.capture("open_time_session_details")
|
||||||
step.capture("before_edit_order_normal")
|
step.capture("before_edit_order_normal")
|
||||||
@@ -166,11 +168,11 @@ def complete_time_session_edits_from_saved_token(driver, step, token):
|
|||||||
edit_time_session_row(
|
edit_time_session_row(
|
||||||
driver,
|
driver,
|
||||||
step,
|
step,
|
||||||
"ORDER_NOR",
|
"ORDER_NORMAL",
|
||||||
order_nor_start_time,
|
order_nor_start_time,
|
||||||
order_nor_end_time
|
order_nor_end_time
|
||||||
)
|
)
|
||||||
edit_time_session_row(driver, step, "ORDER_EXCH", order_exch_start_time, order_exch_end_time)
|
edit_time_session_row(driver, step, "ORDER_EXCHANGE", order_exch_start_time, order_exch_end_time)
|
||||||
edit_time_session_row(driver, step, "TRADE", trade_start_time, trade_end_time)
|
edit_time_session_row(driver, step, "TRADE", trade_start_time, trade_end_time)
|
||||||
|
|
||||||
click_first_grid_button(driver, "Token Details")
|
click_first_grid_button(driver, "Token Details")
|
||||||
@@ -291,6 +293,11 @@ def create_and_activate_token(driver, step, token):
|
|||||||
|
|
||||||
next_day, token_expiry = get_delivery_date_and_expiry(token)
|
next_day, token_expiry = get_delivery_date_and_expiry(token)
|
||||||
|
|
||||||
|
if token.get("product_type", "").upper() == "REC":
|
||||||
|
token_type_prefix = token.get("type_prefix", "REC")
|
||||||
|
token_type = f"{token_type_prefix}-{datetime.now().strftime('%d%m%Y')}"
|
||||||
|
step.type((By.XPATH, Locator.tokentype), token_type, f"enter_type_{product_code.lower()}")
|
||||||
|
|
||||||
if token.get("product_type", "").upper() == "UPC":
|
if token.get("product_type", "").upper() == "UPC":
|
||||||
today = datetime.now().strftime("%d/%m/%Y")
|
today = datetime.now().strftime("%d/%m/%Y")
|
||||||
if token.get("generation_mode") == "AnyDayUPC":
|
if token.get("generation_mode") == "AnyDayUPC":
|
||||||
@@ -310,9 +317,14 @@ def create_and_activate_token(driver, step, token):
|
|||||||
continue
|
continue
|
||||||
type_first_visible_input(driver, locator, value)
|
type_first_visible_input(driver, locator, value)
|
||||||
|
|
||||||
if token.get("generation_mode") not in ("WeeklyUPC", "MonthlyUPC"):
|
if (
|
||||||
|
token.get("generation_mode") not in ("WeeklyUPC", "MonthlyUPC")
|
||||||
|
and token.get("product_type", "").upper() != "REC"
|
||||||
|
):
|
||||||
step.type((By.XPATH, Locator.tokendeliverystartdate), next_day, f"enter_delivery_start_date_{product_code.lower()}")
|
step.type((By.XPATH, Locator.tokendeliverystartdate), next_day, f"enter_delivery_start_date_{product_code.lower()}")
|
||||||
step.type((By.XPATH, Locator.tokendeliveryenddate), next_day, f"enter_delivery_end_date_{product_code.lower()}")
|
step.type((By.XPATH, Locator.tokendeliveryenddate), next_day, f"enter_delivery_end_date_{product_code.lower()}")
|
||||||
|
|
||||||
|
if token.get("generation_mode") not in ("WeeklyUPC", "MonthlyUPC"):
|
||||||
step.type((By.XPATH, Locator.tokenexpirydate), token_expiry, f"enter_token_expiry_date_{product_code.lower()}")
|
step.type((By.XPATH, Locator.tokenexpirydate), token_expiry, f"enter_token_expiry_date_{product_code.lower()}")
|
||||||
|
|
||||||
step.click((By.XPATH, Locator.savetokenbtn), f"save_token_{product_code.lower()}")
|
step.click((By.XPATH, Locator.savetokenbtn), f"save_token_{product_code.lower()}")
|
||||||
|
|||||||
Reference in New Issue
Block a user