Best Python code snippet using pytractor_python
test_mixins.py
Source:test_mixins.py  
...152            self.instance, '_execute_client_script'153        ) as mock_execute_client_script:154            self.instance.wait_for_angular()155        self.assertEqual(mock_execute_client_script.call_count, 0)156    def test__test_for_angular(self):157        self.instance._test_timeout = 5000158        self.verify_function_executes_script_with(159            self.instance._test_for_angular,160            'testForAngular', self.instance._test_timeout / 1000161        )162    def test__location_equals(self):163        with patch.object(164            self.instance, 'execute_script', create=True165        ) as mock_execute_script:166            mock_location = MagicMock()167            mock_execute_script.return_value = MagicMock(__eq__=MagicMock())168            result = self.instance._location_equals(mock_location)169        mock_execute_script.assert_called_once_with(170            'return window.location.href'...TractorScripts.py
Source:TractorScripts.py  
...220        return self._run_script(self.repeaterMatch)221    @angular_wait_required222    def find_element_by_css_containing_text(self, css_containing_text):223        return self._run_script(self.findByCssContainingText, css_containing_text)224    def _test_for_angular(self, timeout=10):225        return self._run_script(self.testForAngular, floor(timeout / 1000))[0]226    def reload(self):227        url = self.execute_script('return window.location.href')228        self.get(url)229    @angular_wait_required230    def set_location(self, url):231        return self._run_script(self.setLocation, 'body', url)232    def _location_equals(self, location):233        result = self.execute_script('return window.location.href')234        return result == location235    # @property236    # @angular_wait_required237    # def current_url(self):238    #     return self.current_url239    @property240    @angular_wait_required241    def current_location(self):242        return self.execute_script('return window.location.href')243    @property244    @angular_wait_required245    def page_source(self):246        return self.page_source247    # TODO: fix issue catching exception248    def is_angular_page(self, timeout=10):249        # test_result = self._test_for_angular()250        # print(test_result)251        # angular_on_page = test_result[0]252        # if not angular_on_page:253        #     message = test_result[1]254        #     raise AngularNotFoundException(255        #         'Angular could not be found on page: {}:'256        #         ' {}'.format(self.current_url, message)257        #     )258        try:259            self._test_for_angular(timeout)260        except JavascriptException:261            return False262        return True263    def wait_and_click(self, element, timeout=10):264        wait = WebDriverWait(self, timeout)265        element = wait.until(EC.element_to_be_clickable(element))266        element.click()267        return element268    def exit(self, safe_exit=False):269        """270        Safely exit instance of webdriver.271        :param safe_exit: Disable any possible alert or confirmation popup windows.272        :type safe_exit: bool273        """...mixins.py
Source:mixins.py  
...88        if driver_command in COMMANDS_NEEDING_WAIT:89            self.wait_for_angular()90        return super(WebDriverMixin, self).execute(driver_command,91                                                   params=params)92    def _test_for_angular(self):93        return self._execute_client_script('testForAngular',94                                           floor(self._test_timeout / 1000))95    def _location_equals(self, location):96        result = self.execute_script('return window.location.href')97        return result == location98    @property99    @angular_wait_required100    def current_url(self):101        return super(WebDriverMixin, self).current_url102    @property103    @angular_wait_required104    def page_source(self):105        return super(WebDriverMixin, self).page_source106    @property107    @angular_wait_required108    def title(self):109        return super(WebDriverMixin, self).title110    @property111    @angular_wait_required112    def location_abs_url(self):113        return self._execute_client_script('getLocationAbsUrl',114                                           self._root_element, async=False)115    @angular_wait_required116    def find_elements_by_repeater(self, descriptor, using=None):117        return self._execute_client_script('findAllRepeaterRows',118                                           descriptor, False, using,119                                           async=False)120    @angular_wait_required121    def find_element(self, *args, **kwargs):122        return super(WebDriverMixin, self).find_element(*args, **kwargs)123    @angular_wait_required124    def find_elements(self, *args, **kwargs):125        return super(WebDriverMixin, self).find_elements(*args, **kwargs)126    @angular_wait_required127    def find_elements_by_binding(self, descriptor, using=None):128        elements = self._execute_client_script('findBindings', descriptor,129                                               False, using, async=False)130        return elements131    def find_element_by_binding(self, descriptor, using=None):132        elements = self.find_elements_by_binding(descriptor, using=using)133        if len(elements) == 0:134            raise NoSuchElementException(135                "No element found for binding descriptor"136                " '{}'".format(descriptor)137            )138        else:139            return elements[0]140    def find_element_by_exact_binding(self, descriptor, using=None):141        elements = self.find_elements_by_exact_binding(descriptor, using=using)142        if len(elements) == 0:143            raise NoSuchElementException(144                "No element found for binding descriptor"145                " '{}'".format(descriptor)146            )147        else:148            return elements[0]149    @angular_wait_required150    def find_elements_by_exact_binding(self, descriptor, using=None):151        elements = self._execute_client_script('findBindings', descriptor,152                                               True, using, async=False)153        return elements154    def find_element_by_model(self, descriptor, using=None):155        elements = self.find_elements_by_model(descriptor, using=using)156        if len(elements) == 0:157            raise NoSuchElementException(158                "No element found for model descriptor"159                " {}".format(descriptor)160            )161        else:162            return elements[0]163    @angular_wait_required164    def find_elements_by_model(self, descriptor, using=None):165        elements = self._execute_client_script('findByModel', descriptor,166                                               using, async=False)167        # Workaround for issue #10: findByModel.js returns None instead of empty168        # list if no element has been found.169        if elements is None:170            elements = []171        return elements172    def get(self, url):173        super(WebDriverMixin, self).get('about:blank')174        full_url = urljoin(str(self._base_url), str(url))175        self.execute_script(176            """177            window.name = "{}" + window.name;178            window.location.replace("{}");179            """.format(DEFER_LABEL, full_url)180        )181        wait = WebDriverWait(self, self._test_timeout)182        wait.until_not(self._location_equals, 'about:blank')183        if not self.ignore_synchronization:184            test_result = self._test_for_angular()185            angular_on_page = test_result[0]186            if not angular_on_page:187                message = test_result[1]188                raise AngularNotFoundException(189                    'Angular could not be found on page: {}:'190                    ' {}'.format(full_url, message)191                )192            # TODO: inject scripts here193            # return self.execute_script(194            #     'angular.resumeBootstrap(arguments[0]);'195            # )196            self.execute_script('angular.resumeBootstrap();')197    def refresh(self):198        url = self.execute_script('return window.location.href')...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
