Best Python code snippet using localstack_python
test_sparkevents.py
Source:test_sparkevents.py  
...18    pass19@with_setup(_setup, _teardown)20def test_emit_library_loaded_event():21    event_name = constants.LIBRARY_LOADED_EVENT22    kwargs_list = [(INSTANCE_ID, get_instance_id()),23                   (EVENT_NAME, event_name),24                   (TIMESTAMP, time_stamp)]25    spark_events.emit_library_loaded_event()26    spark_events.get_utc_date_time.assert_called_with()27    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)28@with_setup(_setup, _teardown)29def test_emit_cluster_change_event():30    status_code = 20031    event_name = constants.CLUSTER_CHANGE_EVENT32    kwargs_list = [(INSTANCE_ID, get_instance_id()),33                   (EVENT_NAME, event_name),34                   (TIMESTAMP, time_stamp),35                   (constants.CLUSTER_DNS_NAME, guid1),36                   (constants.STATUS_CODE, status_code),37                   (constants.SUCCESS, True),38                   (constants.ERROR_MESSAGE, None)]39    spark_events.emit_cluster_change_event(guid1, status_code, True, None)40    spark_events.get_utc_date_time.assert_called_with()41    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)42@with_setup(_setup, _teardown)43def test_emit_session_creation_start_event():44    language = constants.SESSION_KIND_SPARK45    event_name = constants.SESSION_CREATION_START_EVENT46    kwargs_list = [(INSTANCE_ID, get_instance_id()),47                   (EVENT_NAME, event_name),48                   (TIMESTAMP, time_stamp),49                   (constants.SESSION_GUID, guid1),50                   (constants.LIVY_KIND, language)]51    spark_events.emit_session_creation_start_event(guid1, language)52    spark_events._verify_language_ok.assert_called_once_with(language)53    spark_events.get_utc_date_time.assert_called_with()54    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)55@with_setup(_setup, _teardown)56def test_emit_session_creation_end_event():57    language = constants.SESSION_KIND_SPARK58    event_name = constants.SESSION_CREATION_END_EVENT59    status = constants.BUSY_SESSION_STATUS60    session_id = 061    kwargs_list = [(INSTANCE_ID, get_instance_id()),62                   (EVENT_NAME, event_name),63                   (TIMESTAMP, time_stamp),64                   (constants.SESSION_GUID, guid1),65                   (constants.LIVY_KIND, language),66                   (constants.SESSION_ID, session_id),67                   (constants.STATUS, status),68                   (constants.SUCCESS, True),69                   (constants.EXCEPTION_TYPE, ""),70                   (constants.EXCEPTION_MESSAGE, "")]71    spark_events.emit_session_creation_end_event(guid1, language, session_id, status, True, "", "")72    spark_events._verify_language_ok.assert_called_once_with(language)73    spark_events.get_utc_date_time.assert_called_with()74    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)75@with_setup(_setup, _teardown)76def test_emit_session_deletion_start_event():77    language = constants.SESSION_KIND_SPARK78    event_name = constants.SESSION_DELETION_START_EVENT79    status = constants.BUSY_SESSION_STATUS80    session_id = 081    kwargs_list = [(INSTANCE_ID, get_instance_id()),82                   (EVENT_NAME, event_name),83                   (TIMESTAMP, time_stamp),84                   (constants.SESSION_GUID, guid1),85                   (constants.LIVY_KIND, language),86                   (constants.SESSION_ID, session_id),87                   (constants.STATUS, status)]88    spark_events.emit_session_deletion_start_event(guid1, language, session_id, status)89    spark_events._verify_language_ok.assert_called_once_with(language)90    spark_events.get_utc_date_time.assert_called_with()91    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)92@with_setup(_setup, _teardown)93def test_emit_session_deletion_end_event():94    language = constants.SESSION_KIND_SPARK95    event_name = constants.SESSION_DELETION_END_EVENT96    status = constants.BUSY_SESSION_STATUS97    session_id = 098    kwargs_list = [(INSTANCE_ID, get_instance_id()),99                   (EVENT_NAME, event_name),100                   (TIMESTAMP, time_stamp),101                   (constants.SESSION_GUID, guid1),102                   (constants.LIVY_KIND, language),103                   (constants.SESSION_ID, session_id),104                   (constants.STATUS, status),105                   (constants.SUCCESS, True),106                   (constants.EXCEPTION_TYPE, ""),107                   (constants.EXCEPTION_MESSAGE, "")]108    spark_events.emit_session_deletion_end_event(guid1, language, session_id, status, True, "", "")109    spark_events._verify_language_ok.assert_called_once_with(language)110    spark_events.get_utc_date_time.assert_called_with()111    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)112@with_setup(_setup, _teardown)113def test_emit_statement_execution_start_event():114    language = constants.SESSION_KIND_PYSPARK115    session_id = 7116    event_name = constants.STATEMENT_EXECUTION_START_EVENT117    kwargs_list = [(INSTANCE_ID, get_instance_id()),118                   (EVENT_NAME, event_name),119                   (TIMESTAMP, time_stamp),120                   (constants.SESSION_GUID, guid1),121                   (constants.LIVY_KIND, language),122                   (constants.SESSION_ID, session_id),123                   (constants.STATEMENT_GUID, guid2)]124    spark_events.emit_statement_execution_start_event(guid1, language, session_id, guid2)125    spark_events._verify_language_ok.assert_called_once_with(language)126    spark_events.get_utc_date_time.assert_called_with()127    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)128@with_setup(_setup, _teardown)129def test_emit_statement_execution_end_event():130    language = constants.SESSION_KIND_SPARK131    session_id = 7132    statement_id = 400133    event_name = constants.STATEMENT_EXECUTION_END_EVENT134    success = True135    exception_type = ''136    exception_message = 'foo'137    kwargs_list = [(INSTANCE_ID, get_instance_id()),138                   (EVENT_NAME, event_name),139                   (TIMESTAMP, time_stamp),140                   (constants.SESSION_GUID, guid1),141                   (constants.LIVY_KIND, language),142                   (constants.SESSION_ID, session_id),143                   (constants.STATEMENT_GUID, guid2),144                   (constants.STATEMENT_ID, statement_id),145                   (constants.SUCCESS, success),146                   (constants.EXCEPTION_TYPE, exception_type),147                   (constants.EXCEPTION_MESSAGE, exception_message)]148    spark_events.emit_statement_execution_end_event(guid1, language, session_id, guid2, statement_id, success,149                                                    exception_type, exception_message)150    spark_events._verify_language_ok.assert_called_once_with(language)151    spark_events.get_utc_date_time.assert_called_with()152    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)153@with_setup(_setup, _teardown)154def test_emit_sql_execution_start_event():155    event_name = constants.SQL_EXECUTION_START_EVENT156    session_id = 22157    language = constants.SESSION_KIND_SPARK158    samplemethod = 'sample'159    maxrows = 12160    samplefraction = 0.5161    kwargs_list = [(INSTANCE_ID, get_instance_id()),162                   (EVENT_NAME, event_name),163                   (TIMESTAMP, time_stamp),164                   (constants.SESSION_GUID, guid1),165                   (constants.LIVY_KIND, language),166                   (constants.SESSION_ID, session_id),167                   (constants.SQL_GUID, guid2),168                   (constants.SAMPLE_METHOD, samplemethod),169                   (constants.MAX_ROWS, maxrows),170                   (constants.SAMPLE_FRACTION, samplefraction)]171    spark_events.emit_sql_execution_start_event(guid1, language, session_id, guid2, samplemethod,172                                                maxrows, samplefraction)173    spark_events._verify_language_ok.assert_called_once_with(language)174    spark_events.get_utc_date_time.assert_called_with()175    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)176@with_setup(_setup, _teardown)177def test_emit_sql_execution_end_event():178    event_name = constants.SQL_EXECUTION_END_EVENT179    session_id = 17180    language = constants.SESSION_KIND_SPARK181    success = False182    exception_type = 'ValueError'183    exception_message = 'You screwed up'184    kwargs_list = [(INSTANCE_ID, get_instance_id()),185                   (EVENT_NAME, event_name),186                   (TIMESTAMP, time_stamp),187                   (constants.SESSION_GUID, guid1),188                   (constants.LIVY_KIND, language),189                   (constants.SESSION_ID, session_id),190                   (constants.SQL_GUID, guid2),191                   (constants.STATEMENT_GUID, guid3),192                   (constants.SUCCESS, success),193                   (constants.EXCEPTION_TYPE, exception_type),194                   (constants.EXCEPTION_MESSAGE, exception_message)]195    spark_events.emit_sql_execution_end_event(guid1, language, session_id, guid2, guid3,196                                              success, exception_type, exception_message)197    spark_events._verify_language_ok.assert_called_once_with(language)198    spark_events.get_utc_date_time.assert_called_with()199    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)200@with_setup(_setup, _teardown)201def test_emit_magic_execution_start_event():202    event_name = constants.MAGIC_EXECUTION_START_EVENT203    magic_name = 'sql'204    language = constants.SESSION_KIND_SPARKR205    kwargs_list = [(INSTANCE_ID, get_instance_id()),206                   (EVENT_NAME, event_name),207                   (TIMESTAMP, time_stamp),208                   (constants.MAGIC_NAME, magic_name),209                   (constants.LIVY_KIND, language),210                   (constants.MAGIC_GUID, guid1)]211    spark_events.emit_magic_execution_start_event(magic_name, language, guid1)212    spark_events._verify_language_ok.assert_called_once_with(language)213    spark_events.get_utc_date_time.assert_called_with()214    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)215@with_setup(_setup, _teardown)216def test_emit_magic_execution_end_event():217    event_name = constants.MAGIC_EXECUTION_END_EVENT218    magic_name = 'sql'219    language = constants.SESSION_KIND_SPARKR220    success = True221    exception_type = ''222    exception_message = ''223    kwargs_list = [(INSTANCE_ID, get_instance_id()),224                   (EVENT_NAME, event_name),225                   (TIMESTAMP, time_stamp),226                   (constants.MAGIC_NAME, magic_name),227                   (constants.LIVY_KIND, language),228                   (constants.MAGIC_GUID, guid1),229                   (constants.SUCCESS, success),230                   (constants.EXCEPTION_TYPE, exception_type),231                   (constants.EXCEPTION_MESSAGE, exception_message)]232    spark_events.emit_magic_execution_end_event(magic_name, language, guid1, success,233                                                exception_type, exception_message)234    spark_events._verify_language_ok.assert_called_once_with(language)235    spark_events.get_utc_date_time.assert_called_with()236    spark_events.handler.handle_event.assert_called_once_with(kwargs_list)237def test_magic_verify_language_ok():...make_choice.py
Source:make_choice.py  
1# -*- coding: utf8 -*-2from utils import * 3import sys4sys.path.append("module")5import os6yun_api = {}7files = os.listdir('module')8for i in files:9    name = i.split('.')[0]10    yun_api[name] = __import__(name)     11    12def get_from_action(args):13    pass14def init():15  required_dict = {}16  required_dict['CreateParamTemplate'] = [{'name':'Name', 'type': 'str', 'required': 'yes', 'method': random_string, 'args': ''}, 17                                        {'name':'Description', 'type': 'str', 'required': 'no', 'method': random_string, 'args': ''},18                                        {'name':'EngineVersion', 'type':'str', 'required': 'yes', 'method': random_choice, 'args': ['5.1', '5.5', '5.6', '5.7']}19                                       ]20  required_dict['DeleteParamTemplate'] = [{'name':'TemplateId', 'type': 'int', 'required': 'yes', 'method': get_from_action, 'args': ''}]21  required_dict['DescribeDefaultParams'] = [{'name':'EngineVersion', 'type': 'str', 'required': 'yes', 'method': random_choice, 'args': ['5.1', '5.5', '5.6', '5.7']}]22  required_dict['DescribeInstanceParamRecords'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]23  required_dict['DescribeInstanceParams'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'aargs':''}]24  required_dict['DescribeParamTemplateInfo'] = [{'name':'TemplateId', 'type': 'int', 'required': 'yes', 'method': get_from_action, 'args': ''}]25  required_dict['DescribeParamTemplates'] = []26  required_dict['DescribeRollbackRangeTime'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]27  required_dict['StartBatchRollback'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]28  required_dict['CreateBackup'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},29                                   {'name':'BackupMethod', 'type': 'str', 'required': 'yes', 'method': random_choice, 'args': ['logical', 'physical']}30                                  ]31  required_dict['DeleteBackup'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},32                                   {'name':'BackupMethod', 'type': 'str', 'required': 'yes', 'method': random_choice, 'args': ['logical', 'physical']}33                                  ]34  required_dict['DescribeBackupConfig'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]35  required_dict['DescribeBackupDatabases'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},36                                              {'name':'StartTime', 'type': 'time', 'required': 'yes', 'method': get_random_time, 'args':''}37                                              #{'name':'SearchDatabase','type':'str', 'required':'no', 'method': random_string, 'args':''}38                                             ]39  required_dict['DescribeBackupTables'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},40                                           {'name':'StartTime', 'type': 'time', 'required': 'yes', 'method': get_random_time, 'args':''},41                                           {'name':'DatabaseName', 'type': 'str', 'required': 'yes', 'method': get_from_action, 'args':''}42                                          ]43  required_dict['DescribeBackups'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]44  required_dict['DescribeBinlogs'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]45  required_dict['DescribeSlowLogs'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]46  required_dict['ModifyBackupConfig'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},47                                         {'name':'BackupMethod', 'type': 'str', 'required': 'yes', 'method': random_choice, 'args': ['logical', 'physical']}48                                        ]49  required_dict['AssociateSecurityGroups'] = [{'name':'SecurityGroupId', 'type': 'str', 'required': 'yes', 'method': get_sg_id, 'args':''},50                                              {'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}51                                             ]52  required_dict['DescribeDBSecurityGroups'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]53  required_dict['DescribeProjectSecurityGroups'] = [{'name':'ProjectId', 'type':'int', 'required': 'yes', 'method': get_from_action, 'args':''}]54  required_dict['DisassociateSecurityGroups'] = [{'name':'SecurityGroupId', 'type': 'str', 'required': 'yes', 'method': get_sg_id, 'args':''},55                                              {'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}56                                             ]57  required_dict['ModifyDBInstanceSecurityGroups'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},58                                                     {'name':'SecurityGroupIds', 'type':'str_array', 'required':'yes', 'method': get_sg_ids, 'args':''}59                                                    ]60  required_dict['CloseWanService'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]61  required_dict['DescribeDBInstanceCharset'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]62  required_dict['DescribeDBInstanceConfig'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]63  required_dict['DescribeDBInstanceRebootTime'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]64  required_dict['DescribeDBInstances'] = []65  required_dict['DescribeDBSwitchRecords'] =  [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]66  required_dict['DescribeTagsOfInstanceIds'] =  [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]67  required_dict['ModifyDBInstanceProject'] =  [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]68  required_dict['ModifyDBInstanceVipVport'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},69                                               {'name':'DstPort', 'type': 'int', 'required': 'yes', 'method': random_int, 'args': [1024, 65535]}70                                              ]71  required_dict['ModifyInstanceTag'] =  [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},72                                         {'name':'ReplaceTags.', 'type': 'array of tag info', 'required': 'yes', 'method': random_tags, 'args':''}73                                        ]74  required_dict['OpenWanService'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]75  required_dict['RestartDBInstances'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]76  77  required_dict['DescribeDatabases'] =  [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]78  required_dict['DescribeTables'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},79                                     {'name':'Database', 'type': 'str', 'required': 'yes', 'method': get_from_action, 'args':''}80                                    ] 81  required_dict['CreateAccounts'] =  [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},82                                      {'name':'Accounts.', 'type': 'array of account', 'required': 'yes', 'method': random_string, 'args': ''},83                                      {'name':'Password', 'type': 'str', 'required': 'yes', 'method': random_string, 'args': ''}84                                     ]85  required_dict['DeleteAccounts'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},86                                      {'name':'Accounts.', 'type': 'array of account', 'required': 'yes', 'method': random_string, 'args': ''}87                                    ]88  required_dict['DescribeAccountPrivileges'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},89                                      {'name':'User', 'type': 'str', 'required': 'yes', 'method': random_string, 'args': ''},90                                      {'name':'Host', 'type': 'str', 'required': 'yes', 'method': random_string, 'args': '%'}91                                    ]92  required_dict['DescribeAccounts'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]93  required_dict['DescribeSupportedPrivileges'] =  [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''}]94  required_dict['ModifyAccountDescription'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},95                                      {'name':'Accounts.', 'type': 'array of account', 'required': 'yes', 'method': random_string, 'args': ''},96                                      {'name':'Description', 'type': 'str', 'required': 'yes', 'method': random_string, 'args': ''}97                                     ]98  required_dict['ModifyAccountPassword'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},99                                      {'name':'Accounts.', 'type': 'array of account', 'required': 'yes', 'method': random_string, 'args': ''},100                                      {'name':'NewPassword', 'type': 'str', 'required': 'yes', 'method': random_string, 'args': ''}101                                     ]102  103  required_dict['ModifyAccountPrivileges'] = [{'name':'InstanceId', 'type': 'str', 'required': 'yes', 'method': get_instance_id, 'args':''},104                                      {'name':'Accounts.', 'type': 'array of account', 'required': 'yes', 'method': random_string, 'args': ''},105                                      {'name':'GlobalPrivileges.', 'type': 'str', 'required': 'yes', 'method': get_from_action, 'args': ''}106                                     ]107                                         108 109  output_dict = {}110  output_dict['CreateParamTemplate'] = [{'name':'TemplateId', 'type': 'int'}]111  output_dict['DescribeParamTemplates'] = [{'name':'TemplateId', 'type': 'int'}]112def ExecuteChoice(choice):113    pass114    115  116def MakeChoice():117    choice = random.sample(yun_api.keys(), 1)118    print choice119    yun_api[choice[0]].fun()120if __name__ == '__main__':121   init()...test_scheduler.py
Source:test_scheduler.py  
1import unittest2from mock import patch, MagicMock3from botocore.exceptions import ClientError4from flotilla.cli.scheduler import start_scheduler5REGIONS = ['us-east-1']6ENVIRONMENT = 'develop'7DOMAIN = 'test.com'8class TestScheduler(unittest.TestCase):9    @patch('flotilla.cli.scheduler.get_instance_id')10    @patch('flotilla.cli.scheduler.DynamoDbTables')11    @patch('flotilla.cli.scheduler.RepeatingFunc')12    @patch('boto.dynamodb2.connect_to_region')13    @patch('boto3.resource')14    def test_start_scheduler(self, sqs, dynamo, repeat, tables,15                             get_instance_id):16        get_instance_id.return_value = 'i-123456'17        start_scheduler(ENVIRONMENT, DOMAIN, REGIONS, 0.1, 0.1, 0.1)18        self.assertEquals(4, repeat.call_count)19    @patch('flotilla.cli.scheduler.get_instance_id')20    @patch('flotilla.cli.scheduler.DynamoDbTables')21    @patch('flotilla.cli.scheduler.RepeatingFunc')22    @patch('boto.dynamodb2.connect_to_region')23    @patch('boto3.resource')24    def test_start_scheduler_multiregion(self, sqs, dynamo, repeat, tables,25                                         get_instance_id):26        get_instance_id.return_value = 'i-123456'27        start_scheduler(ENVIRONMENT, DOMAIN, ['us-east-1', 'us-west-2'], 0.1,28                        0.1, 0.1)29        self.assertEquals(8, repeat.call_count)30    @patch('flotilla.cli.scheduler.get_instance_id')31    @patch('flotilla.cli.scheduler.DynamoDbTables')32    @patch('flotilla.cli.scheduler.RepeatingFunc')33    @patch('flotilla.cli.scheduler.get_queue')34    @patch('boto.dynamodb2.connect_to_region')35    @patch('boto3.resource')36    def test_start_scheduler_without_messaging(self, sqs, dynamo, get_queue,37                                               repeat,38                                               tables, get_instance_id):39        get_queue.return_value = None40        start_scheduler(ENVIRONMENT, DOMAIN, REGIONS, 0.1, 0.1, 0.1)...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!!
