How to use clearContents method in pyatom

Best Python code snippet using pyatom_python

lk_admin_handlers.py

Source:lk_admin_handlers.py Github

copy

Full Screen

...53 self.tableWidget.setRowCount(20)54 self.help.fill_table(self.material_df.values.tolist(),self.tableWidget)55 def btn_find_material(self):56 if self.lineEdit.text()=="":57 self.tableWidget.clearContents()58 self.help.fill_table(self.material_df.values.tolist(),self.tableWidget)59 return60 try:61 self.tableWidget.clearContents()62 self.help.fill_table(self.material_df[self.material_df.Название.str.startswith(self.lineEdit.text())].values.tolist(),self.tableWidget)63 except:64 self.error.label_2.setText("Нет совпаденией")65 self.error.show()66 67 def btn_enter_usage(self):68 if self.lineEdit_col.text()=="" or self.lineEdit_mat.text()=="" or self.lineEdit_numb.text()=="":69 self.error.label_2.setText("Пустое поле")70 self.error.show()71 return72 try:73 cursor = self.help.conn.cursor()74 cursor.execute("UPDATE Материал SET Количество=Количество-%s" 75 "WHERE Название=%s",(int(self.lineEdit_col.text()),self.lineEdit_mat.text(),))76 self.help.conn.commit()77 cursor.close()78 cursor = self.help.conn.cursor()79 cursor.execute('INSERT INTO Расход(Номер_записи,Название,Количество) VALUES(%s,%s,%s)',(int(self.lineEdit_numb.text()),self.lineEdit_mat.text(),int(self.lineEdit_col.text()),))80 self.help.conn.commit()81 self.tableWidget.clearContents()82 self.material_df.loc[self.material_df.Название==self.lineEdit_mat.text(),'Количество']-=int(self.lineEdit_col.text())83 self.help.fill_table(self.material_df.values.tolist(),self.tableWidget) 84 self.success.show()85 cursor.close()86 except :87 self.error.label_2.setText("Данные")88 self.error.show()89 90 def btn_enter_material(self):91 if self.lineEdit_mat_6.text()=="" or self.lineEdit_numb_4.text()=="":92 self.error.label_2.setText("Пустое поле")93 self.error.show()94 return95 try:96 cursor = self.help.conn.cursor()97 cursor.execute('INSERT INTO Материал(Название,Количество) VALUES(%s,%s)',(self.lineEdit_mat_6.text(),int(self.lineEdit_numb_4.text()),))98 self.help.conn.commit()99 self.tableWidget.clearContents()100 new_row = {'Название':self.lineEdit_mat_6.text(), 'Количество':int(self.lineEdit_numb_4.text())}101 self.material_df=self.material_df.append(new_row,ignore_index=True)102 self.help.fill_table(self.material_df.values.tolist(),self.tableWidget) 103 cursor.close()104 self.success.show()105 except :106 self.error.label_2.setText("Данные") 107 self.show() 108 def btn_change_material(self):109 if self.lineEdit_mat_6.text()=="" or self.lineEdit_numb_4.text()=="":110 self.error.label_2.setText("Пустое поле")111 self.error.show()112 return113 try:114 cursor = self.help.conn.cursor()115 cursor.execute("UPDATE Материал SET Количество=Количество+%s" 116 "WHERE Название=%s",(int(self.lineEdit_numb_4.text()),self.lineEdit_mat_6.text(),))117 self.help.conn.commit()118 cursor.close()119 self.tableWidget.clearContents()120 self.material_df.loc[self.material_df.Название==self.lineEdit_mat_6.text(),'Количество']+=int(self.lineEdit_numb_4.text())121 self.help.fill_table(self.material_df.values.tolist(),self.tableWidget) 122 self.success.show()123 except:124 self.error.label_2.setText("Тут") 125 self.error.show()126 127 #client 128 def fill_table_cliente(self):129 cursor = self.help.conn.cursor()130 self.tableWidget_3.setRowCount(20)131 cursor.execute('SELECT * FROM Клиент')132 self.help.fill_table(cursor,self.tableWidget_3)133 cursor.close()134 def btn_enter_client(self):135 if self.lineEdit_mat_3.text()=="" or self.lineEdit_mat_4.text()=="" or self.lineEdit_mat_5.text()=="":136 er=error(self)137 er.show()138 return139 try:140 cursor1 = self.help.conn.cursor()141 cursor1.execute('INSERT INTO Клиент VALUES(%s,%s,%s)',(self.lineEdit_mat_3.text(),self.lineEdit_mat_4.text(),self.lineEdit_mat_5.text(),))142 self.help.conn.commit()143 er=good(self)144 self.tableWidget_3.clearContents()145 cursor1.execute('SELECT * FROM Клиент')146 self.help.fill_table(cursor1,self.tableWidget_3) 147 cursor1.close()148 except:149 er=error(self)150 er.label_2.setText("Данные")151 er.show()152 #master need test153 def fill_table_master(self):#work154 cursor = self.help.conn.cursor()155 self.tableWidget_7.setRowCount(20)156 cursor.execute('SELECT * FROM Сотрудник')157 self.help.fill_table(cursor,self.tableWidget_7)158 cursor.close()159 160 def btn_find_mast(self):#work161 if self.lineEdit_mat_18.text()=="":162 self.tableWidget_7.clearContents()163 self.fill_table_master()164 return165 try:166 cursor1 = self.help.conn.cursor()167 cursor1.execute('SELECT * FROM Сотрудник WHERE ФИО=%s',(self.lineEdit_mat_18.text(),))168 self.tableWidget_7.clearContents()169 self.help.fill_table(cursor1,self.tableWidget_7)170 cursor1.close()171 except:172 er=error(self)173 er.label_2.setText("Данные")174 er.show()175 def btn_change_mast(self):#test176 if self.lineEdit_mat_8.text()=="" and self.lineEdit_mat_9.text()=="" and self.lineEdit_mat_11.text()=="" and self.lineEdit_mat_10.text()=="" :177 er=error(self)178 er.show()179 return180 if self.lineEdit_mat_8.text()=="":181 er=error(self)182 er.show()183 return184 try:185 if self.lineEdit_mat_9.text()!="":186 cursor1 = self.help.conn.cursor()187 cursor1.execute("UPDATE Сотрудник SET Номер_телефона=%s" 188 "WHERE Код=%s",(self.lineEdit_mat_9.text(),int(self.lineEdit_mat_8.text()),))189 cursor1.close()190 if self.lineEdit_mat_10.text()!="":191 cursor1 = self.help.conn.cursor()192 cursor1.execute("UPDATE Сотрудник SET Статус=%s" 193 "WHERE Код=%s",(self.lineEdit_mat_10.text(),int(self.lineEdit_mat_8.text()),))194 cursor1.close()195 if self.lineEdit_mat_11.text()!="":196 cursor1 = self.help.conn.cursor()197 cursor1.execute("UPDATE Сотрудник SET ФИО=%s" 198 "WHERE Код=%s",(self.lineEdit_mat_11.text(),int(self.lineEdit_mat_8.text()),))199 cursor1.close()200 er=good(self)201 self.tableWidget_7.clearContents()202 cursor1.execute('SELECT * FROM Сотрудник')203 self.help.fill_table(cursor1,self.tableWidget_7)204 except:205 er=error(self)206 er.label_2.setText("Данные")207 er.show()208 def btn_del_mast(self):#test 209 if self.lineEdit_mat_7.text()=="":210 er=error(self)211 er.show()212 return213 try:214 cursor = self.help.conn.cursor()215 cursor.execute('DELETE FROM Сотрудник WHERE Код=%s',(int(self.lineEdit_mat_7.text()),))216 self.help.conn.commit()217 er=good(self)218 self.tableWidget_7.clearContents()219 cursor.execute('SELECT * FROM Сотрудник')220 self.help.fill_table(cursor,self.tableWidget_7)221 cursor.close()222 except:223 er=error(self)224 er.label_2.setText("Данные")225 226 er.show()227 228 def btn_insr_mast(self):#test229 if self.lineEdit_mat_8.text()=="" or self.lineEdit_mat_9.text()=="" or self.lineEdit_mat_11.text()=="":230 er=error(self)231 er.show()232 return233 try:234 cursor = self.help.conn.cursor()235 cursor.execute('INSERT INTO Сотрудник(Код,Номер_телефона,ФИО) VALUES(%s,%s,%s)',(int(self.lineEdit_mat_8.text()),self.lineEdit_mat_9.text(),self.lineEdit_mat_11.text(),))236 er=good(self)237 self.help.conn.commit()238 self.tableWidget_7.clearContents()239 cursor.execute('SELECT * FROM Сотрудник')240 self.help.fill_table(cursor,self.tableWidget_7)241 cursor.close()242 except:243 er=error(self)244 er.label_2.setText("Данные")245 er.show()246#service247 def fill_table_service(self):248 cursor1 = self.help.conn.cursor()249 self.tableWidget_8.setRowCount(20)250 cursor1.execute('SELECT * FROM Услуга')251 tablerow=0252 self.dict_ser={}253 for row in cursor1:254 self.dict_ser[row[0]]=row[2]255 self.tableWidget_8.setItem(tablerow,0,QtWidgets.QTableWidgetItem(str(row[0])))256 self.tableWidget_8.setItem(tablerow,1,QtWidgets.QTableWidgetItem(str(row[1])))257 self.tableWidget_8.setItem(tablerow,2,QtWidgets.QTableWidgetItem(str(row[2])))258 self.tableWidget_8.setItem(tablerow,3,QtWidgets.QTableWidgetItem(str(row[3])))259 tablerow+=1260 cursor1.close()261 def btn_find_serv(self):262 cursor = self.help.conn.cursor()263 if self.lineEdit_mat_14.text()=="":264 cursor.execute('SELECT * FROM Услуга')265 self.tableWidget_8.clearContents()266 self.help.fill_table(cursor,self.tableWidget_8)267 try:268 cursor.execute('SELECT * FROM Услуга WHERE Название like %s',(self.lineEdit_mat_14.text()+'%',))269 self.tableWidget_8.clearContents()270 self.help.fill_table(cursor,self.tableWidget_8)271 except:272 er=error(self)273 er.label_2.setText("Данные")274 er.show()275 cursor.close()276 def btn_change_stat_serv(self):277 self.help=db()278 if self.lineEdit_mat_12.text()=="":279 er=error(self)280 er.show()281 return282 try:283 cursor = self.help.conn.cursor()284 if self.dict_ser[self.lineEdit_mat_12.text()]=='Архивная':285 new_stat='Активная'286 else:287 new_stat='Архивная'288 cursor.execute("UPDATE Услуга SET Статус=%s"289 "WHERE Название = %s",290 (new_stat,self.lineEdit_mat_12.text()),)291 self.help.conn.commit()292 self.tableWidget_8.clearContents()293 self.fill_table_service()294 cursor.close()295 except:296 er=error(self)297 er.label_2.setText("Данные")298 er.show()299 def btn_change_price_serv(self):300 self.help=db()301 if self.lineEdit_mat_19.text()=="":302 er=error(self)303 er.show()304 return305 try:306 cursor = self.help.conn.cursor()307 cursor.execute("UPDATE Услуга SET Цена=%s"308 "WHERE Название = %s",309 (int(self.lineEdit_mat_19.text()),self.lineEdit_mat_12.text()),)310 self.help.conn.commit()311 self.tableWidget_8.clearContents()312 cursor.execute('SELECT * FROM Услуга')313 self.tableWidget_8.clearContents()314 self.help.fill_table(cursor,self.tableWidget_8)315 except:316 er=error(self)317 er.label_2.setText("Данные")318 er.show()319 cursor.close()320 321 def btn_add_serv(self):#good322 self.help=db()323 if self.lineEdit_mat_13.text()=="" or self.lineEdit_mat_17.text()=="":324 er=error(self)325 er.show()326 return327 try:328 cursor = self.help.conn.cursor()329 cursor.execute('INSERT INTO Услуга(Название,Цена) VALUES(%s,%s)',(self.lineEdit_mat_13.text(),int(self.lineEdit_mat_17.text()),))330 self.help.conn.commit()331 self.tableWidget_8.clearContents()332 self.dict_ser[self.lineEdit_mat_13.text()]='Активная'333 cursor.execute('SELECT * FROM Услуга')334 self.help.fill_table(cursor,self.tableWidget_8) 335 except:336 er=error(self)337 er.label_2.setText("Данные")338 er.show()339 cursor.close()340 341 #zapis342 def fill_table_zapis(self):343 cursor = self.help.conn.cursor()344 self.tableWidget_2.setRowCount(50)345 cursor.execute('SELECT * FROM Запись')346 self.help.fill_table(cursor,self.tableWidget_2)347 cursor.close()348 def btn_find_zap(self):349 self.help=db()350 cursor = self.help.conn.cursor()351 if self.lineEdit_5.text()=="":352 self.tableWidget_2.clearContents()353 cursor.execute('SELECT * FROM Запись',)354 #self.fill_table_zapis()355 self.help.fill_table(cursor,self.tableWidget_2)356 cursor.close()357 return358 try:359 cursor.execute('SELECT * FROM Запись WHERE Код_сотрудника=%s',(int(self.lineEdit_5.text()),))360 self.tableWidget_2.clearContents()361 self.help.fill_table(cursor,self.tableWidget_2)362 except:363 er=error(self)364 er.label_2.setText("Данные")365 er.show()366 cursor.close()367 def btn_change_stat_zap(self):368 if self.lineEdit_2.text()=="":369 er=error(self)370 er.show()371 return372 cursor = self.help.conn.cursor()373 try:374 cursor.execute("UPDATE Запись SET Статус = %s"375 "WHERE Номер=%s",376 ("Архивная",int(self.lineEdit_2.text()),),)377 self.help.conn.commit()378 self.tableWidget_2.clearContents()379 cursor.execute('SELECT * FROM Запись',)380 self.help.fill_table(cursor,self.tableWidget_2)381 cursor.close()382 except:383 er=error(self)384 er.label_2.setText("Данные")385 er.show()386 387 def btn_change_date_zap(self):388 if self.lineEdit_2.text()=="":389 er=error(self)390 er.show()391 return392 try:393 cursor = self.help.conn.cursor()394 cursor.execute("UPDATE Запись SET Дата = %s"395 "WHERE Номер=%s",396 (self.lineEdit_10.text(),int(self.lineEdit_2.text()),),)397 self.help.conn.commit()398 self.tableWidget_2.clearContents()399 cursor.execute('SELECT * FROM Запись',)400 self.help.fill_table(cursor,self.tableWidget_2)401 cursor.close()402 except:403 er=error(self)404 er.label_2.setText("Данные")405 er.show()406 407 def btn_cancel_zap(self):#test after full table408 if self.lineEdit_2.text()=="":409 er=error(self)410 er.show()411 return412 try:413 cursor = self.help.conn.cursor()414 cursor.execute('DELETE FROM Запись WHERE Номер=%s',(int(self.lineEdit_2.text()),))415 self.help.conn.commit()416 er=good(self)417 self.tableWidget_2.clearContents()418 cursor.execute('SELECT * FROM Запись',)419 self.help.fill_table(cursor,self.tableWidget_2)420 cursor.close()421 except:422 er=error(self)423 er.label_2.setText("Данные")424 er.show()425 def btn_add_zap(self):426 if self.lineEdit_7.text()=="" or self.lineEdit_8.text()=="" or self.lineEdit_9.text()=="":427 er=error(self)428 er.show()429 return430 num=0431 try:432 cursor = self.help.conn.cursor()433 cursor.execute('SELECT MAX(Номер) FROM Запись')434 for row in cursor:435 num=row[0]436 cursor.execute("SELECT * FROM Сотрудник WHERE Статус='работает' and Код=%s",(int(self.lineEdit_8.text()),))437 if len(cursor.fetchall())==0: 438 er=error(self)439 er.label_2.setText("Сотрудник")440 er.show()441 return442 cursor.execute("SELECT * FROM Услуга WHERE Статус='Активная' and Название=%s",(self.lineEdit_9.text(),))443 if len(cursor.fetchall())==0: 444 er=error(self)445 er.label_2.setText("Услуга")446 er.show()447 return448 cursor.execute("SELECT * FROM Клиент WHERE Номер_телефона=%s",(self.lineEdit_7.text(),))449 if len(cursor.fetchall())==0: 450 er=error(self)451 er.label_2.setText('Клиент')452 er.show()453 return454 cursor.execute('INSERT INTO Запись(Номер,Номер_телефона,Код_сотрудника,Название_услуги,Дата) VALUES(%s,%s,%s,%s,%s)',(int(num)+1,self.lineEdit_7.text(),int(self.lineEdit_8.text()),self.lineEdit_9.text(),self.lineEdit_11.text(),))455 self.help.conn.commit()456 er=good(self)457 self.tableWidget_2.clearContents()458 cursor.execute('SELECT * FROM Запись',)459 self.help.fill_table(cursor,self.tableWidget_2)460 cursor.close()461 except:462 er=error(self)463 er.label_2.setText("Данные")...

