Пример #1
0
    def test_plugin_does_not_exist(self):
        not_here = os.path.join(self.root_dir, 'not_here.py')
        with self.assertRaises(DataError):
            SeleniumLibrary(plugins=not_here)

        with self.assertRaises(DataError):
            SeleniumLibrary(plugins='SeleniumLibrary.NotHere')
Пример #2
0
def test_sl_init_not_embed():
    sl = SeleniumLibrary(screenshot_root_directory=None)
    assert sl.screenshot_root_directory is None

    sl = SeleniumLibrary(screenshot_root_directory='None')
    assert sl.screenshot_root_directory == 'None'

    sl = SeleniumLibrary(screenshot_root_directory='/path/to/folder')
    assert sl.screenshot_root_directory == '/path/to/folder'
Пример #3
0
 def test_easier_event_firing_webdriver_from_plugin(self):
     plugin_file = os.path.join(
         self.root_dir, "plugin_with_event_firing_webdriver.py"
     )
     sl = SeleniumLibrary(plugins=plugin_file)
     self.assertEqual(sl._plugin_keywords, ["tidii"])
     self.assertEqual(sl.event_firing_webdriver, "event_firing_webdriver")
Пример #4
0
 def test_plugin_as_last_in_init(self):
     plugin_file = os.path.join(self.root_dir, "plugin_tester.py")
     event_firing_wd = os.path.join(self.root_dir, "MyListener.py")
     sl = SeleniumLibrary(
         plugins=plugin_file, event_firing_webdriver=event_firing_wd
     )
     self.assertEqual(sl.event_firing_webdriver, "should be last")
    def test_tags_in_plugin(self):
        sl = SeleniumLibrary(plugins=self.plugin)
        tags = sl.get_keyword_tags("foo")
        self.assertEqual(tags, ["plugin"])

        tags = sl.get_keyword_tags("open_browser")
        self.assertFalse(tags)
Пример #6
0
def test_selenium_implicit_wait_get():
    sl = SeleniumLibrary(implicit_wait="3")
    assert sl.get_selenium_implicit_wait() == "3 seconds"

    org_value = sl.set_selenium_implicit_wait("1 min")
    assert sl.get_selenium_implicit_wait() == "1 minute"
    assert org_value == "3 seconds"
Пример #7
0
    def test_set_selenium_implicit_wait(self):
        sl = SeleniumLibrary()
        sl.set_selenium_implicit_wait('5.0')
        self.assertEqual(sl.implicit_wait, 5.0)

        sl.set_selenium_implicit_wait('1 min')
        self.assertEqual(sl.implicit_wait, 60.0)
def test_selenium_implicit_wait_get():
    sl = SeleniumLibrary(implicit_wait='3')
    assert sl.get_selenium_implicit_wait() == '3 seconds'

    org_value = sl.set_selenium_implicit_wait('1 min')
    assert sl.get_selenium_implicit_wait() == '1 minute'
    assert org_value == '3 seconds'
def test_set_selenium_implicit_wait():
    sl = SeleniumLibrary()
    sl.set_selenium_implicit_wait('5.0')
    assert sl.implicit_wait == 5.0

    sl.set_selenium_implicit_wait('1 min')
    assert sl.implicit_wait == 60.0
Пример #10
0
    def test_tags_in_plugin(self):
        sl = SeleniumLibrary(plugins=self.plugin)
        tags = sl.get_keyword_tags('foo')
        self.assertEqual(tags, ['plugin'])

        tags = sl.get_keyword_tags('open_browser')
        self.assertFalse(tags)
