How to use list_archives method in localstack

Best Python code snippet using localstack_python

test_rotatelib.py

Source:test_rotatelib.py Github

copy

Full Screen

...71 self.assertEqual([1], rotatelib._make_list(1))72class TestRotationFunctions(unittest.TestCase):73 def testListArchive(self):74 items = ['test.txt', 'test.zip']75 archives = rotatelib.list_archives(items=items, has_date=False)76 self.assertEqual(len(archives), 1) # this should only return test.zip77 def testMultiplePatterns(self):78 self.assertTrue(rotatelib.meets_criteria('./', 'test20121110.zip', before=datetime.datetime(2013, 1, 1)))79 def testListArchiveWithHasDateCriteria(self):80 items = ['test.zip', 'test20121110.zip']81 # this is the same as has_date = True82 archives = rotatelib.list_archives(items=items)83 self.assertEqual(len(archives), 1)84 archives = rotatelib.list_archives(items=items, has_date=True)85 self.assertEqual(len(archives), 1)86 # set has_date to false to get items without their date87 archives = rotatelib.list_archives(items=items, has_date=False)88 self.assertEqual(len(archives), 2)89 def testMeetsCriteriaHasDate(self):90 items = ['test.zip', 'test20121110.zip']91 self.assertFalse(rotatelib.meets_criteria('./', items[0]))92 self.assertFalse(rotatelib.meets_criteria('./', items[0], has_date=True))93 self.assertTrue(rotatelib.meets_criteria('./', items[0], has_date=False))94 self.assertTrue(rotatelib.meets_criteria('./', items[1], has_date=True))95 def testMeetsCriteriaPattern(self):96 items = ['test.zip', 'test20121110.zip']97 self.assertTrue(rotatelib.meets_criteria('./', items[1], pattern=r'^test'))98 self.assertFalse(rotatelib.meets_criteria('./', items[1], pattern=r'^steve'))99 def testMeetsCriteriaWithStartswith(self):100 items = ['test.zip', 'test20121110.zip']101 self.assertTrue(rotatelib.meets_criteria('./', items[1], startswith='test'))102 self.assertTrue(rotatelib.meets_criteria('./', items[1], startswith=['test', 'steve']))103 self.assertTrue(rotatelib.meets_criteria('./', items[1], startswith=['steve', 'test']))104 self.assertFalse(rotatelib.meets_criteria('./', items[1], startswith='steve'))105 self.assertFalse(rotatelib.meets_criteria('./', items[1], startswith=['steve']))106 def testMeetsCriteriaWithExceptStartswith(self):107 items = ['test.zip', 'test20121110.zip']108 self.assertFalse(rotatelib.meets_criteria('./', items[1], except_startswith='test'))109 self.assertFalse(rotatelib.meets_criteria('./', items[1], except_startswith=['test', 'steve']))110 self.assertFalse(rotatelib.meets_criteria('./', items[1], except_startswith=['steve', 'test']))111 self.assertTrue(rotatelib.meets_criteria('./', items[1], except_startswith='steve'))112 self.assertTrue(rotatelib.meets_criteria('./', items[1], except_startswith=['steve']))113 def testListArchiveWithBeforeCriteria(self):114 items = ['test.txt', 'test2009-06-15T11.zip', 'test2009-06-20T01.bz2', 'test.zip']115 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20))116 self.assertEqual(len(archives), 1)117 def testMeetsCriteriaWithBefore(self):118 files = ['file2009-06-20T15.sql.bz2', 'file2009-06-25T15.sql.bz2', 'file2009-06-25.sql.bz2']119 self.assertTrue(rotatelib.meets_criteria('./', files[0], before=datetime.datetime.today()))120 self.assertFalse(rotatelib.meets_criteria('./', files[1], before=datetime.datetime(2009, 6, 23)))121 self.assertFalse(rotatelib.meets_criteria('./', files[1], before=datetime.datetime(2009, 6, 25)))122 self.assertFalse(rotatelib.meets_criteria('./', files[2], before=datetime.datetime(2009, 6, 25)))123 def testMeetsCriteriaWithBeforeDelta(self):124 files = ['file2009-06-20T15.sql.bz2', 'file2009-06-25T15.sql.bz2']125 self.assertTrue(rotatelib.meets_criteria('./', files[0], before=datetime.timedelta(1)))126 self.assertFalse(rotatelib.meets_criteria('./', files[1], before=datetime.datetime(2009, 6, 23)))127 def testMeetsCriteriaWithAfter(self):128 files = ['file2009-06-20T15.sql.bz2', 'file2009-06-25T15.sql.bz2', 'file2009-06-25.sql.bz2']129 self.assertFalse(rotatelib.meets_criteria('./', files[0], after=datetime.datetime.today()))130 self.assertTrue(rotatelib.meets_criteria('./', files[1], after=datetime.datetime(2009, 6, 23)))131 self.assertFalse(rotatelib.meets_criteria('./', files[2], after=datetime.datetime(2009, 6, 25)))132 def testListArchiveWithHourCriteria(self):133 items = ['test.txt', 'test2009-06-15T11.zip', 'test2009-06-20T01.bz2', 'test.zip']134 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), hour=12)135 self.assertEqual(len(archives), 0)136 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), hour=11)137 self.assertEqual(len(archives), 1)138 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), hour=[11, 12])139 self.assertEqual(len(archives), 1)140 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), hour=[13, 12])141 self.assertEqual(len(archives), 0)142 def testListArchiveWithExceptHourCriteria(self):143 items = ['test.txt', 'test2009-06-15T11.zip', 'test2009-06-20T01.bz2', 'test.zip']144 # sanity check145 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 21))146 self.assertEqual(len(archives), 2)147 # ignore 11148 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 21), except_hour=11)149 self.assertEqual(len(archives), 1)150 # ignore 12 (doesn't match anything)151 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 21), except_hour=12)152 self.assertEqual(len(archives), 2)153 # ignore 11 and 12154 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 21), except_hour=[11, 12])155 self.assertEqual(len(archives), 1)156 # ignore 13 and 12157 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 21), except_hour=[13, 12])158 self.assertEqual(len(archives), 2)159 def testMeetsCriteriaWithDayCriteria(self):160 self.assertFalse(rotatelib.meets_criteria('./', 'test.zip', day=1))161 self.assertTrue(rotatelib.meets_criteria('./', 'test20120101.zip', day=1))162 self.assertTrue(rotatelib.meets_criteria('./', 'test20120101.zip', day=[1]))163 self.assertTrue(rotatelib.meets_criteria('./', 'test2009-06-15T11.zip', before=datetime.datetime(2009, 6, 20), day=[15]))164 def testListArchiveWithDayCriteria(self):165 items = ['test.txt', 'test2009-06-15T11.zip', 'test2009-06-20T01.bz2', 'test.zip']166 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), day=1)167 self.assertEqual(len(archives), 0)168 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), day=15)169 self.assertEqual(len(archives), 1)170 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), day=[1, 15])171 self.assertEqual(len(archives), 1)172 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), day=[2, 4])173 self.assertEqual(len(archives), 0)174 def testListArchiveWithExceptDayCriteria(self):175 items = ['test.txt', 'test2009-06-15T11.zip', 'test2009-06-20T01.bz2', 'test.zip']176 # before criteria will only yield a pass for test test2009-06-15T11.zip, but except_day should cause that to fail177 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), except_day=15)178 self.assertEqual(len(archives), 0)179 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), except_day=1)180 self.assertEqual(len(archives), 1)181 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), except_day=[1, 15])182 self.assertEqual(len(archives), 0)183 archives = rotatelib.list_archives(items=items, before=datetime.datetime(2009, 6, 20), except_day=[1, 12])184 self.assertEqual(len(archives), 1)185 def testListArchiveWithStartswithCriteria(self):186 items = ['test.txt', 'test2009-06-15T11.zip', 'test2009-06-20T01.bz2', 'test.zip']187 archives = rotatelib.list_archives(items=items, startswith='test')188 self.assertEqual(len(archives), 2)189 archives = rotatelib.list_archives(items=items, startswith=['test', 'asdf'])190 self.assertEqual(len(archives), 2)191 archives = rotatelib.list_archives(items=items, startswith='asdf')192 self.assertEqual(len(archives), 0)193 archives = rotatelib.list_archives(items=items, startswith='test', before=datetime.datetime(2009, 6, 21))194 self.assertEqual(len(archives), 2)195 archives = rotatelib.list_archives(items=items, startswith='test', before=datetime.datetime(2009, 6, 20))196 self.assertEqual(len(archives), 1)197 def testListArchiveWithExceptStartswithCriteria(self):198 items = ['test.txt', 'test2009-06-15T11.zip', 'test2009-06-20T01.bz2', 'test.zip']199 archives = rotatelib.list_archives(items=items, except_startswith='test')200 self.assertEqual(len(archives), 0)201 archives = rotatelib.list_archives(items=items, except_startswith='asdf')202 self.assertEqual(len(archives), 2)203 def testListArchiveWithEndswithCriteria(self):204 items = ['test.txt', 'test2009-06-15T11.zip', 'test2009-06-20T01.bz2', 'test.zip']205 archives = rotatelib.list_archives(items=items, endswith='bz2')206 self.assertEqual(len(archives), 1)207 archives = rotatelib.list_archives(items=items, endswith=['bz2', 'zip'])208 self.assertEqual(len(archives), 2)209 archives = rotatelib.list_archives(items=items, endswith='asdf')210 self.assertEqual(len(archives), 0)211 def testListArchiveWithExceptEndswithCriteria(self):212 items = ['test.txt', 'test2009-06-15T11.zip', 'test2009-06-20T01.bz2', 'test.zip']213 archives = rotatelib.list_archives(items=items, except_endswith='bz2')214 self.assertEqual(len(archives), 1)215 archives = rotatelib.list_archives(items=items, except_endswith='asdf')216 self.assertEqual(len(archives), 2)217 def testMeetsCriteriaWithYearCriteria(self):218 self.assertTrue(rotatelib.meets_criteria("./", "test20120101.zip", year=2012))219 self.assertFalse(rotatelib.meets_criteria("./", "test20110101.zip", year=2012))220 self.assertTrue(rotatelib.meets_criteria("./", "test20110101.zip", year=[2012, 2011]))221 def testMeetsCriteriaWithExceptYearCriteria(self):222 self.assertFalse(rotatelib.meets_criteria("./", "test20120101.zip", except_year=2012))223 self.assertTrue(rotatelib.meets_criteria("./", "test20110101.zip", except_year=2012))224 def testListItemsWithExceptFirstPerDayCriteria(self):225 items = ['test2014-05-20T013000.sql', 'test2014-05-20T023000.sql', 'test2014-06-20T013000.sql']226 found_items = rotatelib.list_items(items=items, except_first='day')227 self.assertEqual(len(found_items), 1)228 self.assertFalse('test2014-05-20T013000.sql' in found_items)229 self.assertFalse('test2014-06-20T013000.sql' in found_items)...

