Best Python code snippet using robotframework-androidlibrary_python
C2227678.py
Source:C2227678.py  
1'''2Created on Apr 19, 20173@author: Magesh4Test Case = http://lnxtestrail.ibi.com/testrail/index.php?/cases/view/22276785Test case Name =  Filter Aggregation with List of Values - Equal To6'''7import unittest, time8from common.lib.basetestcase import BaseTestCase9from common.pages import visualization_metadata, visualization_properties, visualization_resultarea, visualization_ribbon10from common.locators import visualization_resultarea_locators11from common.lib import utillity12from selenium.webdriver.common.by import By13from datetime import datetime14class C2227678_TestClass(BaseTestCase):15    def test_C2227678(self):16        """17        TESTCASE VARIABLES18        """19        Test_Case_ID = 'C2227678'20        21        driver = self.driver #Driver reference object created22        driver.implicitly_wait(35) #Intializing common implicit wait for throughout the test23        utillobj = utillity.UtillityMethods(self.driver)24        metaobj = visualization_metadata.Visualization_Metadata(self.driver)25        propertyobj = visualization_properties.Visualization_Properties(self.driver)26        resultobj = visualization_resultarea.Visualization_Resultarea(self.driver)27        ribbonobj = visualization_ribbon.Visualization_Ribbon(self.driver)28        29        """30        Step 01: Launch the IA API with wf_retail_lite, Visualization mode:31        http://machine:port/ibi_apps/ia?tool=idis&master=baseapp/WF_RETAIL_LITE&item=IBFS%3A%2FWFC%2FRepository%2FS8979%2F32        """33        utillobj.infoassist_api_login('idis','new_retail/wf_retail_lite','P292/S10032_visual_1', 'mrid', 'mrpass')34        elem1=visualization_resultarea_locators.VisualizationResultareaLocators.__dict__['default_riser']35        resultobj._validate_page(elem1)36    37        """38        Step 02: Double-click "Gross Profit", located under Sales Measures39        """40        time.sleep(6)41        metaobj.datatree_field_click("Gross Profit",2,1)42            43        """44        Step 03: Double-click "Product,Subcategory", located under Product Dimension45        """46        time.sleep(4)47        parent_css= "#MAINTABLE_wbody1 svg g text[class*='yaxis-labels']"48        resultobj.wait_for_property(parent_css, 8)49        metaobj.datatree_field_click("Product,Subcategory", 2, 1)50            51        """52        Step04: Drag and drop "Gross Profit" to the Filter pane53        """54        time.sleep(4)55        parent_css="#MAINTABLE_wbody1 svg g text[class*='mgroupLabel']"56        resultobj.wait_for_property(parent_css, 21)57        parent_css= "#MAINTABLE_wbody1 svg g text[class*='yaxis-labels']"58        resultobj.wait_for_property(parent_css, 7)59        metaobj.datatree_field_click("Gross Profit", 1, 1,"Filter") 60        61        """62        Step05: Click "Aggregation" dropdown menu > Select "Average"63        Step06: Click "Operator" dropdown menu > Select "Equal to"64        Step07: Verify Filter dialog65        Step08: Click OK66        """ 67        time.sleep(6)68        elem=(By.CSS_SELECTOR,'#avFilterOkBtn')69        resultobj._validate_page(elem)70        elem=self.driver.find_element_by_css_selector("#avAggregationComboBox")71        combo=['(None)', 'Sum', 'Average', 'Count', 'Distinct Count', 'Maximum', 'Minimum', 'Percent', 'Median']72        utillobj.select_any_combobox_item(elem,'Average',verify=True,expected_combobox_list=combo, msg="Step05: Verify list of aggregation functions")73        time.sleep(8)   74        operator_combo_elem=driver.find_element_by_css_selector("#numericAndDateFieldPanel #avOperatorComboBox div[id^='BiButton']")75        elem = 'Equal to'76        utillobj.select_any_combobox_item(operator_combo_elem, elem, verify =True, expected_combobox_list =['Equal to', 'Not equal to', 'Greater than or equal to', 'Less than or equal to', 'Range'], msg='Step 06.a: Verify dialog')77        time.sleep(3)78        item_list=['[All]']79        metaobj.select_or_verify_visualization_filter_values(item_list, verify='true', msg = 'step07.a: Verify dialog') 80        elem=self.driver.find_element_by_css_selector("#avAggregationComboBox div")81        d=utillobj.get_attribute_value(elem,'text')82        utillobj.asequal(d['text'],'Average',"Step07.b: Verify Aggregation in Filter dialog")83        metaobj.create_visualization_filters('numeric')84        time.sleep(3)  85        86        """87        Step 09: Verify Canvas88        """89        time.sleep(5)90        metaobj.verify_filter_pane_field('AVE (Gross Profit)',1,"Step09:")91        time.sleep(6)92        elem=(By.CSS_SELECTOR,'#MAINTABLE_wbody1')93        resultobj._validate_page(elem)94        parent_css="#MAINTABLE_wbody1 svg g text[class*='mgroupLabel']"95        resultobj.wait_for_property(parent_css, 21)96        parent_css= "#MAINTABLE_wbody1 svg g text[class*='yaxis-labels']"97        resultobj.wait_for_property(parent_css, 7)98        xaxis_value="Product Subcategory"99        yaxis_value="Gross Profit"100        resultobj.verify_xaxis_title("MAINTABLE_wbody1", xaxis_value, "Step 09:a(i) Verify X-Axis Title")101        resultobj.verify_yaxis_title("MAINTABLE_wbody1", yaxis_value, "Step 09:a(ii) Verify Y-Axis Title")102        expected_xval_list=['Blu Ray', 'Boom Box', 'CRT TV', 'Charger', 'DVD Players', 'DVD Players - Portable', 'Flat Panel TV', 'Handheld', 'Headphones', 'Home Theater Systems', 'Portable TV', 'Professional', 'Receivers', 'Smartphone', 'Speaker Kits', 'Standard', 'Streaming', 'Tablet', 'Universal Remote Controls', 'Video Editing', 'iPod Docking Station']103        expected_yval_list=['0', '10M', '20M', '30M', '40M', '50M', '60M']104        resultobj.verify_riser_chart_XY_labels("MAINTABLE_wbody1", expected_xval_list, expected_yval_list, "Step 09:a(iii):Verify XY labels")105        resultobj.verify_number_of_riser("MAINTABLE_wbody1", 1, 21, 'Step 09.b: Verify the total number of risers displayed on preview')106        utillobj.verify_chart_color("MAINTABLE_wbody1", "riser!s0!g0!mbar", "bar_blue", "Step 09.c: Verify first bar color")107        time.sleep(5)108        bar=['Product Subcategory:Blu Ray', 'Gross Profit:$51,771,195.13', 'Filter Chart', 'Exclude from Chart', 'Drill up to Product Category', 'Drill down to Model']109        resultobj.verify_default_tooltip_values("MAINTABLE_wbody1", "riser!s0!g0!mbar", bar, "Step 09: Verify bar value")110        time.sleep(5)111        print(str(datetime.now()))112        propertyobj.select_or_verify_show_prompt_item(1, '[All]', verify=True, verify_type=True, msg="Step09.e: Verify [All] is checked in filter prompt")113        print(str(datetime.now()))114        115        """116        Step10: Scroll down in the Filter Prompt > Select values $149.41 through $977.81.117        """118        time.sleep(6)119        parent_css="#resultArea div[id^='BoxLayoutFilterBox']"120        resultobj.wait_for_property(parent_css, 1)121        print(str(datetime.now()))122        propertyobj.select_or_verify_show_prompt_item(1, '$149.41', scroll_down = True)123        time.sleep(2)124        print(str(datetime.now()))125        propertyobj.select_or_verify_show_prompt_item(1, '$151.44', scroll_down = True)126        time.sleep(2)127        print(str(datetime.now()))128        propertyobj.select_or_verify_show_prompt_item(1, '$155.04', scroll_down = True)129        time.sleep(8)130        print(str(datetime.now()))131        propertyobj.select_or_verify_show_prompt_item(1, '$170.00', scroll_down = True)132        time.sleep(5)133        print(str(datetime.now()))134        propertyobj.select_or_verify_show_prompt_item(1, '$184.34', scroll_down = True)135        time.sleep(2)136        print(str(datetime.now()))137        propertyobj.select_or_verify_show_prompt_item(1, '$242.05', scroll_down = True)138        time.sleep(2)139        print(str(datetime.now()))140        propertyobj.select_or_verify_show_prompt_item(1, '$977.81', scroll_down = True)141        time.sleep(2)142        print(str(datetime.now()))143        144        145        """146        Step 11: Verify Canvas147        """148        time.sleep(15)149        elem=(By.CSS_SELECTOR,'#MAINTABLE_wbody1')150        resultobj._validate_page(elem)151        parent_css="#MAINTABLE_wbody1 svg g text[class*='mgroupLabel']"152        resultobj.wait_for_property(parent_css, 7)153        parent_css= "#MAINTABLE_wbody1 svg g text[class*='yaxis-labels']"154        resultobj.wait_for_property(parent_css, 8)155        time.sleep(5)156        metaobj.verify_filter_pane_field('AVE (Gross Profit)',1,"Step11:")157        xaxis_value="Product Subcategory"158        yaxis_value="Gross Profit"159        resultobj.verify_xaxis_title("MAINTABLE_wbody1", xaxis_value, "Step 11:a(i) Verify X-Axis Title")160        resultobj.verify_yaxis_title("MAINTABLE_wbody1", yaxis_value, "Step 11:a(ii) Verify Y-Axis Title")161        time.sleep(5)162        expected_xval_list=['CRT TV', 'Flat Panel TV', 'Headphones', 'Professional', 'Receivers', 'Speaker Kits', 'Tablet']163        expected_yval_list=['0', '4M', '8M', '12M', '16M', '20M', '24M', '28M']164        resultobj.verify_riser_chart_XY_labels("MAINTABLE_wbody1", expected_xval_list, expected_yval_list, "Step 11:a(iii):Verify XY labels")165        resultobj.verify_number_of_riser("MAINTABLE_wbody1", 1, 7, 'Step 11.b: Verify the total number of risers displayed on preview')166        utillobj.verify_chart_color("MAINTABLE_wbody1", "riser!s0!g0!mbar", "bar_blue", "Step 11.c: Verify first bar color")167        time.sleep(5)168        bar=['Product Subcategory:Headphones', 'Gross Profit:$24,523,023.97', 'Filter Chart', 'Exclude from Chart', 'Drill up to Product Category', 'Drill down to Model']169        resultobj.verify_default_tooltip_values("MAINTABLE_wbody1", "riser!s0!g2!mbar", bar, "Step 11.d: Verify bar value")170        time.sleep(5)171        print(str(datetime.now()))172        propertyobj.select_or_verify_show_prompt_item(1, '$149.41', verify=True, verify_type=True, scroll_down = True, msg="Step11.1: Verify values is checked in filter prompt")173        print(str(datetime.now()))174        propertyobj.select_or_verify_show_prompt_item(1, '$151.44', verify=True, verify_type=True, scroll_down = True, msg="Step11.2: Verify values is checked in filter prompt")175        print(str(datetime.now()))176        propertyobj.select_or_verify_show_prompt_item(1, '$155.04', verify=True, verify_type=True, scroll_down = True, msg="Step11.3: Verify values is checked in filter prompt")177        print(str(datetime.now()))178        propertyobj.select_or_verify_show_prompt_item(1, '$170.00', verify=True, verify_type=True, scroll_down = True, msg="Step11.4: Verify values is checked in filter prompt")179        print(str(datetime.now()))180        propertyobj.select_or_verify_show_prompt_item(1, '$184.34', verify=True, verify_type=True, scroll_down = True, msg="Step11.5: Verify values is checked in filter prompt")181        print(str(datetime.now()))182        propertyobj.select_or_verify_show_prompt_item(1, '$242.05', verify=True, verify_type=True, scroll_down = True, msg="Step11.6: Verify values is checked in filter prompt")183        print(str(datetime.now()))184        propertyobj.select_or_verify_show_prompt_item(1, '$977.81', verify=True, verify_type=True, scroll_down = True, msg="Step11.7: Verify values is checked in filter prompt")185        print(str(datetime.now()))186        time.sleep(5)187        188        189        """190        Step12: Click Run191        """192        time.sleep(8)193        ribbonobj.select_top_toolbar_item('toolbar_run')194        time.sleep(10)195        utillobj.switch_to_window(1)196        time.sleep(15) 197          198        """199        Step 13: Verify output200        """201        chart_type_css="rect[class*='riser!s0!g0!mbar']"202        elem1=(By.CSS_SELECTOR, chart_type_css)203        resultobj._validate_page(elem1)204        browser=utillobj.parseinitfile('browser')205        if browser != 'Firefox':206            driver.maximize_window()207            time.sleep(10)208        parent_css="#MAINTABLE_wbody1 svg g text[class*='mgroupLabel']"209        resultobj.wait_for_property(parent_css, 7)210        parent_css= "#MAINTABLE_wbody1 svg g text[class*='yaxis-labels']"211        resultobj.wait_for_property(parent_css, 8)212        xaxis_value="Product Subcategory"213        yaxis_value="Gross Profit"214        resultobj.verify_xaxis_title("MAINTABLE_wbody1", xaxis_value, "Step 13:a(i) Verify X-Axis Title")215        resultobj.verify_yaxis_title("MAINTABLE_wbody1", yaxis_value, "Step 13:a(ii) Verify Y-Axis Title")216        expected_xval_list=['CRT TV', 'Flat Panel TV', 'Headphones', 'Professional', 'Receivers', 'Speaker Kits', 'Tablet']217        expected_yval_list=['0', '4M', '8M', '12M', '16M', '20M', '24M', '28M']218        resultobj.verify_riser_chart_XY_labels("MAINTABLE_wbody1", expected_xval_list, expected_yval_list, "Step 13:a(iii):Verify XY labels")219        resultobj.verify_number_of_riser("MAINTABLE_wbody1", 1, 7, 'Step 13.b: Verify the total number of risers displayed on preview')220        utillobj.verify_chart_color("MAINTABLE_wbody1", "riser!s0!g0!mbar", "bar_blue", "Step 13.c: Verify first bar color")221        time.sleep(5)222        bar=['Product Subcategory:Headphones', 'Gross Profit:$24,523,023.97', 'Filter Chart', 'Exclude from Chart', 'Drill up to Product Category', 'Drill down to Model']223        resultobj.verify_default_tooltip_values("MAINTABLE_wbody1", "riser!s0!g2!mbar", bar, "Step 13.d: Verify bar value")224        time.sleep(5)225        print(str(datetime.now()))226        propertyobj.select_or_verify_show_prompt_item(1, '$149.41', verify=True, verify_type=True, scroll_down = True, msg="Step13.1: Verify values is checked in filter prompt")227        print(str(datetime.now()))228        propertyobj.select_or_verify_show_prompt_item(1, '$151.44', verify=True, verify_type=True, scroll_down = True, msg="Step13.2: Verify values is checked in filter prompt")229        propertyobj.select_or_verify_show_prompt_item(1, '$155.04', verify=True, verify_type=True, scroll_down = True, msg="Step13.3: Verify values is checked in filter prompt")230        propertyobj.select_or_verify_show_prompt_item(1, '$170.00', verify=True, verify_type=True, scroll_down = True, msg="Step13.4: Verify values is checked in filter prompt")231        propertyobj.select_or_verify_show_prompt_item(1, '$184.34', verify=True, verify_type=True, scroll_down = True, msg="Step13.5: Verify values is checked in filter prompt")232        propertyobj.select_or_verify_show_prompt_item(1, '$242.05', verify=True, verify_type=True, scroll_down = True, msg="Step13.6: Verify values is checked in filter prompt")233        propertyobj.select_or_verify_show_prompt_item(1, '$977.81', verify=True, verify_type=True, scroll_down = True, msg="Step13.7: Verify values is checked in filter prompt")234        time.sleep(20)235        ele=driver.find_element_by_css_selector("div[id*='ibi$container$inner$HBOX_1']")236        utillobj.take_screenshot(ele,'C2227678_Actual_step13', image_type='actual',x=1, y=1, w=-1, h=-1) 237        238        """239        Step 14: Close output window240        """241        time.sleep(5)242        self.driver.close()243        time.sleep(10)244        utillobj.switch_to_window(0)245        time.sleep(15)246        elem1=(By.CSS_SELECTOR, "#applicationButton img")247        resultobj._validate_page(elem1)248          249        """250        Step 15: Click Save in the toolbar251        Step 16: Save as "C2158192" > Click Save252        """253        time.sleep(2)254        ribbonobj.select_tool_menu_item('menu_save_as')255        time.sleep(3)256        utillobj.ibfs_save_as(Test_Case_ID)257        time.sleep(10)258          259        """260        Step 17: Logout: http://machine:port/ibi_apps/service/wf_security_logout.jsp261        """262        utillobj.infoassist_api_logout()263        time.sleep(2)264          265        """266        Step 18: Reopen fex using IA API: http://machine:port/ibi_apps/ia?item=IBFS%3A%2FWFC%2FRepository%2FS8979%2FC2158195.fex&tool=idis267        """268        utillobj.infoassist_api_edit(Test_Case_ID, 'idis', 'S10032_ia_2',mrid='mrid',mrpass='mrpass')269        time.sleep(10)270         271        """272        Step 19: Verify Canvas273        """274        elem=(By.CSS_SELECTOR,'#MAINTABLE_wbody1')275        resultobj._validate_page(elem)276        chart_type_css="rect[class*='riser!s0!g0!mbar']"277        elem1=(By.CSS_SELECTOR, chart_type_css)278        resultobj._validate_page(elem1)279        parent_css="#MAINTABLE_wbody1 svg g text[class*='mgroupLabel']"280        resultobj.wait_for_property(parent_css, 7)281        parent_css= "#MAINTABLE_wbody1 svg g text[class*='yaxis-labels']"282        resultobj.wait_for_property(parent_css, 8)283        metaobj.verify_filter_pane_field('AVE (Gross Profit)',1,"Step19:")284        time.sleep(6)285        xaxis_value="Product Subcategory"286        yaxis_value="Gross Profit"287        resultobj.verify_xaxis_title("MAINTABLE_wbody1", xaxis_value, "Step 19:a(i) Verify X-Axis Title")288        resultobj.verify_yaxis_title("MAINTABLE_wbody1", yaxis_value, "Step 19:a(ii) Verify Y-Axis Title")289        expected_xval_list=['CRT TV', 'Flat Panel TV', 'Headphones', 'Professional', 'Receivers', 'Speaker Kits', 'Tablet']290        expected_yval_list=['0', '4M', '8M', '12M', '16M', '20M', '24M', '28M']291        resultobj.verify_riser_chart_XY_labels("MAINTABLE_wbody1", expected_xval_list, expected_yval_list, "Step 19:a(iii):Verify XY labels")292        resultobj.verify_number_of_riser("MAINTABLE_wbody1", 1, 7, 'Step 19.b: Verify the total number of risers displayed on preview')293        utillobj.verify_chart_color("MAINTABLE_wbody1", "riser!s0!g0!mbar", "bar_blue", "Step 19.c: Verify first bar color")294        time.sleep(5)295        bar=['Product Subcategory:Headphones', 'Gross Profit:$24,523,023.97', 'Filter Chart', 'Exclude from Chart', 'Drill up to Product Category', 'Drill down to Model']296        resultobj.verify_default_tooltip_values("MAINTABLE_wbody1", "riser!s0!g2!mbar", bar, "Step 19.d: Verify bar value")297        time.sleep(5)298        propertyobj.select_or_verify_show_prompt_item(1, '$149.41', verify=True, verify_type=True, scroll_down = True, msg="Step19.1: Verify values is checked in filter prompt")299        propertyobj.select_or_verify_show_prompt_item(1, '$151.44', verify=True, verify_type=True, scroll_down = True, msg="Step19.2: Verify values is checked in filter prompt")300        propertyobj.select_or_verify_show_prompt_item(1, '$155.04', verify=True, verify_type=True, scroll_down = True, msg="Step19.3: Verify values is checked in filter prompt")301        propertyobj.select_or_verify_show_prompt_item(1, '$170.00', verify=True, verify_type=True, scroll_down = True, msg="Step19.4: Verify values is checked in filter prompt")302        propertyobj.select_or_verify_show_prompt_item(1, '$184.34', verify=True, verify_type=True, scroll_down = True, msg="Step19.5: Verify values is checked in filter prompt")303        propertyobj.select_or_verify_show_prompt_item(1, '$242.05', verify=True, verify_type=True, scroll_down = True, msg="Step19.6: Verify values is checked in filter prompt")304        propertyobj.select_or_verify_show_prompt_item(1, '$977.81', verify=True, verify_type=True, scroll_down = True, msg="Step19.7: Verify values is checked in filter prompt")305        time.sleep(5)306        307        """308        Step 20: Logout: http://machine:port/ibi_apps/service/wf_security_logout.jsp309        """310        311if __name__ == '__main__':...story_window.py
Source:story_window.py  
...44        if self.num_lines > len(self.current_lines):45            self.offset = max(self.offset - self.offset_jump, 0)46        else:47            self.offset = max(-len(self.current_lines) + self.num_lines, self.offset - self.offset_jump, 0,)48    def scroll_down(self):49        if self.num_lines > len(self.current_lines):50            self.offset = min(self.offset + self.offset_jump, len(self.current_lines))51        else:52            self.offset = min(len(self.current_lines) - self.num_lines, self.offset + self.offset_jump)53    def handle_key(self, game_data, gfx_data, key_action):54        do_quit = key_action.get(EventType.exit)55        if do_quit:56            return self.close(game_data, activate_for_new_state=True)57        next = key_action.get("next")58        if next:59            return self.close(game_data, activate_for_new_state=True)60        scroll_up = key_action.get(EventType.scroll_up)61        if scroll_up:62            self.scroll_up()63        scroll_down = key_action.get(EventType.scroll_down)64        if scroll_down:65            self.scroll_down()66    def handle_click(self, game_data, gfx_data, mouse_action):67        scroll_up = mouse_action.get(EventType.scroll_up)68        if scroll_up:69            self.scroll_up()70        scroll_down = mouse_action.get(EventType.scroll_down)71        if scroll_down:...textwindow.py
Source:textwindow.py  
...40        if self.num_lines > len(self.lines):41            self.offset = max(self.offset - self.offset_jump, 0)42        else:43            self.offset = max(-len(self.lines) + self.num_lines, self.offset - self.offset_jump, 0)44    def scroll_down(self):45        if self.num_lines > len(self.lines):46            self.offset = min(self.offset + self.offset_jump, len(self.lines))47        else:48            self.offset = min(len(self.lines) - self.num_lines, self.offset + self.offset_jump)49    def handle_key(self, game_data, gfx_data, key_action):50        do_quit = key_action.get(EventType.exit)51        if do_quit:52            return self.close(game_data)53        scroll_up = key_action.get(EventType.scroll_up)54        if scroll_up:55            self.scroll_up()56        scroll_down = key_action.get(EventType.scroll_down)57        if scroll_down:58            self.scroll_down()59    def handle_click(self, game_data, gfx_data, mouse_action):60        scroll_up = mouse_action.get(EventType.scroll_up)61        if scroll_up:62            self.scroll_up()63        scroll_down = mouse_action.get(EventType.scroll_down)64        if scroll_down:...TimeToRead.py
Source:TimeToRead.py  
1import math2import re3class TimeToRead:4    def determine(str_time, div_height):5        num_in_str = ''6        num_without_str = re.findall(r'\d+', str_time)7        if len(num_without_str) > 1:8            num_without_str[-1] = '.' + num_without_str[-1]9            for item in num_without_str:10                num_in_str += item11            total_num = float(num_in_str)12        else:13            total_num = int(num_without_str[0])14        if 'мин.' in str_time:15            thread_num = int(total_num * 60)16        elif 'Ñек.' in str_time:17            thread_num = total_num18        article_height = div_height + 500.019        scroll_down = 700.0/220        scrolls = math.ceil(article_height/scroll_down)21        time_to_scroll = thread_num/scrolls22        result = {23            'article_height': article_height,24            'scroll_down': int(scroll_down),25            'scrolls': scrolls,26            'time_to_scroll': time_to_scroll + time_to_scroll/5,27            'thread_num': thread_num28        }29        return result30    def determine_except(div_height, div_text):31        article_text = div_text32        num_to_multiply = math.ceil(len(article_text) / 1500)33        article_height = div_height34        scroll_down = 700.0/235        scrolls = math.ceil(article_height/scroll_down)36        37        total_time = 60 * num_to_multiply38        time_to_scroll = (60 * num_to_multiply)/scrolls39        40        result = {41            'article_height': article_height,42            'scroll_down': int(scroll_down),43            'scrolls': scrolls,44            'time_to_scroll': time_to_scroll,45            'total_time': total_time,46            'num_to_multiply': num_to_multiply47        }...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!!
