def launch_power_express(self, version, syex_env, username): autoit.process_close('PowerExpress.exe') express_path = self.get_power_express_path(version) autoit.run(express_path + ' ENV:' + syex_env + ' testuser:'******'') autoit.win_wait(title='Power Express') BuiltIn().set_test_variable('${username}', username) BuiltIn().set_suite_variable('${syex_env}', syex_env)
def test_login_BE(self): self.path = r'D:\Luban PDS\Luban Explorer\shell\PDSShell.exe' self.username = '******' self.password = '******' self.ip = 'pds.lubansoft.com' self.epid = '1' self.pros = 'Luban Explorer.exe' try: subprocess.Popen(self.path + ' ' + self.username + '$$' + self.password + '$$' + self.ip + '$$' + self.epid) time.sleep(10) except Exception as e: print(e) finally: if autoit.process_exists(self.pros): autoit.process_close(self.pros) assert True else: autoit.process_close('PDSShell.exe') assert False
def start_IM(self): """启动IM""" if WinControl(self.BECivilWin).exists(): m1 = MouseControl() m1.click(self.BECivilWin, '', screen_point.资料[0], screen_point.资料[1]) sleep(1) m1.click(self.BECivilWin, '', screen_point.质检计量[0], screen_point.质检计量[1]) # 等待IM界面 w1 = WinControl(self.IMWin) w1.wait(30) # 关闭筑业升级进程 if autoit.process_exists("ZY.Downloader.exe"): autoit.process_close("ZY.Downloader.exe") else: pass w1.setState(3) else: print('BECivil未启动,无法启动IM。')
def close_pie_process_close(): # 关闭pie进程 sleep(2) autoit.process_close("PIE.exe") sleep(1)
def close(self): ''' :description 终止某个进程 :return 1:成功; 0:失败. ''' return autoit.process_close(self.processName)
def close(self): """终止进程""" return autoit.process_close(self.processName)
def main(): user_dir = get_users_main_directory() check_lp_power_data_folder_exists(user_dir) check_database_file_exists(user_dir) trial = {} trial = prompt_setup(trial, user_dir) # stopgap for pre-class variables walk_speed = trial["Speed [MPH]"] walk_style = trial["Walk Style [Normal/LP]"] pack_number = trial["Pack Number [XXX]"] # MAKE FOLDERS FOR TRIAL BASED ON PREVIOUSLY-ENTERED INPUTS make_pack_folder(pack_number, walk_speed, walk_style, user_dir) print('.....') print("..........Launching.....") # SET UP BASIC AUTO-IT SETTINGS TO USE WINDOW-RELATIVE COORDINATES autoit.auto_it_set_option('MouseCoordMode', 0) autoit.auto_it_set_option('SendKeyDelay', 10) # OPEN PICOSCOPE USING OUR DEFAULT WINDOW LAYOUT WITH TWO PANELS AND POWER UP TOP default_pico = os.path.join(user_dir, "electrical_power.psdata") click_on_file(default_pico) # PREPARE TO RUN THE RECORD DATA MACRO autoit.win_wait('PicoScope 6 - [electrical_power.psdata]') autoit.win_activate('PicoScope 6 - [electrical_power.psdata]') time.sleep(0.5) autoit.send('{ALT}{TAB}{TAB}{TAB}{TAB}{ENTER}{END}{UP}{ENTER}') autoit.win_wait('Macro Recorder') autoit.control_click('Macro Recorder', "[Name:_buttonImport]") time.sleep(1) macro_text = os.path.abspath(os.path.join(user_dir, "record_20sec.psmacro")) autoit.clip_put(macro_text) autoit.win_wait("Open") autoit.send('^V', 0) autoit.send('{ENTER}') msgbox("Ready to go?") # RUN THE MACRO autoit.win_activate('Macro Recorder') autoit.win_wait('Macro Recorder') autoit.control_click('Macro Recorder', "[Name:_buttonExecute]") time.sleep(22) autoit.win_activate('Macro Recorder') autoit.send('{ESCAPE}') # BEGIN SAVING THE DATA i = datetime.now() save_text = os.path.abspath( os.path.join( user_dir, 'LP Power Data', "{}".format("LP-{0}".format(pack_number)), "{0}MPH-{1} Walk".format(walk_speed, walk_style), "{0}MPH-{1} Walk_".format(walk_speed, walk_style) + i.strftime('%Y-%m-%d %Hh%Mm%Ss') + ".psdata")) autoit.clip_put(save_text) # SAVE ALL CAPTURED WAVEFORMS IN PICO FORMAT autoit.win_activate('PicoScope 6') autoit.win_wait("PicoScope 6") autoit.send('{ALT}{f}{a}') time.sleep(.5) autoit.win_wait("Save As") autoit.control_send('Save As', "[Class:Edit;INSTANCE:1]", '^V', 0) autoit.send('{ENTER}') # BEGIN SAVE SEQUENCE FOR CSV FORMAT autoit.win_activate('PicoScope 6') autoit.win_wait("PicoScope 6") autoit.mouse_click("primary", 433, 67, 2, 1) # MUST CLICK ON SECTION OF WINDOW CONTAINING POWER TRACE OR ALL AVERAGES CALCULATED WILL BE MESSED UP autoit.win_activate('PicoScope 6') autoit.win_wait("PicoScope 6") autoit.mouse_click("primary", 230, 260, 1, 0) # autoit.control_click('PicoScope 6', "[CLASS:WindowsForms10.Window.8.app.0.1114f81_r13_ad1; INSTANCE:55]") autoit.send('{ALT}{f}{a}') time.sleep(.5) autoit.win_wait("Save As") autoit.control_send('Save As', "[Class:Edit;INSTANCE:1]", '^V', 0) # SAVE ALL CAPTURED 5SEC INTERVALS autoit.control_click('Save As', "[CLASS:ComboBox;INSTANCE:3]") autoit.send("{HOME}{DOWN}{DOWN}{ENTER}") # autoit.control_click("Save As", "[NAME:_currentBufferRadio]") time.sleep(0.5) autoit.send('{ENTER}') time.sleep(4.5) autoit.process_close('PicoScope.exe') # BOTH SAVE OPERATIONS NOW COMPLETE. THERE IS A CSV FOR EACH 5SEC INTERVAL IN A NEW SUBDIRECTORY OF THIS TRIAL. print("") print("Sit tight, I'm still doing some thinking....") # UPDATE ALL CSV FILES TO BE XLSX AND CALCULATE THEIR 5SEC AVERAGES run_avgs = recursively_repair_all_csv_files(save_text, user_dir, walk_speed) # ADD ALL INFORMATION COLLECTED TO THE EXPERIMENTS SPREADSHEET patch_experiments_database(trial, run_avgs, user_dir) print("") # WRITE THE METADATA SETTINGS TO A FILE FOR FUTURE RECORD with open('{}'.format(save_text.replace(".psdata", ".LPmeta")), 'w') as outfile: json.dump(trial, outfile, indent=4, separators=(',', ': ')) print("") print( "LP Metadata file successfully saved for the future with all info the state of the pack as you have just tested it." ) print("") # print_average_power(dest_filename) print(".................................. Testing Complete.")
def main(): user_dir = get_users_main_directory() check_lp_power_data_folder_exists(user_dir) check_database_file_exists(user_dir) trial = {} trial = prompt_setup(trial, user_dir) # stopgap for pre-class variables walk_speed = trial["Speed [MPH]"] walk_style = trial["Walk Style [Normal/LP]"] pack_number = trial["Pack Number [XXX]"] # MAKE FOLDERS FOR TRIAL BASED ON PREVIOUSLY-ENTERED INPUTS make_pack_folder(pack_number, walk_speed, walk_style, user_dir) print('.....') print("..........Launching.....") # SET UP BASIC AUTO-IT SETTINGS TO USE WINDOW-RELATIVE COORDINATES autoit.auto_it_set_option('MouseCoordMode', 0) autoit.auto_it_set_option('SendKeyDelay', 10) # OPEN PICOSCOPE USING OUR DEFAULT WINDOW LAYOUT WITH TWO PANELS AND POWER UP TOP default_pico = os.path.join(user_dir, "electrical_power.psdata") click_on_file(default_pico) # PREPARE TO RUN THE RECORD DATA MACRO autoit.win_wait('PicoScope 6 - [electrical_power.psdata]') autoit.win_activate('PicoScope 6 - [electrical_power.psdata]') time.sleep(0.5) autoit.send('{ALT}{TAB}{TAB}{TAB}{TAB}{ENTER}{END}{UP}{ENTER}') autoit.win_wait('Macro Recorder') autoit.control_click('Macro Recorder', "[Name:_buttonImport]") time.sleep(1) macro_text = os.path.abspath(os.path.join(user_dir, "record_20sec.psmacro")) autoit.clip_put(macro_text) autoit.win_wait("Open") autoit.send('^V', 0) autoit.send('{ENTER}') msgbox("Ready to go?") # RUN THE MACRO autoit.win_activate('Macro Recorder') autoit.win_wait('Macro Recorder') autoit.control_click('Macro Recorder', "[Name:_buttonExecute]") time.sleep(22) autoit.win_activate('Macro Recorder') autoit.send('{ESCAPE}') # BEGIN SAVING THE DATA i = datetime.now() save_text = os.path.abspath(os.path.join(user_dir, 'LP Power Data', "{}".format("LP-{0}".format(pack_number)), "{0}MPH-{1} Walk".format(walk_speed, walk_style), "{0}MPH-{1} Walk_".format(walk_speed, walk_style) + i.strftime('%Y-%m-%d %Hh%Mm%Ss')+ ".psdata")) autoit.clip_put(save_text) # SAVE ALL CAPTURED WAVEFORMS IN PICO FORMAT autoit.win_activate('PicoScope 6') autoit.win_wait("PicoScope 6") autoit.send('{ALT}{f}{a}') time.sleep(.5) autoit.win_wait("Save As") autoit.control_send('Save As', "[Class:Edit;INSTANCE:1]", '^V', 0) autoit.send('{ENTER}') # BEGIN SAVE SEQUENCE FOR CSV FORMAT autoit.win_activate('PicoScope 6') autoit.win_wait("PicoScope 6") autoit.mouse_click("primary", 433, 67, 2, 1) # MUST CLICK ON SECTION OF WINDOW CONTAINING POWER TRACE OR ALL AVERAGES CALCULATED WILL BE MESSED UP autoit.win_activate('PicoScope 6') autoit.win_wait("PicoScope 6") autoit.mouse_click("primary", 230, 260, 1, 0) # autoit.control_click('PicoScope 6', "[CLASS:WindowsForms10.Window.8.app.0.1114f81_r13_ad1; INSTANCE:55]") autoit.send('{ALT}{f}{a}') time.sleep(.5) autoit.win_wait("Save As") autoit.control_send('Save As', "[Class:Edit;INSTANCE:1]", '^V', 0) # SAVE ALL CAPTURED 5SEC INTERVALS autoit.control_click('Save As', "[CLASS:ComboBox;INSTANCE:3]") autoit.send("{HOME}{DOWN}{DOWN}{ENTER}") # autoit.control_click("Save As", "[NAME:_currentBufferRadio]") time.sleep(0.5) autoit.send('{ENTER}') time.sleep(4.5) autoit.process_close('PicoScope.exe') # BOTH SAVE OPERATIONS NOW COMPLETE. THERE IS A CSV FOR EACH 5SEC INTERVAL IN A NEW SUBDIRECTORY OF THIS TRIAL. print("") print("Sit tight, I'm still doing some thinking....") # UPDATE ALL CSV FILES TO BE XLSX AND CALCULATE THEIR 5SEC AVERAGES run_avgs = recursively_repair_all_csv_files(save_text, user_dir, walk_speed) # ADD ALL INFORMATION COLLECTED TO THE EXPERIMENTS SPREADSHEET patch_experiments_database(trial, run_avgs, user_dir) print("") # WRITE THE METADATA SETTINGS TO A FILE FOR FUTURE RECORD with open('{}'.format(save_text.replace(".psdata", ".LPmeta")), 'w') as outfile: json.dump(trial, outfile, indent=4, separators=(',', ': ')) print("") print("LP Metadata file successfully saved for the future with all info the state of the pack as you have just tested it.") print("") # print_average_power(dest_filename) print(".................................. Testing Complete.")