Full Screen

Full Screen

test_list_archives.py

Source:test_list_archives.py Github

copy

Full Screen

...19 query.execute = mock.MagicMock()20 self.queries.append(query)21 return query22 def test_list_archives_simple(self):23 kojihub.list_archives()24 self.assertEqual(len(self.queries), 1)25 query = self.queries[0]26 self.assertEqual(query.tables, ['archiveinfo'])27 self.assertEqual(query.clauses, [])28 self.assertEqual(query.joins, ['archivetypes on archiveinfo.type_id = archivetypes.id',29 'btype ON archiveinfo.btype_id = btype.id'])30 @mock.patch('kojihub.QueryProcessor')31 def test_list_archives_strict(self, QueryProcessor):32 query = QueryProcessor.return_value33 query.execute.return_value = None34 with self.assertRaises(koji.GenericError) as cm:35 kojihub.list_archives(strict=True)36 self.assertEqual(cm.exception.args[0], 'No archives found.')37 def test_list_archives_buildid(self):38 kojihub.list_archives(buildID=1)39 self.assertEqual(len(self.queries), 1)40 query = self.queries[0]41 self.assertEqual(query.tables, ['archiveinfo'])42 self.assertEqual(query.clauses, ['build_id = %(build_id)i'])43 self.assertEqual(query.joins, ['archivetypes on archiveinfo.type_id = archivetypes.id',44 'btype ON archiveinfo.btype_id = btype.id'])45 self.assertEqual(query.values, {'build_id': 1})46 def test_list_archives_buildrootid(self):47 kojihub.list_archives(buildrootID=1)48 self.assertEqual(len(self.queries), 1)49 query = self.queries[0]50 self.assertEqual(query.tables, ['archiveinfo'])51 self.assertEqual(query.clauses, ['buildroot_id = %(buildroot_id)i'])52 self.assertEqual(query.joins, ['archivetypes on archiveinfo.type_id = archivetypes.id',53 'btype ON archiveinfo.btype_id = btype.id'])54 self.assertEqual(query.values, {'buildroot_id': 1})55 def test_list_archives_componentbuildrootid(self):56 kojihub.list_archives(componentBuildrootID=1)57 self.assertEqual(len(self.queries), 1)58 query = self.queries[0]59 self.assertEqual(query.tables, ['archiveinfo'])60 self.assertEqual(query.clauses,61 ['buildroot_archives.buildroot_id = %(component_buildroot_id)i'])62 self.assertEqual(query.joins,63 ['archivetypes on archiveinfo.type_id = archivetypes.id',64 'btype ON archiveinfo.btype_id = btype.id',65 'buildroot_archives on archiveinfo.id = buildroot_archives.archive_id'])66 self.assertEqual(query.values, {'component_buildroot_id': 1})67 def test_list_archives_imageid(self):68 kojihub.list_archives(imageID=1)69 self.assertEqual(len(self.queries), 1)70 query = self.queries[0]71 self.assertEqual(query.tables, ['archiveinfo'])72 self.assertEqual(query.clauses, ['archive_components.archive_id = %(imageID)i'])73 self.assertEqual(query.joins,74 ['archivetypes on archiveinfo.type_id = archivetypes.id',75 'btype ON archiveinfo.btype_id = btype.id',76 'archive_components ON archiveinfo.id = '77 'archive_components.component_id'])78 self.assertEqual(query.values, {'imageID': 1})79 def test_list_archives_hostid(self):80 kojihub.list_archives(hostID=1)81 self.assertEqual(len(self.queries), 1)82 query = self.queries[0]83 self.assertEqual(query.tables, ['archiveinfo'])84 self.assertEqual(query.clauses, ['standard_buildroot.host_id = %(host_id)i'])85 self.assertEqual(query.joins,86 ['archivetypes on archiveinfo.type_id = archivetypes.id',87 'btype ON archiveinfo.btype_id = btype.id',88 'standard_buildroot on archiveinfo.buildroot_id = '89 'standard_buildroot.buildroot_id'])90 self.assertEqual(query.values, {'host_id': 1})91 def test_list_archives_filename(self):92 kojihub.list_archives(filename='somefile.txt')93 self.assertEqual(len(self.queries), 1)94 query = self.queries[0]95 self.assertEqual(query.tables, ['archiveinfo'])96 self.assertEqual(query.clauses, ['filename = %(filename)s'])97 self.assertEqual(query.joins,98 ['archivetypes on archiveinfo.type_id = archivetypes.id',99 'btype ON archiveinfo.btype_id = btype.id'])100 self.assertEqual(query.values, {'filename': 'somefile.txt'})101 def test_list_archives_size(self):102 kojihub.list_archives(size=1231831)103 self.assertEqual(len(self.queries), 1)104 query = self.queries[0]105 self.assertEqual(query.tables, ['archiveinfo'])106 self.assertEqual(query.clauses, ['size = %(size)i'])107 self.assertEqual(query.joins,108 ['archivetypes on archiveinfo.type_id = archivetypes.id',109 'btype ON archiveinfo.btype_id = btype.id'])110 self.assertEqual(query.values, {'size': 1231831})111 def test_list_archives_checksum(self):112 kojihub.list_archives(checksum='7873f0a6dbf3abc07724e000ac9b3941')113 self.assertEqual(len(self.queries), 1)114 query = self.queries[0]115 self.assertEqual(query.tables, ['archiveinfo'])116 self.assertEqual(query.clauses, ['checksum = %(checksum)s'])117 self.assertEqual(query.joins,118 ['archivetypes on archiveinfo.type_id = archivetypes.id',119 'btype ON archiveinfo.btype_id = btype.id'])120 self.assertEqual(query.values, {'checksum': '7873f0a6dbf3abc07724e000ac9b3941'})121 def test_list_archives_checksum_type(self):122 kojihub.list_archives(checksum_type=koji.CHECKSUM_TYPES['sha256'])123 self.assertEqual(len(self.queries), 1)124 query = self.queries[0]125 self.assertEqual(query.tables, ['archiveinfo'])126 self.assertEqual(query.clauses, ['checksum_type = %(checksum_type)s'])127 self.assertEqual(query.joins,128 ['archivetypes on archiveinfo.type_id = archivetypes.id',129 'btype ON archiveinfo.btype_id = btype.id'])130 self.assertEqual(query.values, {'checksum_type': koji.CHECKSUM_TYPES['sha256']})131 def test_list_archives_archiveid(self):132 kojihub.list_archives(archiveID=1)133 self.assertEqual(len(self.queries), 1)134 query = self.queries[0]135 self.assertEqual(query.tables, ['archiveinfo'])136 self.assertEqual(query.clauses, ['archiveinfo.id = %(archive_id)s'])137 self.assertEqual(query.joins,138 ['archivetypes on archiveinfo.type_id = archivetypes.id',139 'btype ON archiveinfo.btype_id = btype.id'])140 self.assertEqual(query.values, {'archive_id': 1})141 def test_list_archives_type_maven(self):142 kojihub.list_archives(type='maven', typeInfo={'group_id': 'gid',143 'artifact_id': 'aid',144 'version': '1.0.1'})145 self.assertEqual(len(self.queries), 1)146 query = self.queries[0]147 self.assertEqual(query.tables, ['archiveinfo'])148 self.assertEqual(query.clauses, ['maven_archives.artifact_id = %(artifact_id)s',149 'maven_archives.group_id = %(group_id)s',150 'maven_archives.version = %(version)s'])151 self.assertEqual(query.joins,152 ['archivetypes on archiveinfo.type_id = archivetypes.id',153 'btype ON archiveinfo.btype_id = btype.id',154 'maven_archives ON archiveinfo.id = maven_archives.archive_id'])155 self.assertEqual(query.values, {'group_id': 'gid',156 'artifact_id': 'aid',157 'version': '1.0.1'})158 def test_list_archives_type_win(self):159 kojihub.list_archives(type='win', typeInfo={'relpath': 'somerelpath',160 'platforms': 'all',161 'flags': ['A', 'B']})162 self.assertEqual(len(self.queries), 1)163 query = self.queries[0]164 self.assertEqual(query.tables, ['archiveinfo'])165 self.assertEqual(query.clauses, sorted(['win_archives.relpath = %(relpath)s',166 r"platforms ~ %(platforms_pattern_0)s",167 r"flags ~ %(flags_pattern_0)s",168 r"flags ~ %(flags_pattern_1)s"]))169 self.assertEqual(query.joins,170 ['archivetypes on archiveinfo.type_id = archivetypes.id',171 'btype ON archiveinfo.btype_id = btype.id',172 'win_archives ON archiveinfo.id = win_archives.archive_id'])173 self.assertEqual(query.values, {'relpath': 'somerelpath',174 'flags_pattern_0': '\\mA\\M',175 'flags_pattern_1': '\\mB\\M',176 'platforms_pattern_0': '\\mall\\M'})177 def test_list_archives_type_image(self):178 kojihub.list_archives(type='image', typeInfo={'arch': 'i386'})179 self.assertEqual(len(self.queries), 1)180 query = self.queries[0]181 self.assertEqual(query.tables, ['archiveinfo'])182 self.assertEqual(query.clauses, ['image_archives.arch = %(arch)s'])183 self.assertEqual(query.joins,184 ['archivetypes on archiveinfo.type_id = archivetypes.id',185 'btype ON archiveinfo.btype_id = btype.id',186 'image_archives ON archiveinfo.id = image_archives.archive_id'])187 self.assertEqual(query.values, {'arch': 'i386'})188 @mock.patch('kojihub.lookup_name', return_value={'id': 111, 'name': 'other'})189 def test_list_archives_type_others(self, lookup_name):190 kojihub.list_archives(type='other')191 self.assertEqual(len(self.queries), 1)192 query = self.queries[0]193 self.assertEqual(query.tables, ['archiveinfo'])194 self.assertEqual(query.clauses, ['archiveinfo.btype_id = %(btype_id)s'])195 self.assertEqual(query.joins,196 ['archivetypes on archiveinfo.type_id = archivetypes.id',197 'btype ON archiveinfo.btype_id = btype.id'])198 self.assertEqual(query.values, {'btype_id': 111})199 @mock.patch('kojihub.lookup_name', return_value=None)200 def test_list_archives_type_not_found(self, lookup_name):201 with self.assertRaises(koji.GenericError) as cm:202 kojihub.list_archives(type='other')203 self.assertEqual(cm.exception.args[0], 'unsupported archive type: other')204 @mock.patch('kojihub.lookup_name', return_value={'id': 111, 'name': 'other'})205 def test_list_archives_type_other_with_typeinfo(self, lookup_name):206 with self.assertRaises(koji.GenericError) as cm:207 kojihub.list_archives(type='other', typeInfo={'somekey': 'somevalue'})...

