587 lines
24 KiB
Python
587 lines
24 KiB
Python
"""Generating SeleniumBase Python code from the Recorder"""
|
|
|
|
|
|
def generate_sbase_code(srt_actions):
|
|
sb_actions = []
|
|
for action in srt_actions:
|
|
if action[0] == "begin" or action[0] == "_url_":
|
|
if "%" in action[2]:
|
|
try:
|
|
from urllib.parse import unquote
|
|
|
|
action[2] = unquote(action[2], errors="strict")
|
|
except Exception:
|
|
pass
|
|
if '"' not in action[2]:
|
|
sb_actions.append('self.open("%s")' % action[2])
|
|
elif "'" not in action[2]:
|
|
sb_actions.append("self.open('%s')" % action[2])
|
|
else:
|
|
sb_actions.append(
|
|
'self.open("%s")' % action[2].replace('"', '\\"')
|
|
)
|
|
elif action[0] == "f_url":
|
|
if "%" in action[2]:
|
|
try:
|
|
from urllib.parse import unquote
|
|
|
|
action[2] = unquote(action[2], errors="strict")
|
|
except Exception:
|
|
pass
|
|
if '"' not in action[2]:
|
|
sb_actions.append('self.open_if_not_url("%s")' % action[2])
|
|
elif "'" not in action[2]:
|
|
sb_actions.append("self.open_if_not_url('%s')" % action[2])
|
|
else:
|
|
sb_actions.append(
|
|
'self.open_if_not_url("%s")'
|
|
% action[2].replace('"', '\\"')
|
|
)
|
|
elif action[0] == "click":
|
|
method = "click"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "dbclk":
|
|
method = "double_click"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "js_cl":
|
|
method = "js_click"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "js_ca":
|
|
method = "js_click_all"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "jq_cl":
|
|
method = "jquery_click"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "jq_ca":
|
|
method = "jquery_click_all"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "r_clk":
|
|
method = "context_click"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "canva":
|
|
method = "click_with_offset"
|
|
selector = action[1][0]
|
|
p_x = action[1][1]
|
|
p_y = action[1][2]
|
|
if '"' not in selector:
|
|
sb_actions.append(
|
|
'self.%s("%s", %s, %s)' % (method, selector, p_x, p_y)
|
|
)
|
|
else:
|
|
sb_actions.append(
|
|
"self.%s('%s', %s, %s)" % (method, selector, p_x, p_y)
|
|
)
|
|
elif (
|
|
action[0] == "input"
|
|
or action[0] == "js_ty"
|
|
or action[0] == "jq_ty"
|
|
or action[0] == "pkeys"
|
|
):
|
|
method = "type"
|
|
if action[0] == "js_ty":
|
|
method = "js_type"
|
|
elif action[0] == "jq_ty":
|
|
method = "jquery_type"
|
|
elif action[0] == "pkeys":
|
|
method = "press_keys"
|
|
text = action[2].replace("\n", "\\n")
|
|
if '"' not in action[1] and '"' not in text:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")' % (method, action[1], text)
|
|
)
|
|
elif '"' not in action[1] and '"' in text:
|
|
sb_actions.append(
|
|
'self.%s("%s", \'%s\')' % (method, action[1], text)
|
|
)
|
|
elif '"' in action[1] and '"' not in text:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")' % (method, action[1], text)
|
|
)
|
|
elif '"' in action[1] and '"' in text:
|
|
sb_actions.append(
|
|
"self.%s('%s', '%s')" % (method, action[1], text)
|
|
)
|
|
elif action[0] == "hover":
|
|
method = "hover"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "e_mfa":
|
|
method = "enter_mfa_code"
|
|
text = action[2].replace("\n", "\\n")
|
|
if '"' not in action[1] and '"' not in text:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")' % (method, action[1], text)
|
|
)
|
|
elif '"' not in action[1] and '"' in text:
|
|
sb_actions.append(
|
|
'self.%s("%s", \'%s\')' % (method, action[1], text)
|
|
)
|
|
elif '"' in action[1] and '"' not in text:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")' % (method, action[1], text)
|
|
)
|
|
elif '"' in action[1] and '"' in text:
|
|
sb_actions.append(
|
|
"self.%s('%s', '%s')" % (method, action[1], text)
|
|
)
|
|
elif action[0] == "h_clk":
|
|
method = "hover_and_click"
|
|
if '"' not in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")' % (method, action[1], action[2])
|
|
)
|
|
elif '"' not in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", \'%s\')'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
"self.%s('%s', '%s')" % (method, action[1], action[2])
|
|
)
|
|
elif action[0] == "ddrop":
|
|
method = "drag_and_drop"
|
|
if '"' not in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")' % (method, action[1], action[2])
|
|
)
|
|
elif '"' not in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", \'%s\')'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
"self.%s('%s', '%s')" % (method, action[1], action[2])
|
|
)
|
|
elif action[0] == "s_opt":
|
|
method = "select_option_by_text"
|
|
if '"' not in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")' % (method, action[1], action[2])
|
|
)
|
|
elif '"' not in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", \'%s\')'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
"self.%s('%s', '%s')" % (method, action[1], action[2])
|
|
)
|
|
elif action[0] == "set_v":
|
|
method = "set_value"
|
|
if '"' not in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")' % (method, action[1], action[2])
|
|
)
|
|
elif '"' not in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", \'%s\')'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
"self.%s('%s', '%s')" % (method, action[1], action[2])
|
|
)
|
|
elif action[0] == "cho_f":
|
|
method = "choose_file"
|
|
action[2] = action[2].replace("\\", "\\\\")
|
|
if '"' not in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")' % (method, action[1], action[2])
|
|
)
|
|
elif '"' not in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", \'%s\')'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
"self.%s('%s', '%s')" % (method, action[1], action[2])
|
|
)
|
|
elif action[0] == "sw_fr":
|
|
method = "switch_to_frame"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "sw_dc":
|
|
sb_actions.append("self.switch_to_default_content()")
|
|
elif action[0] == "sw_pf":
|
|
sb_actions.append("self.switch_to_parent_frame()")
|
|
elif action[0] == "s_c_f":
|
|
method = "set_content_to_frame"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "s_c_d":
|
|
method = "set_content_to_default"
|
|
nested = action[1]
|
|
if nested:
|
|
method = "set_content_to_parent"
|
|
sb_actions.append("self.%s()" % method)
|
|
else:
|
|
sb_actions.append("self.%s()" % method)
|
|
elif action[0] == "sleep":
|
|
method = "sleep"
|
|
sb_actions.append("self.%s(%s)" % (method, action[1]))
|
|
elif action[0] == "wf_el":
|
|
method = "wait_for_element"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
elif "'" not in action[1]:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("""%s""")' % (method, action[1])
|
|
)
|
|
elif action[0] == "as_el":
|
|
method = "assert_element"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
elif "'" not in action[1]:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("""%s""")' % (method, action[1])
|
|
)
|
|
elif action[0] == "as_ep":
|
|
method = "assert_element_present"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
elif "'" not in action[1]:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("""%s""")' % (method, action[1])
|
|
)
|
|
elif action[0] == "asenv":
|
|
method = "assert_element_not_visible"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
elif "'" not in action[1]:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("""%s""")' % (method, action[1])
|
|
)
|
|
elif action[0] == "s_at_" or action[0] == "s_ats":
|
|
method = "set_attribute"
|
|
if action[0] == "s_ats":
|
|
method = "set_attributes"
|
|
if '"' not in action[1][0]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s", "%s")'
|
|
% (method, action[1][0], action[1][1], action[1][2])
|
|
)
|
|
elif "'" not in action[1][0]:
|
|
sb_actions.append(
|
|
"self.%s('%s', \"%s\", \"%s\")"
|
|
% (method, action[1][0], action[1][1], action[1][2])
|
|
)
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("""%s""", "%s", "%s")'
|
|
% (method, action[1][0], action[1][1], action[1][2])
|
|
)
|
|
elif action[0] == "acc_a":
|
|
sb_actions.append("self.accept_alert()")
|
|
elif action[0] == "dis_a":
|
|
sb_actions.append("self.dismiss_alert()")
|
|
elif action[0] == "hi_li":
|
|
method = "highlight"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "as_lt":
|
|
method = "assert_link_text"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "as_ti":
|
|
method = "assert_title"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "as_tc":
|
|
method = "assert_title_contains"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "a_url":
|
|
method = "assert_url"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "a_u_c":
|
|
method = "assert_url_contains"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "as_df":
|
|
method = "assert_downloaded_file"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "do_fi":
|
|
method = "download_file"
|
|
file_url = action[1][0]
|
|
dest = action[1][1]
|
|
if not dest:
|
|
sb_actions.append('self.%s("%s")' % (method, file_url))
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")' % (method, file_url, dest)
|
|
)
|
|
elif action[0] == "as_at":
|
|
method = "assert_attribute"
|
|
if ('"' not in action[1][0]) and action[1][2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s", "%s")'
|
|
% (method, action[1][0], action[1][1], action[1][2])
|
|
)
|
|
elif ('"' not in action[1][0]) and not action[1][2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")'
|
|
% (method, action[1][0], action[1][1])
|
|
)
|
|
elif ('"' in action[1][0]) and action[1][2]:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s", "%s")'
|
|
% (method, action[1][0], action[1][1], action[1][2])
|
|
)
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")'
|
|
% (method, action[1][0], action[1][1])
|
|
)
|
|
elif (
|
|
action[0] == "as_te"
|
|
or action[0] == "as_et"
|
|
or action[0] == "astnv"
|
|
or action[0] == "aetnv"
|
|
or action[0] == "da_te"
|
|
or action[0] == "da_et"
|
|
):
|
|
import unicodedata
|
|
|
|
text_list = False
|
|
try:
|
|
action[1][0] = unicodedata.normalize("NFKC", action[1][0])
|
|
action[1][0] = action[1][0].replace("\n", "\\n")
|
|
action[1][0] = action[1][0].replace("\u00B6", "")
|
|
except Exception:
|
|
text_list = True
|
|
|
|
method = "assert_text"
|
|
if action[0] == "as_et":
|
|
method = "assert_exact_text"
|
|
elif action[0] == "astnv":
|
|
method = "assert_text_not_visible"
|
|
elif action[0] == "aetnv":
|
|
method = "assert_exact_text_not_visible"
|
|
elif action[0] == "da_te":
|
|
method = "deferred_assert_text"
|
|
elif action[0] == "da_et":
|
|
method = "deferred_assert_exact_text"
|
|
if action[1][1] != "html":
|
|
if text_list and '"' not in action[1][1]:
|
|
sb_actions.append(
|
|
'self.%s(%s, "%s")'
|
|
% (method, action[1][0], action[1][1])
|
|
)
|
|
elif text_list and "'" not in action[1][1]:
|
|
sb_actions.append(
|
|
"self.%s(%s, '%s')"
|
|
% (method, action[1][0], action[1][1])
|
|
)
|
|
elif '"' not in action[1][0] and '"' not in action[1][1]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")'
|
|
% (method, action[1][0], action[1][1])
|
|
)
|
|
elif '"' not in action[1][0] and '"' in action[1][1]:
|
|
sb_actions.append(
|
|
'self.%s("%s", \'%s\')'
|
|
% (method, action[1][0], action[1][1])
|
|
)
|
|
elif '"' in action[1] and '"' not in action[1][1]:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")'
|
|
% (method, action[1][0], action[1][1])
|
|
)
|
|
elif '"' in action[1] and '"' in action[1][1]:
|
|
sb_actions.append(
|
|
"self.%s('%s', '%s')"
|
|
% (method, action[1][0], action[1][1])
|
|
)
|
|
else:
|
|
if text_list:
|
|
sb_actions.append(
|
|
'self.%s(%s)' % (method, action[1][0])
|
|
)
|
|
elif '"' not in action[1][0]:
|
|
sb_actions.append(
|
|
'self.%s("%s")' % (method, action[1][0])
|
|
)
|
|
else:
|
|
sb_actions.append(
|
|
"self.%s('%s')" % (method, action[1][0])
|
|
)
|
|
elif action[0] == "asnet":
|
|
method = "assert_non_empty_text"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
elif "'" not in action[1]:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("""%s""")' % (method, action[1])
|
|
)
|
|
elif action[0] == "da_el":
|
|
method = "deferred_assert_element"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
elif "'" not in action[1]:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("""%s""")' % (method, action[1])
|
|
)
|
|
elif action[0] == "da_ep":
|
|
method = "deferred_assert_element_present"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
elif "'" not in action[1]:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("""%s""")' % (method, action[1])
|
|
)
|
|
elif action[0] == "danet":
|
|
method = "deferred_assert_non_empty_text"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
elif "'" not in action[1]:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
else:
|
|
sb_actions.append(
|
|
'self.%s("""%s""")' % (method, action[1])
|
|
)
|
|
elif action[0] == "s_scr":
|
|
method = "save_screenshot"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
elif action[0] == "ss_tf":
|
|
method = "save_screenshot"
|
|
action[2] = action[1][1]
|
|
action[1] = action[1][0]
|
|
if '"' not in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", "%s")' % (method, action[1], action[2])
|
|
)
|
|
elif '"' not in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
'self.%s("%s", \'%s\')'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' not in action[2]:
|
|
sb_actions.append(
|
|
'self.%s(\'%s\', "%s")'
|
|
% (method, action[1], action[2])
|
|
)
|
|
elif '"' in action[1] and '"' in action[2]:
|
|
sb_actions.append(
|
|
"self.%s('%s', '%s')" % (method, action[1], action[2])
|
|
)
|
|
elif action[0] == "ss_tl":
|
|
method = "save_screenshot_to_logs"
|
|
sb_actions.append("self.%s()" % method)
|
|
elif action[0] == "sh_fc":
|
|
method = "show_file_choosers"
|
|
sb_actions.append("self.%s()" % method)
|
|
elif action[0] == "pr_da":
|
|
sb_actions.append("self.process_deferred_asserts()")
|
|
elif action[0] == "a_d_m":
|
|
sb_actions.append("self.activate_demo_mode()")
|
|
elif action[0] == "d_d_m":
|
|
sb_actions.append("self.deactivate_demo_mode()")
|
|
elif action[0] == "c_l_s":
|
|
sb_actions.append("self.clear_local_storage()")
|
|
elif action[0] == "c_s_s":
|
|
sb_actions.append("self.clear_session_storage()")
|
|
elif action[0] == "d_a_c":
|
|
sb_actions.append("self.delete_all_cookies()")
|
|
elif action[0] == "go_bk":
|
|
sb_actions.append("self.go_back()")
|
|
elif action[0] == "go_fw":
|
|
sb_actions.append("self.go_forward()")
|
|
elif action[0] == "c_box":
|
|
method = "check_if_unchecked"
|
|
if action[2] == "no":
|
|
method = "uncheck_if_checked"
|
|
if '"' not in action[1]:
|
|
sb_actions.append('self.%s("%s")' % (method, action[1]))
|
|
else:
|
|
sb_actions.append("self.%s('%s')" % (method, action[1]))
|
|
return sb_actions
|