Merge pull request #561 from seleniumbase/translations-and-refactoring
Update Translations and some refactoring
This commit is contained in:
commit
90b7bea6b9
|
@ -6,7 +6,7 @@ class MyTestClass(BaseCase):
|
|||
def test_basic(self):
|
||||
self.open('https://xkcd.com/1117/')
|
||||
self.assert_element('img[alt="My Sky"]')
|
||||
self.create_shepherd_tour()
|
||||
self.create_tour(theme="dark")
|
||||
self.add_tour_step("Welcome to XKCD!")
|
||||
self.add_tour_step("This is the XKCD logo.", "#masthead img")
|
||||
self.add_tour_step("Here's the daily webcomic.", "#comic img")
|
||||
|
|
|
@ -7,7 +7,8 @@ For backwards compatibility, older versions of method names have remained to kee
|
|||
|
||||
```python
|
||||
self.open(url)
|
||||
# Duplicates: self.open_url(url), self.get(url), self.visit(url)
|
||||
# Duplicates: self.open_url(url), self.get(url)
|
||||
# self.visit(url), self.goto(url), self.go_to(url)
|
||||
|
||||
self.click(selector, by=By.CSS_SELECTOR, timeout=None, delay=0)
|
||||
|
||||
|
@ -20,6 +21,7 @@ self.click_chain(selectors_list, by=By.CSS_SELECTOR, timeout=None, spacing=0)
|
|||
self.update_text(selector, new_value, by=By.CSS_SELECTOR, timeout=None, retry=False)
|
||||
# Duplicates: self.type(selector, text, by=By.CSS_SELECTOR, timeout=None, retry=False)
|
||||
# self.input(selector, text, by=By.CSS_SELECTOR, timeout=None, retry=False)
|
||||
# self.write(selector, text, by=By.CSS_SELECTOR, timeout=None, retry=False)
|
||||
|
||||
self.add_text(selector, text, by=By.CSS_SELECTOR, timeout=None)
|
||||
# Duplicates: self.send_keys(selector, text, by=By.CSS_SELECTOR, timeout=None)
|
||||
|
|
|
@ -23,12 +23,11 @@ pytest-metadata==1.8.0
|
|||
pytest-ordering==0.6
|
||||
pytest-rerunfailures==8.0;python_version<"3.6"
|
||||
pytest-rerunfailures==9.0;python_version>="3.6"
|
||||
pytest-xdist==1.31.0
|
||||
pytest-xdist==1.32.0
|
||||
parameterized==0.7.4
|
||||
soupsieve==1.9.5;python_version<"3.5"
|
||||
soupsieve==2.0;python_version>="3.5"
|
||||
beautifulsoup4==4.9.0
|
||||
atomicwrites==1.3.0
|
||||
cryptography==2.9.2
|
||||
pyopenssl==19.1.0
|
||||
pygments==2.5.2;python_version<"3.5"
|
||||
|
@ -41,7 +40,6 @@ coverage==5.1
|
|||
pyotp==2.3.0
|
||||
boto==2.49.0
|
||||
cffi==1.14.0
|
||||
tqdm==4.45.0
|
||||
flake8==3.7.9
|
||||
pyflakes==2.1.1
|
||||
certifi>=2020.4.5.1
|
||||
|
|
|
@ -670,6 +670,129 @@ def process_test_file(
|
|||
seleniumbase_lines.append(command)
|
||||
continue
|
||||
|
||||
# Handle self.input(SELECTOR, TEXT)
|
||||
if not object_dict:
|
||||
data = re.match(
|
||||
r'''^(\s*)self\.input'''
|
||||
r'''\((r?['"][\S\s]+['"]),\s?([\S\s]+)\)([\S\s]*)'''
|
||||
r'''$''', line)
|
||||
else:
|
||||
data = re.match(
|
||||
r'''^(\s*)self\.input'''
|
||||
r'''\(([\S\s]+),\s?([\S\s]+)\)([\S\s]*)'''
|
||||
r'''$''', line)
|
||||
if data:
|
||||
whitespace = data.group(1)
|
||||
selector = '%s' % data.group(2)
|
||||
selector = remove_extra_slashes(selector)
|
||||
page_selectors.append(selector)
|
||||
text = data.group(3)
|
||||
comments = data.group(4)
|
||||
command = '''%sself.input(%s, %s)%s''' % (
|
||||
whitespace, selector, text, comments)
|
||||
if selector_dict:
|
||||
if add_comments:
|
||||
comments = " # %s" % selector
|
||||
selector = optimize_selector(selector)
|
||||
if selector in selector_dict.keys():
|
||||
selector_object = selector_dict[selector]
|
||||
changed.append(selector_object.split('.')[0])
|
||||
command = '''%sself.input(%s, %s)%s''' % (
|
||||
whitespace, selector_object, text, comments)
|
||||
if object_dict:
|
||||
if not add_comments:
|
||||
comments = ""
|
||||
object_name = selector
|
||||
if object_name in object_dict.keys():
|
||||
selector_object = object_dict[object_name]
|
||||
changed.append(object_name.split('.')[0])
|
||||
command = '''%sself.input(%s, %s)%s''' % (
|
||||
whitespace, selector_object, text, comments)
|
||||
seleniumbase_lines.append(command)
|
||||
continue
|
||||
|
||||
# Handle self.write(SELECTOR, TEXT)
|
||||
if not object_dict:
|
||||
data = re.match(
|
||||
r'''^(\s*)self\.write'''
|
||||
r'''\((r?['"][\S\s]+['"]),\s?([\S\s]+)\)([\S\s]*)'''
|
||||
r'''$''', line)
|
||||
else:
|
||||
data = re.match(
|
||||
r'''^(\s*)self\.write'''
|
||||
r'''\(([\S\s]+),\s?([\S\s]+)\)([\S\s]*)'''
|
||||
r'''$''', line)
|
||||
if data:
|
||||
whitespace = data.group(1)
|
||||
selector = '%s' % data.group(2)
|
||||
selector = remove_extra_slashes(selector)
|
||||
page_selectors.append(selector)
|
||||
text = data.group(3)
|
||||
comments = data.group(4)
|
||||
command = '''%sself.write(%s, %s)%s''' % (
|
||||
whitespace, selector, text, comments)
|
||||
if selector_dict:
|
||||
if add_comments:
|
||||
comments = " # %s" % selector
|
||||
selector = optimize_selector(selector)
|
||||
if selector in selector_dict.keys():
|
||||
selector_object = selector_dict[selector]
|
||||
changed.append(selector_object.split('.')[0])
|
||||
command = '''%sself.write(%s, %s)%s''' % (
|
||||
whitespace, selector_object, text, comments)
|
||||
if object_dict:
|
||||
if not add_comments:
|
||||
comments = ""
|
||||
object_name = selector
|
||||
if object_name in object_dict.keys():
|
||||
selector_object = object_dict[object_name]
|
||||
changed.append(object_name.split('.')[0])
|
||||
command = '''%sself.write(%s, %s)%s''' % (
|
||||
whitespace, selector_object, text, comments)
|
||||
seleniumbase_lines.append(command)
|
||||
continue
|
||||
|
||||
# Handle self.add_text(SELECTOR, TEXT)
|
||||
if not object_dict:
|
||||
data = re.match(
|
||||
r'''^(\s*)self\.add_text'''
|
||||
r'''\((r?['"][\S\s]+['"]),\s?([\S\s]+)\)([\S\s]*)'''
|
||||
r'''$''', line)
|
||||
else:
|
||||
data = re.match(
|
||||
r'''^(\s*)self\.add_text'''
|
||||
r'''\(([\S\s]+),\s?([\S\s]+)\)([\S\s]*)'''
|
||||
r'''$''', line)
|
||||
if data:
|
||||
whitespace = data.group(1)
|
||||
selector = '%s' % data.group(2)
|
||||
selector = remove_extra_slashes(selector)
|
||||
page_selectors.append(selector)
|
||||
text = data.group(3)
|
||||
comments = data.group(4)
|
||||
command = '''%sself.add_text(%s, %s)%s''' % (
|
||||
whitespace, selector, text, comments)
|
||||
if selector_dict:
|
||||
if add_comments:
|
||||
comments = " # %s" % selector
|
||||
selector = optimize_selector(selector)
|
||||
if selector in selector_dict.keys():
|
||||
selector_object = selector_dict[selector]
|
||||
changed.append(selector_object.split('.')[0])
|
||||
command = '''%sself.add_text(%s, %s)%s''' % (
|
||||
whitespace, selector_object, text, comments)
|
||||
if object_dict:
|
||||
if not add_comments:
|
||||
comments = ""
|
||||
object_name = selector
|
||||
if object_name in object_dict.keys():
|
||||
selector_object = object_dict[object_name]
|
||||
changed.append(object_name.split('.')[0])
|
||||
command = '''%sself.add_text(%s, %s)%s''' % (
|
||||
whitespace, selector_object, text, comments)
|
||||
seleniumbase_lines.append(command)
|
||||
continue
|
||||
|
||||
# Handle self.send_keys(SELECTOR, TEXT)
|
||||
if not object_dict:
|
||||
data = re.match(
|
|
@ -23,13 +23,13 @@ import sys
|
|||
from seleniumbase.common import obfuscate
|
||||
from seleniumbase.common import unobfuscate
|
||||
from seleniumbase.console_scripts import logo_helper
|
||||
from seleniumbase.console_scripts import objectify
|
||||
from seleniumbase.console_scripts import sb_mkdir
|
||||
from seleniumbase.console_scripts import sb_install
|
||||
from seleniumbase.utilities.selenium_grid import download_selenium_server
|
||||
from seleniumbase.utilities.selenium_grid import grid_hub
|
||||
from seleniumbase.utilities.selenium_grid import grid_node
|
||||
from seleniumbase.utilities.selenium_ide import convert_ide
|
||||
from seleniumbase.utilities.selenium_ide import objectify
|
||||
|
||||
|
||||
def show_usage():
|
||||
|
|
|
@ -105,18 +105,6 @@ class BaseCase(unittest.TestCase):
|
|||
self.wait_for_ready_state_complete()
|
||||
self.__demo_mode_pause_if_active()
|
||||
|
||||
def open_url(self, url):
|
||||
""" Same as open() - Original saved for backwards compatibility. """
|
||||
self.open(url)
|
||||
|
||||
def get(self, url):
|
||||
""" Same as open() - WebDriver uses this method name. """
|
||||
self.open(url)
|
||||
|
||||
def visit(self, url):
|
||||
""" Same as open() - Some JS frameworks use this method name. """
|
||||
self.open(url)
|
||||
|
||||
def click(self, selector, by=By.CSS_SELECTOR, timeout=None, delay=0):
|
||||
if not timeout:
|
||||
timeout = settings.SMALL_TIMEOUT
|
||||
|
@ -257,30 +245,6 @@ class BaseCase(unittest.TestCase):
|
|||
if spacing > 0:
|
||||
time.sleep(spacing)
|
||||
|
||||
def type(self, selector, text, by=By.CSS_SELECTOR,
|
||||
timeout=None, retry=False):
|
||||
""" The short version of update_text(), which clears existing text
|
||||
and adds new text into the text field.
|
||||
We want to keep the other version for backward compatibility. """
|
||||
if not timeout:
|
||||
timeout = settings.LARGE_TIMEOUT
|
||||
if self.timeout_multiplier and timeout == settings.LARGE_TIMEOUT:
|
||||
timeout = self.__get_new_timeout(timeout)
|
||||
if page_utils.is_xpath_selector(selector):
|
||||
by = By.XPATH
|
||||
self.update_text(selector, text, by=by, timeout=timeout, retry=retry)
|
||||
|
||||
def input(self, selector, text, by=By.CSS_SELECTOR,
|
||||
timeout=None, retry=False):
|
||||
""" Same as update_text(). """
|
||||
if not timeout:
|
||||
timeout = settings.LARGE_TIMEOUT
|
||||
if self.timeout_multiplier and timeout == settings.LARGE_TIMEOUT:
|
||||
timeout = self.__get_new_timeout(timeout)
|
||||
if page_utils.is_xpath_selector(selector):
|
||||
by = By.XPATH
|
||||
self.update_text(selector, text, by=by, timeout=timeout, retry=retry)
|
||||
|
||||
def update_text(self, selector, new_value, by=By.CSS_SELECTOR,
|
||||
timeout=None, retry=False):
|
||||
""" This method updates an element's text field with new text.
|
||||
|
@ -413,16 +377,6 @@ class BaseCase(unittest.TestCase):
|
|||
elif self.slow_mode:
|
||||
self.__slow_mode_pause_if_active()
|
||||
|
||||
def send_keys(self, selector, text, by=By.CSS_SELECTOR, timeout=None):
|
||||
""" Same as add_text() """
|
||||
if not timeout:
|
||||
timeout = settings.LARGE_TIMEOUT
|
||||
if self.timeout_multiplier and timeout == settings.LARGE_TIMEOUT:
|
||||
timeout = self.__get_new_timeout(timeout)
|
||||
if page_utils.is_xpath_selector(selector):
|
||||
by = By.XPATH
|
||||
self.add_text(selector, text, by=by, timeout=timeout)
|
||||
|
||||
def submit(self, selector, by=By.CSS_SELECTOR):
|
||||
""" Alternative to self.driver.find_element_by_*(SELECTOR).submit() """
|
||||
if page_utils.is_xpath_selector(selector):
|
||||
|
@ -2858,6 +2812,76 @@ class BaseCase(unittest.TestCase):
|
|||
|
||||
############
|
||||
|
||||
# Duplicates (Avoids name confusion when migrating from other frameworks.)
|
||||
|
||||
def open_url(self, url):
|
||||
""" Same as open() - Original saved for backwards compatibility. """
|
||||
self.open(url)
|
||||
|
||||
def get(self, url):
|
||||
""" Same as open() - WebDriver uses this method name. """
|
||||
self.open(url)
|
||||
|
||||
def visit(self, url):
|
||||
""" Same as open() - Some JS frameworks use this method name. """
|
||||
self.open(url)
|
||||
|
||||
def goto(self, url):
|
||||
""" Same as open() - Some JS frameworks use this method name. """
|
||||
self.open(url)
|
||||
|
||||
def go_to(self, url):
|
||||
""" Same as open() - Some test frameworks use this method name. """
|
||||
self.open(url)
|
||||
|
||||
def type(self, selector, text, by=By.CSS_SELECTOR,
|
||||
timeout=None, retry=False):
|
||||
""" Same as update_text(). """
|
||||
if not timeout:
|
||||
timeout = settings.LARGE_TIMEOUT
|
||||
if self.timeout_multiplier and timeout == settings.LARGE_TIMEOUT:
|
||||
timeout = self.__get_new_timeout(timeout)
|
||||
if page_utils.is_xpath_selector(selector):
|
||||
by = By.XPATH
|
||||
self.update_text(selector, text, by=by, timeout=timeout, retry=retry)
|
||||
|
||||
def input(self, selector, text, by=By.CSS_SELECTOR,
|
||||
timeout=None, retry=False):
|
||||
""" Same as update_text(). """
|
||||
if not timeout:
|
||||
timeout = settings.LARGE_TIMEOUT
|
||||
if self.timeout_multiplier and timeout == settings.LARGE_TIMEOUT:
|
||||
timeout = self.__get_new_timeout(timeout)
|
||||
if page_utils.is_xpath_selector(selector):
|
||||
by = By.XPATH
|
||||
self.update_text(selector, text, by=by, timeout=timeout, retry=retry)
|
||||
|
||||
def write(self, selector, text, by=By.CSS_SELECTOR,
|
||||
timeout=None, retry=False):
|
||||
""" Same as update_text(). """
|
||||
if not timeout:
|
||||
timeout = settings.LARGE_TIMEOUT
|
||||
if self.timeout_multiplier and timeout == settings.LARGE_TIMEOUT:
|
||||
timeout = self.__get_new_timeout(timeout)
|
||||
if page_utils.is_xpath_selector(selector):
|
||||
by = By.XPATH
|
||||
self.update_text(selector, text, by=by, timeout=timeout, retry=retry)
|
||||
|
||||
def send_keys(self, selector, text, by=By.CSS_SELECTOR, timeout=None):
|
||||
""" Same as add_text() """
|
||||
if not timeout:
|
||||
timeout = settings.LARGE_TIMEOUT
|
||||
if self.timeout_multiplier and timeout == settings.LARGE_TIMEOUT:
|
||||
timeout = self.__get_new_timeout(timeout)
|
||||
if page_utils.is_xpath_selector(selector):
|
||||
by = By.XPATH
|
||||
self.add_text(selector, text, by=by, timeout=timeout)
|
||||
|
||||
def start_tour(self, name=None, interval=0):
|
||||
self.play_tour(name=name, interval=interval)
|
||||
|
||||
############
|
||||
|
||||
def add_css_link(self, css_link):
|
||||
js_utils.add_css_link(self.driver, css_link)
|
||||
|
||||
|
@ -3288,7 +3312,7 @@ class BaseCase(unittest.TestCase):
|
|||
def export_tour(self, name=None, filename="my_tour.js", url=None):
|
||||
""" Exports a tour as a JS file.
|
||||
You can call self.export_tour() anywhere where you would
|
||||
normally use self.play_tour() to play a tour.
|
||||
normally use self.play_tour() to play a website tour.
|
||||
It will include necessary resources as well, such as jQuery.
|
||||
You'll be able to copy the tour directly into the Console of
|
||||
any web browser to play the tour outside of SeleniumBase runs.
|
||||
|
@ -3296,7 +3320,9 @@ class BaseCase(unittest.TestCase):
|
|||
name - If creating multiple tours at the same time,
|
||||
use this to select the tour you wish to add steps to.
|
||||
filename - The name of the JavaScript file that you wish to
|
||||
save the tour to. """
|
||||
save the tour to.
|
||||
url - The URL where the tour starts. If not specified, the URL
|
||||
of the current page will be used. """
|
||||
if not url:
|
||||
url = self.get_current_url()
|
||||
tour_helper.export_tour(
|
||||
|
|
|
@ -235,3 +235,36 @@ class 硒测试用例(BaseCase): # noqa
|
|||
def 按值选择选项(self, *args, **kwargs):
|
||||
# select_option_by_value(dropdown_selector, option)
|
||||
return self.select_option_by_value(*args, **kwargs)
|
||||
|
||||
def 创建游览(self, *args, **kwargs):
|
||||
# create_tour(name=None, theme=None)
|
||||
return self.create_tour(*args, **kwargs)
|
||||
|
||||
def 创建SHEPHERD游览(self, *args, **kwargs):
|
||||
# create_shepherd_tour(name=None, theme=None)
|
||||
return self.create_shepherd_tour(*args, **kwargs)
|
||||
|
||||
def 创建BOOTSTRAP游览(self, *args, **kwargs):
|
||||
# create_bootstrap_tour(name=None, theme=None)
|
||||
return self.create_bootstrap_tour(*args, **kwargs)
|
||||
|
||||
def 创建HOPSCOTCH游览(self, *args, **kwargs):
|
||||
# create_hopscotch_tour(name=None, theme=None)
|
||||
return self.create_hopscotch_tour(*args, **kwargs)
|
||||
|
||||
def 创建INTROJS游览(self, *args, **kwargs):
|
||||
# create_introjs_tour(name=None, theme=None)
|
||||
return self.create_introjs_tour(*args, **kwargs)
|
||||
|
||||
def 添加游览步骤(self, *args, **kwargs):
|
||||
# add_tour_step(message, selector=None, name=None,
|
||||
# title=None, theme=None, alignment=None)
|
||||
return self.add_tour_step(*args, **kwargs)
|
||||
|
||||
def 播放游览(self, *args, **kwargs):
|
||||
# play_tour(name=None)
|
||||
return self.play_tour(*args, **kwargs)
|
||||
|
||||
def 导出游览(self, *args, **kwargs):
|
||||
# export_tour(name=None, filename="my_tour.js", url=None)
|
||||
return self.export_tour(*args, **kwargs)
|
||||
|
|
|
@ -235,3 +235,36 @@ class Testgeval(BaseCase):
|
|||
def optie_selecteren_per_waarde(self, *args, **kwargs):
|
||||
# select_option_by_value(dropdown_selector, option)
|
||||
return self.select_option_by_value(*args, **kwargs)
|
||||
|
||||
def maak_een_tour(self, *args, **kwargs):
|
||||
# create_tour(name=None, theme=None)
|
||||
return self.create_tour(*args, **kwargs)
|
||||
|
||||
def maak_een_shepherd_tour(self, *args, **kwargs):
|
||||
# create_shepherd_tour(name=None, theme=None)
|
||||
return self.create_shepherd_tour(*args, **kwargs)
|
||||
|
||||
def maak_een_bootstrap_tour(self, *args, **kwargs):
|
||||
# create_bootstrap_tour(name=None, theme=None)
|
||||
return self.create_bootstrap_tour(*args, **kwargs)
|
||||
|
||||
def maak_een_hopscotch_tour(self, *args, **kwargs):
|
||||
# create_hopscotch_tour(name=None, theme=None)
|
||||
return self.create_hopscotch_tour(*args, **kwargs)
|
||||
|
||||
def maak_een_introjs_tour(self, *args, **kwargs):
|
||||
# create_introjs_tour(name=None, theme=None)
|
||||
return self.create_introjs_tour(*args, **kwargs)
|
||||
|
||||
def toevoegen_tour_stap(self, *args, **kwargs):
|
||||
# add_tour_step(message, selector=None, name=None,
|
||||
# title=None, theme=None, alignment=None)
|
||||
return self.add_tour_step(*args, **kwargs)
|
||||
|
||||
def speel_de_tour(self, *args, **kwargs):
|
||||
# play_tour(name=None)
|
||||
return self.play_tour(*args, **kwargs)
|
||||
|
||||
def de_tour_exporteren(self, *args, **kwargs):
|
||||
# export_tour(name=None, filename="my_tour.js", url=None)
|
||||
return self.export_tour(*args, **kwargs)
|
||||
|
|
|
@ -235,3 +235,36 @@ class CasDeBase(BaseCase):
|
|||
def sélectionner_option_par_valeur(self, *args, **kwargs):
|
||||
# select_option_by_value(dropdown_selector, option)
|
||||
return self.select_option_by_value(*args, **kwargs)
|
||||
|
||||
def créer_une_visite(self, *args, **kwargs):
|
||||
# create_tour(name=None, theme=None)
|
||||
return self.create_tour(*args, **kwargs)
|
||||
|
||||
def créer_une_visite_shepherd(self, *args, **kwargs):
|
||||
# create_shepherd_tour(name=None, theme=None)
|
||||
return self.create_shepherd_tour(*args, **kwargs)
|
||||
|
||||
def créer_une_visite_bootstrap(self, *args, **kwargs):
|
||||
# create_bootstrap_tour(name=None, theme=None)
|
||||
return self.create_bootstrap_tour(*args, **kwargs)
|
||||
|
||||
def créer_une_visite_hopscotch(self, *args, **kwargs):
|
||||
# create_hopscotch_tour(name=None, theme=None)
|
||||
return self.create_hopscotch_tour(*args, **kwargs)
|
||||
|
||||
def créer_une_visite_introjs(self, *args, **kwargs):
|
||||
# create_introjs_tour(name=None, theme=None)
|
||||
return self.create_introjs_tour(*args, **kwargs)
|
||||
|
||||
def ajouter_une_étape_à_la_visite(self, *args, **kwargs):
|
||||
# add_tour_step(message, selector=None, name=None,
|
||||
# title=None, theme=None, alignment=None)
|
||||
return self.add_tour_step(*args, **kwargs)
|
||||
|
||||
def jouer_la_visite(self, *args, **kwargs):
|
||||
# play_tour(name=None)
|
||||
return self.play_tour(*args, **kwargs)
|
||||
|
||||
def exporter_la_visite(self, *args, **kwargs):
|
||||
# export_tour(name=None, filename="my_tour.js", url=None)
|
||||
return self.export_tour(*args, **kwargs)
|
||||
|
|
|
@ -235,3 +235,36 @@ class CasoDiProva(BaseCase):
|
|||
def selezionare_opzione_per_valore(self, *args, **kwargs):
|
||||
# select_option_by_value(dropdown_selector, option)
|
||||
return self.select_option_by_value(*args, **kwargs)
|
||||
|
||||
def creare_un_tour(self, *args, **kwargs):
|
||||
# create_tour(name=None, theme=None)
|
||||
return self.create_tour(*args, **kwargs)
|
||||
|
||||
def creare_un_tour_shepherd(self, *args, **kwargs):
|
||||
# create_shepherd_tour(name=None, theme=None)
|
||||
return self.create_shepherd_tour(*args, **kwargs)
|
||||
|
||||
def creare_un_tour_bootstrap(self, *args, **kwargs):
|
||||
# create_bootstrap_tour(name=None, theme=None)
|
||||
return self.create_bootstrap_tour(*args, **kwargs)
|
||||
|
||||
def creare_un_tour_hopscotch(self, *args, **kwargs):
|
||||
# create_hopscotch_tour(name=None, theme=None)
|
||||
return self.create_hopscotch_tour(*args, **kwargs)
|
||||
|
||||
def creare_un_tour_introjs(self, *args, **kwargs):
|
||||
# create_introjs_tour(name=None, theme=None)
|
||||
return self.create_introjs_tour(*args, **kwargs)
|
||||
|
||||
def aggiungere_un_passo_al_tour(self, *args, **kwargs):
|
||||
# add_tour_step(message, selector=None, name=None,
|
||||
# title=None, theme=None, alignment=None)
|
||||
return self.add_tour_step(*args, **kwargs)
|
||||
|
||||
def riprodurre_il_tour(self, *args, **kwargs):
|
||||
# play_tour(name=None)
|
||||
return self.play_tour(*args, **kwargs)
|
||||
|
||||
def esportare_il_tour(self, *args, **kwargs):
|
||||
# export_tour(name=None, filename="my_tour.js", url=None)
|
||||
return self.export_tour(*args, **kwargs)
|
||||
|
|
|
@ -235,3 +235,36 @@ class セレニウムテストケース(BaseCase): # noqa
|
|||
def 値でオプションを選択(self, *args, **kwargs):
|
||||
# select_option_by_value(dropdown_selector, option)
|
||||
return self.select_option_by_value(*args, **kwargs)
|
||||
|
||||
def ツアーを作成する(self, *args, **kwargs):
|
||||
# create_tour(name=None, theme=None)
|
||||
return self.create_tour(*args, **kwargs)
|
||||
|
||||
def SHEPHERDツアーを作成する(self, *args, **kwargs):
|
||||
# create_shepherd_tour(name=None, theme=None)
|
||||
return self.create_shepherd_tour(*args, **kwargs)
|
||||
|
||||
def BOOTSTRAPツアーを作成する(self, *args, **kwargs):
|
||||
# create_bootstrap_tour(name=None, theme=None)
|
||||
return self.create_bootstrap_tour(*args, **kwargs)
|
||||
|
||||
def HOPSCOTCHツアーを作成する(self, *args, **kwargs):
|
||||
# create_hopscotch_tour(name=None, theme=None)
|
||||
return self.create_hopscotch_tour(*args, **kwargs)
|
||||
|
||||
def INTROJSツアーを作成する(self, *args, **kwargs):
|
||||
# create_introjs_tour(name=None, theme=None)
|
||||
return self.create_introjs_tour(*args, **kwargs)
|
||||
|
||||
def ツアーステップを追加する(self, *args, **kwargs):
|
||||
# add_tour_step(message, selector=None, name=None,
|
||||
# title=None, theme=None, alignment=None)
|
||||
return self.add_tour_step(*args, **kwargs)
|
||||
|
||||
def ツアーを再生する(self, *args, **kwargs):
|
||||
# play_tour(name=None)
|
||||
return self.play_tour(*args, **kwargs)
|
||||
|
||||
def ツアーをエクスポートする(self, *args, **kwargs):
|
||||
# export_tour(name=None, filename="my_tour.js", url=None)
|
||||
return self.export_tour(*args, **kwargs)
|
||||
|
|
|
@ -235,3 +235,36 @@ class 셀레늄_테스트_케이스(BaseCase): # noqa
|
|||
def 값별로_옵션_선택(self, *args, **kwargs):
|
||||
# select_option_by_value(dropdown_selector, option)
|
||||
return self.select_option_by_value(*args, **kwargs)
|
||||
|
||||
def 가이드_투어_만들기(self, *args, **kwargs):
|
||||
# create_tour(name=None, theme=None)
|
||||
return self.create_tour(*args, **kwargs)
|
||||
|
||||
def 가이드_SHEPHERD_투어_만들기(self, *args, **kwargs):
|
||||
# create_shepherd_tour(name=None, theme=None)
|
||||
return self.create_shepherd_tour(*args, **kwargs)
|
||||
|
||||
def 가이드_BOOTSTRAP_투어_만들기(self, *args, **kwargs):
|
||||
# create_bootstrap_tour(name=None, theme=None)
|
||||
return self.create_bootstrap_tour(*args, **kwargs)
|
||||
|
||||
def 가이드_HOPSCOTCH_투어_만들기(self, *args, **kwargs):
|
||||
# create_hopscotch_tour(name=None, theme=None)
|
||||
return self.create_hopscotch_tour(*args, **kwargs)
|
||||
|
||||
def 가이드_INTROJS_투어_만들기(self, *args, **kwargs):
|
||||
# create_introjs_tour(name=None, theme=None)
|
||||
return self.create_introjs_tour(*args, **kwargs)
|
||||
|
||||
def 둘러보기_단계_추가(self, *args, **kwargs):
|
||||
# add_tour_step(message, selector=None, name=None,
|
||||
# title=None, theme=None, alignment=None)
|
||||
return self.add_tour_step(*args, **kwargs)
|
||||
|
||||
def 가이드_투어를하다(self, *args, **kwargs):
|
||||
# play_tour(name=None)
|
||||
return self.play_tour(*args, **kwargs)
|
||||
|
||||
def 가이드_투어_내보내기(self, *args, **kwargs):
|
||||
# export_tour(name=None, filename="my_tour.js", url=None)
|
||||
return self.export_tour(*args, **kwargs)
|
||||
|
|
|
@ -235,3 +235,36 @@ class CasoDeTeste(BaseCase):
|
|||
def selecionar_opção_por_valor(self, *args, **kwargs):
|
||||
# select_option_by_value(dropdown_selector, option)
|
||||
return self.select_option_by_value(*args, **kwargs)
|
||||
|
||||
def criar_um_tour(self, *args, **kwargs):
|
||||
# create_tour(name=None, theme=None)
|
||||
return self.create_tour(*args, **kwargs)
|
||||
|
||||
def criar_um_tour_shepherd(self, *args, **kwargs):
|
||||
# create_shepherd_tour(name=None, theme=None)
|
||||
return self.create_shepherd_tour(*args, **kwargs)
|
||||
|
||||
def criar_um_tour_bootstrap(self, *args, **kwargs):
|
||||
# create_bootstrap_tour(name=None, theme=None)
|
||||
return self.create_bootstrap_tour(*args, **kwargs)
|
||||
|
||||
def criar_um_tour_hopscotch(self, *args, **kwargs):
|
||||
# create_hopscotch_tour(name=None, theme=None)
|
||||
return self.create_hopscotch_tour(*args, **kwargs)
|
||||
|
||||
def criar_um_tour_introjs(self, *args, **kwargs):
|
||||
# create_introjs_tour(name=None, theme=None)
|
||||
return self.create_introjs_tour(*args, **kwargs)
|
||||
|
||||
def adicionar_passo_para_o_tour(self, *args, **kwargs):
|
||||
# add_tour_step(message, selector=None, name=None,
|
||||
# title=None, theme=None, alignment=None)
|
||||
return self.add_tour_step(*args, **kwargs)
|
||||
|
||||
def jogar_o_tour(self, *args, **kwargs):
|
||||
# play_tour(name=None)
|
||||
return self.play_tour(*args, **kwargs)
|
||||
|
||||
def exportar_o_tour(self, *args, **kwargs):
|
||||
# export_tour(name=None, filename="my_tour.js", url=None)
|
||||
return self.export_tour(*args, **kwargs)
|
||||
|
|
|
@ -235,3 +235,36 @@ class ТестНаСелен(BaseCase): # noqa
|
|||
def выбрать_опцию_по_значению(self, *args, **kwargs):
|
||||
# select_option_by_value(dropdown_selector, option)
|
||||
return self.select_option_by_value(*args, **kwargs)
|
||||
|
||||
def сделать_тур(self, *args, **kwargs):
|
||||
# create_tour(name=None, theme=None)
|
||||
return self.create_tour(*args, **kwargs)
|
||||
|
||||
def сделать_SHEPHERD_тур(self, *args, **kwargs):
|
||||
# create_shepherd_tour(name=None, theme=None)
|
||||
return self.create_shepherd_tour(*args, **kwargs)
|
||||
|
||||
def сделать_BOOTSTRAP_тур(self, *args, **kwargs):
|
||||
# create_bootstrap_tour(name=None, theme=None)
|
||||
return self.create_bootstrap_tour(*args, **kwargs)
|
||||
|
||||
def сделать_HOPSCOTCH_тур(self, *args, **kwargs):
|
||||
# create_hopscotch_tour(name=None, theme=None)
|
||||
return self.create_hopscotch_tour(*args, **kwargs)
|
||||
|
||||
def сделать_INTROJS_тур(self, *args, **kwargs):
|
||||
# create_introjs_tour(name=None, theme=None)
|
||||
return self.create_introjs_tour(*args, **kwargs)
|
||||
|
||||
def добавить_шаг_в_тур(self, *args, **kwargs):
|
||||
# add_tour_step(message, selector=None, name=None,
|
||||
# title=None, theme=None, alignment=None)
|
||||
return self.add_tour_step(*args, **kwargs)
|
||||
|
||||
def играть_тур(self, *args, **kwargs):
|
||||
# play_tour(name=None)
|
||||
return self.play_tour(*args, **kwargs)
|
||||
|
||||
def экспортировать_тур(self, *args, **kwargs):
|
||||
# export_tour(name=None, filename="my_tour.js", url=None)
|
||||
return self.export_tour(*args, **kwargs)
|
||||
|
|
|
@ -235,3 +235,36 @@ class CasoDePrueba(BaseCase):
|
|||
def seleccionar_opción_por_valor(self, *args, **kwargs):
|
||||
# select_option_by_value(dropdown_selector, option)
|
||||
return self.select_option_by_value(*args, **kwargs)
|
||||
|
||||
def crear_una_gira(self, *args, **kwargs):
|
||||
# create_tour(name=None, theme=None)
|
||||
return self.create_tour(*args, **kwargs)
|
||||
|
||||
def crear_una_gira_shepherd(self, *args, **kwargs):
|
||||
# create_shepherd_tour(name=None, theme=None)
|
||||
return self.create_shepherd_tour(*args, **kwargs)
|
||||
|
||||
def crear_una_gira_bootstrap(self, *args, **kwargs):
|
||||
# create_bootstrap_tour(name=None, theme=None)
|
||||
return self.create_bootstrap_tour(*args, **kwargs)
|
||||
|
||||
def crear_una_gira_hopscotch(self, *args, **kwargs):
|
||||
# create_hopscotch_tour(name=None, theme=None)
|
||||
return self.create_hopscotch_tour(*args, **kwargs)
|
||||
|
||||
def crear_una_gira_introjs(self, *args, **kwargs):
|
||||
# create_introjs_tour(name=None, theme=None)
|
||||
return self.create_introjs_tour(*args, **kwargs)
|
||||
|
||||
def agregar_paso_a_la_gira(self, *args, **kwargs):
|
||||
# add_tour_step(message, selector=None, name=None,
|
||||
# title=None, theme=None, alignment=None)
|
||||
return self.add_tour_step(*args, **kwargs)
|
||||
|
||||
def reproducir_la_gira(self, *args, **kwargs):
|
||||
# play_tour(name=None)
|
||||
return self.play_tour(*args, **kwargs)
|
||||
|
||||
def exportar_la_gira(self, *args, **kwargs):
|
||||
# export_tour(name=None, filename="my_tour.js", url=None)
|
||||
return self.export_tour(*args, **kwargs)
|
||||
|
|
34
setup.py
34
setup.py
|
@ -45,40 +45,40 @@ if sys.argv[-1] == 'publish':
|
|||
|
||||
setup(
|
||||
name='seleniumbase',
|
||||
version='1.37.12',
|
||||
version='1.37.13',
|
||||
description='Fast, Easy, and Reliable Browser Automation & Testing.',
|
||||
long_description=long_description,
|
||||
long_description_content_type='text/markdown',
|
||||
url='https://github.com/seleniumbase/SeleniumBase',
|
||||
platforms=["Windows", "Linux", "Unix", "Mac OS-X"],
|
||||
platforms=["Windows", "Linux", "Mac OS-X"],
|
||||
author='Michael Mintz',
|
||||
author_email='mdmintz@gmail.com',
|
||||
maintainer='Michael Mintz',
|
||||
license="MIT",
|
||||
classifiers=[
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
"Topic :: Internet",
|
||||
"Topic :: Scientific/Engineering",
|
||||
"Topic :: Software Development",
|
||||
"Topic :: Software Development :: Quality Assurance",
|
||||
"Topic :: Software Development :: Testing",
|
||||
"Topic :: Software Development :: Testing :: Acceptance",
|
||||
"Topic :: Software Development :: Testing :: Traffic Generation",
|
||||
"Topic :: Utilities",
|
||||
"Framework :: Pytest",
|
||||
"Intended Audience :: Developers",
|
||||
"Intended Audience :: Information Technology",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Operating System :: MacOS :: MacOS X",
|
||||
"Operating System :: Microsoft :: Windows",
|
||||
"Operating System :: Unix",
|
||||
"Operating System :: MacOS",
|
||||
"Framework :: Pytest",
|
||||
"Operating System :: POSIX :: Linux",
|
||||
"Programming Language :: Python",
|
||||
"Programming Language :: Python :: 2.7",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.5",
|
||||
"Programming Language :: Python :: 3.6",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Topic :: Internet",
|
||||
"Topic :: Scientific/Engineering",
|
||||
"Topic :: Software Development",
|
||||
"Topic :: Software Development :: Quality Assurance",
|
||||
"Topic :: Software Development :: Libraries",
|
||||
"Topic :: Software Development :: Testing",
|
||||
"Topic :: Software Development :: Testing :: Acceptance",
|
||||
"Topic :: Software Development :: Testing :: Traffic Generation",
|
||||
"Topic :: Utilities",
|
||||
],
|
||||
install_requires=[
|
||||
'pip>=20.1',
|
||||
|
@ -105,12 +105,11 @@ setup(
|
|||
'pytest-ordering==0.6',
|
||||
'pytest-rerunfailures==8.0;python_version<"3.6"',
|
||||
'pytest-rerunfailures==9.0;python_version>="3.6"',
|
||||
'pytest-xdist==1.31.0',
|
||||
'pytest-xdist==1.32.0',
|
||||
'parameterized==0.7.4',
|
||||
'soupsieve==1.9.5;python_version<"3.5"',
|
||||
'soupsieve==2.0;python_version>="3.5"',
|
||||
'beautifulsoup4==4.9.0',
|
||||
'atomicwrites==1.3.0',
|
||||
'cryptography==2.9.2',
|
||||
'pyopenssl==19.1.0',
|
||||
'pygments==2.5.2;python_version<"3.5"',
|
||||
|
@ -123,7 +122,6 @@ setup(
|
|||
'pyotp==2.3.0',
|
||||
'boto==2.49.0',
|
||||
'cffi==1.14.0',
|
||||
'tqdm==4.45.0',
|
||||
'flake8==3.7.9',
|
||||
'pyflakes==2.1.1',
|
||||
'certifi>=2020.4.5.1',
|
||||
|
|
Loading…
Reference in New Issue