Full Screen

Full Screen

test_driver.py

Source:test_driver.py Github

copy

Full Screen

1import unittest2from pydrive.drive import GoogleDrive3from driver.archive import ArchiveParameter4from driver.authentication import AuthenticationGoogle5from wrapper_google.driver import Driver6class DriverTest(unittest.TestCase):7 global list_archives, driver8 ap = ArchiveParameter(9 query="title contains 'Historico_tempo_' ")10 driver = Driver(ap)11 list_archives = driver.get_archives_list()12 def test_ArchiveParameter_not_query(self):13 ap = ArchiveParameter(title='title', mime_type='type')14 self.assertEqual(ap.query, "title contains 'title' and mimeType = 'type'")15 def test_ArchiveParameter_query(self):16 ap = ArchiveParameter(title='title', mime_type='type', query='test_query')17 self.assertEqual(ap.query, "test_query")18 def test_ArchiveParameter_only_query(self):19 ap = ArchiveParameter(query='test_query')20 self.assertEqual(ap.query, "test_query")21 def test_ArchiveParameter_exception(self):22 with self.assertRaises(Exception) as context:23 ArchiveParameter()24 self.assertTrue('Invalid parameters!' in str(context.exception))25 def test_AuthenticationGoogle(self):26 # TODO: Verificar a possibilidade de testar27 # self.assertIsInstance(GoogleDrive, (AuthenticationGoogle.get_drive()))28 pass29 def test_Driver_archives_list(self):30 global list_archives31 self.assertTrue(len(list_archives) > 0)32 def test_Driver_archive_download(self):33 global list_archives, driver34 archive = driver.get_archive_download('.', [dict(list_archives[1])])35 self.assertTrue(isinstance(archive, list))36 def test_Driver_archive_download_invalid_extension(self):37 global list_archives, driver38 archive = driver.get_archive_download('.', [dict(list_archives[0])])...

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful