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!!