Full Screen

Full Screen

main.py

Source:main.py Github

copy

Full Screen

...58 self.chrome.quit()59 ###########################################60 # private functions61 def __init_tb_search_items(self, _datas):62 self.ui.tb_posts.clearContents()63 self.ui.tb_posts.setRowCount(len(_datas))64 for i, v in enumerate(_datas):65 self.ui.tb_posts.setItem( i, 0, QtWidgets.QTableWidgetItem(v[1]) )66 67 def __init_tb_ban_items(self):68 _datas = DataBase.select_ban_all()69 _len_datas = len(_datas)70 self.ui.tb_ban.clearContents()71 self.ui.tb_ban.setRowCount(_len_datas)72 for i, v in enumerate(_datas):73 self.ui.tb_ban.setItem( i, 0, QtWidgets.QTableWidgetItem(v[1]) )74 def __init_tb_keywords_items(self):75 _datas = DataBase.select_keyword_all()76 _len_datas = len(_datas)77 self.ui.tb_keywords.clearContents()78 self.ui.tb_keywords.setRowCount(_len_datas)79 for i, v in enumerate(_datas):80 self.ui.tb_keywords.setItem( i, 0, QtWidgets.QTableWidgetItem(v[1]) )81 82 def __init_tb_answers_items(self):83 _datas = DataBase.select_post_all()84 _len_datas = len(_datas)85 self.ui.tb_answers.clearContents()86 self.ui.tb_answers.setRowCount(_len_datas) 87 for i, v in enumerate(_datas):88 self.ui.tb_answers.setItem( i, 0, QtWidgets.QTableWidgetItem(v[1]) )89 self.ui.tb_answers.setItem( i, 1, QtWidgets.QTableWidgetItem(v[2]) )90 91 def __init_tb_qna_total_items(self, _datas):92 self.ui.tb_qna_total.clearContents()93 self.ui.tb_qna_total.setRowCount(len(_datas))94 for i, v in enumerate(_datas):95 self.ui.tb_qna_total.setItem( i, 0, QtWidgets.QTableWidgetItem(v[1]) )96 self.qna_datas[0] = _datas97 98 def __init_tb_qna_items(self, _datas):99 self.ui.tb_qna.clearContents()100 self.ui.tb_qna.setRowCount(len(_datas))101 for i, v in enumerate(_datas):102 self.ui.tb_qna.setItem( i, 0, QtWidgets.QTableWidgetItem(v[1]) )103 self.qna_datas[1] = _datas104 105 def __init_tb_jn_items(self, _datas):106 self.ui.tb_jn.clearContents()107 self.ui.tb_jn.setRowCount(len(_datas))108 for i, v in enumerate(_datas):109 self.ui.tb_jn.setItem( i, 0, QtWidgets.QTableWidgetItem(v[1]) )110 self.qna_datas[2] = _datas111 112 def __init_tb_gomin_items(self, _datas):113 self.ui.tb_gomin.clearContents()114 self.ui.tb_gomin.setRowCount(len(_datas))115 for i, v in enumerate(_datas):116 self.ui.tb_gomin.setItem( i, 0, QtWidgets.QTableWidgetItem(v[1]) )117 self.qna_datas[3] = _datas118 def __start_thread(self):119 self.web_crawling = Crawling( 120 [ _[1] for _ in DataBase.select_keyword_all() ], # keyword121 [ _[1] for _ in DataBase.select_ban_all() ], # ban122 self.__play_sound,123 [ self.__init_tb_search_items,124 self.__init_tb_qna_total_items,125 self.__init_tb_qna_items,126 self.__init_tb_jn_items,127 self.__init_tb_gomin_items ]128 )129 self.web_crawling.daemon = True130 self.web_crawling.start()131 self.ui.btn_start.setText('검색 종료')132 def __stop_thread(self):133 self.search_datas = self.web_crawling.datas134 self.web_crawling.is_stop = True135 self.ui.btn_start.setText('검색 시작')136 self.web_crawling = None137 def __load_chrome(self):138 self.chrome = Chrome()139 def __start_chrome(self):140 t = threading.Thread(target=self.__load_chrome, args=())141 t.start()142 143 def __play_sound(self):144 self.sound.play()145 ###########################################146 # Button Events147 def btn_keyword_click_event(self):148 if self.ui.tabWidget.currentIndex() == 0:149 self.search_keyword_form.show()150 else:151 self.search_ban_form.show()152 153 def btn_answer_click_event(self):154 self.post_index_form.show()155 156 def btn_start_click_event(self):157 self.is_searching = not self.is_searching158 # 시작159 if self.is_searching: 160 self.__start_thread()161 # 종료162 else:163 self.__stop_thread()164 def btn_clear_click_event(self):165 self.ui.tb_posts.clearContents()166 self.ui.tb_posts.setRowCount(0)167 if self.web_crawling is not None:168 self.web_crawling.datas = []169 ###########################################170 # Table Item Double Click Events171 def __get_chrome(self, url):172 try:173 self.chrome.get( url )174 except WebDriverException:175 self.__start_chrome()176 except AttributeError:177 self.__start_chrome()178 def tb_posts_d_click_event(self, item):179 _data = self.search_datas if self.web_crawling == None else self.web_crawling.datas...

