Best Python code snippet using toolium_python
visual_test.py
Source:visual_test.py  
...124    def get_scrolls_size(self):125        scroll_x = 0126        scroll_y = 0127        if (self.driver_wrapper.config.get('Driver', 'type').split('-')[0] in ['chrome', 'iexplore'] and128                not self.driver_wrapper.is_mobile_test()):129            scroll_height = self.driver_wrapper.driver.execute_script("return document.body.scrollHeight")130            scroll_width = self.driver_wrapper.driver.execute_script("return document.body.scrollWidth")131            window_height = self.driver_wrapper.driver.execute_script("return window.innerHeight")132            window_width = self.driver_wrapper.driver.execute_script("return window.innerWidth")133            scroll_size = 21 if self.driver_wrapper.config.get('Driver', 'type').split('-')[0] == 'iexplore' else 17134            scroll_x = scroll_size if scroll_width > window_width else 0135            scroll_y = scroll_size if scroll_height > window_height else 0136        return {'x': scroll_x, 'y': scroll_y}137    def remove_scrolls(self, img):138        scrolls_size = self.get_scrolls_size()139        if scrolls_size['x'] > 0 or scrolls_size['y'] > 0:140            new_image_width = img.size[0] - scrolls_size['y']141            new_image_height = img.size[1] - scrolls_size['x']142            img = img.crop((0, 0, new_image_width, new_image_height))143        return img144    def mobile_resize(self, img):145        if self.driver_wrapper.is_ios_test() or self.driver_wrapper.is_android_web_test():146            scale = img.size[0] / self.utils.get_window_size()['width']147            if scale != 1:148                new_image_size = (int(img.size[0] / scale), int(img.size[1] / scale))149                img = img.resize(new_image_size, Image.ANTIALIAS)150        return img151    def get_element_box(self, web_element):152        if not self.driver_wrapper.is_mobile_test():153            scroll_x = self.driver_wrapper.driver.execute_script("return window.pageXOffset")154            scroll_x = scroll_x if scroll_x else 0155            scroll_y = self.driver_wrapper.driver.execute_script("return window.pageYOffset")156            scroll_y = scroll_y if scroll_y else 0157            offset_x = -scroll_x158            offset_y = -scroll_y159        else:160            offset_x = 0161            offset_y = self.utils.get_safari_navigation_bar_height()162        location = web_element.location163        size = web_element.size164        return (int(location['x']) + offset_x, int(location['y'] + offset_y),165                int(location['x'] + offset_x + size['width']), int(location['y'] + offset_y + size['height']))166    def crop_element(self, img, web_element):...driver_wrapper.py
Source:driver_wrapper.py  
...112        if self.server_type == 'grid':113            self.remote_node_video_enabled = self.utils.is_remote_video_enabled(self.remote_node)114        else:115            self.remote_node_video_enabled = True if self.server_type in ['ggr', 'selenoid'] else False116        if self.is_mobile_test() and not self.is_web_test() and self.config.getboolean_optional('Driver',117                                                                                                'appium_app_strings'):118            self.app_strings = self.driver.app_strings()119        if self.is_maximizable():120            bounds_x, bounds_y = self.get_config_window_bounds()121            self.driver.set_window_position(bounds_x, bounds_y)122            self.logger.debug('Window bounds: %s x %s', bounds_x, bounds_y)123            if maximize:124                window_width = self.config.get_optional('Driver', 'window_width')125                window_height = self.config.get_optional('Driver', 'window_height')126                if window_width and window_height:127                    self.driver.set_window_size(window_width, window_height)128                else:129                    self.driver.maximize_window()130        window_size = self.utils.get_window_size()131        self.logger.debug('Window size: %s x %s', window_size['width'], window_size['height'])132        self.update_visual_baseline()133        self.utils.discard_logcat_logs()134        if self.config.get('Driver', 'type') != 'ios':135            self.utils.set_implicitly_wait()136        return self.driver137    def get_config_window_bounds(self):138        bounds_x = int(self.config.get_optional('Driver', 'bounds_x') or 0)139        bounds_y = int(self.config.get_optional('Driver', 'bounds_y') or 0)140        monitor_index = int(self.config.get_optional('Driver', 'monitor') or -1)141        if monitor_index > -1:142            try:143                monitor = screeninfo.get_monitors()[monitor_index]144                bounds_x += monitor.x145                bounds_y += monitor.y146            except NotImplementedError:147                self.logger.warn('Current environment doesn\'t support get_monitors')148        return bounds_x, bounds_y149    def is_android_test(self):150        driver_name = self.config.get('Driver', 'type').split('-')[0]151        return driver_name == 'android'152    def is_ios_test(self):153        driver_name = self.config.get('Driver', 'type').split('-')[0]154        return driver_name in ('ios', 'iphone')155    def is_mobile_test(self):156        return self.is_android_test() or self.is_ios_test()157    def is_web_test(self):158        appium_browser_name = self.config.get_optional('AppiumCapabilities', 'browserName')159        return not self.is_mobile_test() or appium_browser_name not in (None, '')160    def is_android_web_test(self):161        return self.is_android_test() and self.is_web_test()162    def is_ios_web_test(self):163        return self.is_ios_test() and self.is_web_test()164    def is_maximizable(self):165        return not self.is_mobile_test()166    def should_reuse_driver(self, scope, test_passed, context=None):167        reuse_driver = self.config.getboolean_optional('Driver', 'reuse_driver')168        reuse_driver_session = self.config.getboolean_optional('Driver', 'reuse_driver_session')169        restart_driver_after_failure = (self.config.getboolean_optional('Driver', 'restart_driver_after_failure') or170                                        self.config.getboolean_optional('Driver', 'restart_driver_fail'))171        if context and scope == 'function':172            reuse_driver = reuse_driver or (hasattr(context, 'reuse_driver_from_tags')173                                            and context.pytalos.reuse_driver_from_tags)174        return (((reuse_driver and scope == 'function') or (reuse_driver_session and scope != 'session'))175                and (test_passed or not restart_driver_after_failure))176    def get_driver_platform(self):177        platform = ''178        if 'platform' in self.driver.desired_capabilities:179            platform = self.driver.desired_capabilities['platform']...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!!