Пример #11
0
    def __init__(self,
                 screenshot_root_directory='logs',
                 remote_url=ST.REMOTE_URL,
                 browser=ST.BROWSER,
                 headless=False,
                 alias=None,
                 device=None,
                 executable_path=None,
                 options=None,
                 service_args=None,
                 desired_capabilities=None):
        """
        启动浏览器类型可选: Firefox, Chrome, Ie, Opera, Safari, PhantomJS, 可模拟移动设备
        """
        if browser not in [
                'Firefox', 'Chrome', 'Ie', 'Opera', 'Safari', 'PhantomJS'
        ]:
            raise Exception(
                '浏览器类型不对, 仅可选: Firefox, Chrome, Ie, Opera, Safari, PhantomJS')
        self.remote_url = remote_url
        self.browser = browser
        self.headless = headless
        self.alias = alias
        self.device = device
        self.executable_path = executable_path
        self.options = options
        self.service_args = service_args
        self.desired_capabilities = desired_capabilities

        self.ctx = SeleniumLibrary(
            screenshot_root_directory=screenshot_root_directory)
        self.screenshot_directory = ST.LOG_DIR = self.ctx.screenshot_root_directory
        super(AirSelenium, self).__init__(self.ctx)
Пример #12
0
def test_set_selenium_implicit_wait():
    sl = SeleniumLibrary()
    sl.set_selenium_implicit_wait("5.0")
    assert sl.implicit_wait == 5.0

    sl.set_selenium_implicit_wait("1 min")
    assert sl.implicit_wait == 60.0
Пример #13
0
    def test_selenium_implicit_wait_get(self):
        sl = SeleniumLibrary(implicit_wait='3')
        self.assertEqual(sl.get_selenium_implicit_wait(), '3 seconds')

        org_value = sl.set_selenium_implicit_wait('1 min')
        self.assertEqual(sl.get_selenium_implicit_wait(), '1 minute')
        self.assertEqual(org_value, '3 seconds')
Пример #14
0
 def setUpClass(cls):
     cls.sl = SeleniumLibrary()
     cls.root_dir = os.path.dirname(os.path.abspath(__file__))
     Plugin = namedtuple('Plugin', 'plugin, args, kw_args')
     lib = Plugin(plugin=os.path.join(cls.root_dir, 'my_lib.py'),
                  args=[],
                  kw_args={})
     cls.plugin = lib
Пример #15
0
    def test_tags_in_plugin_args(self):
        sl = SeleniumLibrary(plugins='%s;foo;bar' % self.plugin_varargs)
        tags = sl.get_keyword_tags('foo_1')
        self.assertEqual(tags, ['MyTag', 'plugin'])

        tags = sl.get_keyword_tags('open_browser')
        self.assertFalse(tags)

        tags = sl.get_keyword_tags('add_cookie')
        self.assertEqual(tags, ['plugin'])
    def test_tags_in_plugin_args(self):
        sl = SeleniumLibrary(plugins="%s;foo;bar" % self.plugin_varargs)
        tags = sl.get_keyword_tags("foo_1")
        self.assertEqual(tags, ["MyTag", "plugin"])

        tags = sl.get_keyword_tags("open_browser")
        self.assertFalse(tags)

        tags = sl.get_keyword_tags("add_cookie")
        self.assertEqual(tags, ["plugin"])
Пример #17
0
 def __init__(self):
     ctx = SeleniumLibrary(screenshot_root_directory='Results')
     AlertKeywords.__init__(self, ctx)
     BrowserManagementKeywords.__init__(self, ctx)
     ElementKeywords.__init__(self, ctx)
     FormElementKeywords.__init__(self, ctx)
     ScreenshotKeywords.__init__(self, ctx)
     SelectElementKeywords.__init__(self, ctx)
     WaitingKeywords.__init__(self, ctx)
     self.screenshot_directory = ctx.screenshot_root_directory
     self.builtIn = CRFBuiltIn()
Пример #18
0
 def test_sl_with_kw_args_plugin(self):
     kw_args_lib = os.path.join(
         self.root_dir,
         "..",
         "..",
         "..",
         "atest",
         "acceptance",
         "1-plugin",
         "PluginWithKwArgs.py;kw1=Text1;kw2=Text2",
     )
     SeleniumLibrary(plugins=kw_args_lib)