Full Screen

Full Screen

xlwings_utilities.py

Source:xlwings_utilities.py Github

copy

Full Screen

1"""2Wrapper functions for xlwings3"""4import pandas as pd5from xlwings import Workbook, Sheet, Range6# Utililty functions for dataframes7def clear(range_name, ws=None):8 """Clear a table started in a range cell, ex: clear('a1').9 clear(range_name, ws=None)10 """11 ws = Sheet.active() if ws is None else ws12 Range(ws.name, range_name).table.clear()13def clear_ws(ws=None):14 """Clear a table started in a range cell, ex: clearcontents('a1').15 clear_ws(ws=None)16 """17 ws = Sheet.active() if ws is None else ws18 ws.clear()19def clearcontents(range_name, ws=None):20 """Clear a table started in a range cell, ex: clearcontents('a1').21 clearcontents(range_name, ws=None)22 """23 ws = Sheet.active() if ws is None else ws24 Range(ws.name, range_name).table.clear_contents()25def clearcontents_ws(ws=None):26 """Clear entire worksheet, ex: clearcontents_ws(ws=worksheetobj).27 clearcontents_ws(ws=None)28 """29 ws = Sheet.active() if ws is None else ws30 ws.clear_contents()31def list_write(range_name, value_list, ws=None):32 """Write a list vertially.33 list_write(range_name, value_list, ws=None)34 """35 ws = Sheet.active() if ws is None else ws36 # Turn list into a column37 value_column = [[e] for e in value_list]38 Range(ws.name, range_name).value = value_column39def list_read(range_name, ws=None):40 """Read a list vertially.41 list_read(range_name, value_list, ws=None)42 """43 ws = Sheet.active() if ws is None else ws44 # Range(range_name).options(transpose=True).value = value_list45 datalist = Range(ws.name, range_name).vertical.value46 return datalist47def df_read(range_name, ws=None):48 """Return dataframe from range name and Sheet.; ex: df = df_read('a1').49 df_read(range_name, ws=None)50 """51 ws = Sheet.active() if ws is None else ws52 data = Range(ws.name, range_name).table.value53 df = pd.DataFrame(data[1:], columns=data[0])54 return df55def df_write(df, range_name, ws=None):56 """Write a dataframe to a cell.57 df_write(df, range_name, ws=None)58 """59 ws = Sheet.active() if ws is None else ws60 Range(ws.name, range_name, index=False).value = df # without pd indices61def autofit(ws=None):62 """Autofit columns of worksheet63 """64 ws = Sheet.active() if ws is None else ws...

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