def __run_tests(self, evt): # TODO: do not run if root folder is not selected self.txt_ctrl.Clear() dialog = InfiniteProgressBarDialog( self, u'Running test cases', u'Running selected test cases... Please wait...') def wrap_func(): stdout = os.sys.stdout stderr = os.sys.stderr redirected = RedirectText(self.txt_ctrl) os.sys.stdout = redirected os.sys.stderr = redirected try: nose_cmd = self.__get_nose_command() browser_name = self.cb_browser.GetStringSelection() Browser.DEFAULT_BROWSER = browser_name report_folder = self.__get_safe_path_from_root_folder( RootFolder.REPORTS) BaseTest.FAILED_SCREENSHOT_FOLDER = report_folder easy_selenium_cmd = u" ".join(nose_cmd).replace( "nosetests", "easy_selenium_cli.py -b " + browser_name) print(u"Executing command:\n%s" % easy_selenium_cmd) print(u"Nose output:") run(argv=nose_cmd[1:]) finally: dialog.close_event.set() os.sys.stdout = stdout os.sys.stderr = stderr run_in_separate_thread(wrap_func) dialog.ShowModal()
def __run_tests(self, evt): # TODO: do not run if root folder is not selected self.txt_ctrl.Clear() dialog = InfiniteProgressBarDialog(self, u'Running test cases', u'Running selected test cases... Please wait...') def wrap_func(): stdout = os.sys.stdout stderr = os.sys.stderr redirected = RedirectText(self.txt_ctrl) os.sys.stdout = redirected os.sys.stderr = redirected try: nose_cmd = self.__get_nose_command() browser_name = self.cb_browser.GetStringSelection() Browser.DEFAULT_BROWSER = browser_name report_folder = self.__get_safe_path_from_root_folder(RootFolder.REPORTS) BaseTest.FAILED_SCREENSHOT_FOLDER = report_folder easy_selenium_cmd = u" ".join(nose_cmd).replace("nosetests", "easy_selenium_cli.py -b " + browser_name) print u"Executing command:\n%s" % easy_selenium_cmd print u"Nose output:" run(argv=nose_cmd[1:]) finally: dialog.close_event.set() os.sys.stdout = stdout os.sys.stderr = stderr run_in_separate_thread(wrap_func) dialog.ShowModal()
def __init__(self, parent, title, text): Dialog.__init__(self, parent, title=title, style=CAPTION | STAY_ON_TOP) sizer = BoxSizer(VERTICAL) self.label = StaticText(self, label=text) sizer.Add(self.label, flag=FLAG_ALL_AND_EXPAND) self.gauge = Gauge(self, style=GA_SMOOTH | GA_HORIZONTAL) sizer.Add(self.gauge, flag=FLAG_ALL_AND_EXPAND) self.close_event = Event() def show_progress(): while not self.close_event.is_set(): sleep(0.05) self.gauge.Pulse() self.EndModal(ID_OK) self.SetSizerAndFit(sizer) run_in_separate_thread(show_progress)