Пример #19
0
def test_sl_set_screenshot_directory():
    sl = SeleniumLibrary()
    sl.set_screenshot_directory('EmBed')
    assert sl.screenshot_root_directory == EMBED

    sl.set_screenshot_directory(EMBED)
    assert sl.screenshot_root_directory == EMBED

    sl.set_screenshot_directory('EEmBedD')
    assert 'EEmBedD' in sl.screenshot_root_directory
    assert len('EEmBedD') < len(sl.screenshot_root_directory)

    cur_dir = dirname(abspath(__file__))
    sl.set_screenshot_directory(cur_dir)
    assert sl.screenshot_root_directory == cur_dir
Пример #20
0
 def test_redact_black(self):
     sl = SeleniumLibrary()
     sl.open_browser("http://172.26.1.60/Kofax/KFS/ThinClient/login.html",
                     "ie")
     sl._current_browser().maximize_window()
     sl.input_text("id:userid", "kcauto01")
     sl.input_password("id:password", "k00fax")
     sl.click_button("id:submitspan")
     time.sleep(1)
     sl.click_link("id:menu-new-doc")
     time.sleep(1)
     sl.click_link(
         "//div[contains(text(),'Kofax Capture')]//ancestor::a[1]")
     time.sleep(3)
     sl.click_link("id:btn-scan-setting")
     time.sleep(1)
     sl.click_link("id:linkDownloadFile")
     action = ActionChains(self.lib.driver)
     action.key_down(getattr(Keys, 'ALT')).send_keys()
     sl.close_browser()
 def test_parse_plugin_kw_doc(self):
     sl = SeleniumLibrary(
         plugins='{};arg1=Text1;arg2=Text2'.format(self.plugin_3))
     verify(sl.get_keyword_documentation('execute_javascript'),
            self.reporter)
 def test_create_toc(self):
     sl = SeleniumLibrary()
     verify(sl.get_keyword_documentation('__intro__'), self.reporter)
 def test_parse_plugin_init_doc(self):
     sl = SeleniumLibrary(
         plugins='{};arg1=Text1;arg2=Text2'.format(self.plugin_3))
     verify(sl.get_keyword_documentation('__init__'), self.reporter)
Пример #24
0
 def test_too_many_event_firing_webdriver(self):
     with self.assertRaises(ValueError):
         SeleniumLibrary(event_firing_webdriver=f"{self.listener},{self.listener}")
 def test_many_plugins(self):
     sl = SeleniumLibrary(plugins='%s, %s' % (self.plugin_1, self.plugin_2))
     verify(sl.get_keyword_documentation('__intro__'), self.reporter)
Пример #26
0
 def test_import_event_firing_webdriver_error_module(self):
     listener = os.path.join(self.root_dir, "MyListenerWrongName.py")
     with self.assertRaises(DataError):
         SeleniumLibrary(event_firing_webdriver=listener)
Пример #27
0
 def test_no_event_firing_webdriver(self):
     sl = SeleniumLibrary()
     self.assertIsNone(sl.event_firing_webdriver)
Пример #28
0
 def test_import_event_firing_webdriver(self):
     sl = SeleniumLibrary(event_firing_webdriver=self.listener)
     isinstance(sl.event_firing_webdriver, AbstractEventListener)
 def test_deprecated_run_on_failure(self):
     when(SeleniumLibrary).failure_occurred().thenReturn(True)
     sl = SeleniumLibrary()
     sl._run_on_failure()
     verify(SeleniumLibrary, times=1).failure_occurred()
 def test_failure_occurred(self):
     when(SeleniumLibrary).failure_occurred().thenReturn(True)
     sl = SeleniumLibrary()
     sl.failure_occurred()
     verify(SeleniumLibrary, times=1).failure_occurred()