Пример #1
0
    def __load_po_class(self, path):
        self.table_and_test_file_tabs.table.clear_table()

        if not os.path.exists(path):
            show_dialog_path_doesnt_exist(self, path)
        if not is_correct_python_file(path):
            show_dialog(self, u'File name is incorrect: %s' % path,
                        u'Bad file name')
        else:
            folder = os.path.dirname(path)
            files = [os.path.join(folder, p) for p in os.listdir(folder)
                     if is_correct_python_file(p)]
            self.cb_class_path.Clear()
            self.cb_class_path.AppendItems(files)
            self.cb_class_path.Select(files.index(path))
            try:
                self.__cur_po_class = PageObjectClass.parse_string_to_po_class(read_file(path))
                area = self.__cur_po_class.area
                self.image_panel.set_po_fields(self.__cur_po_class.fields)
                self.image_panel.load_image(self.__cur_po_class.img_path, area)

                self.cb_class_path.SetValue(self.__cur_po_class.file_path)

                self.table_and_test_file_tabs.load_po_class(self.__cur_po_class)
            except Exception:
                self.__cur_po_class = None
                show_error_dialog(self, traceback.format_exc(),
                                  u'Failed to open file %s' % path)
Пример #2
0
    def __open_url(self, evt):
        url = self.__txt_url.GetValue()
        if StringUtils.is_url_correct(url):
            self.bth_open_url.Disable()

            name = self.get_browser_initials()

            try:
                if self.__browser and self.__browser.get_browser_initials(
                ) != name:
                    self.__browser.quit()
                    self.__browser = Browser(name)
                elif not self.__browser:
                    self.__browser = Browser(name)
            except Exception:
                show_error_dialog(self, traceback.format_exc(),
                                  u'Failed to open browser')
                self.__browser = None

            if self.__browser:
                self.__browser.open(url)
            # TODO: if generator or selector -> load image
            self.bth_open_url.Enable()
        else:
            show_dialog(self, u'Bad url: %s' % url, u'Bad url')
Пример #3
0
 def save_file(self):
     root_folder = self.GetTopLevelParent().get_root_folder()
     text = self.__get_selected_tab_text()
     if text.startswith(self.CHANGED_PREFIX):
         self.__set_selected_tab_text(text[1:])
         save_file(self.__file_path, self.txt_content.GetValue())
         formatted_exc = check_file_for_errors(self.__file_path,
                                               root_folder)
         if formatted_exc:
             show_error_dialog(self, formatted_exc, u'File contains errors')
Пример #4
0
 def save_file(self):
     root_folder = self.GetTopLevelParent().get_root_folder()
     text = self.__get_selected_tab_text()
     if text.startswith(self.CHANGED_PREFIX):
         self.__set_selected_tab_text(text[1:])
         save_file(self.__file_path, self.txt_content.GetValue())
         formatted_exc = check_file_for_errors(self.__file_path,
                                               root_folder)
         if formatted_exc:
             show_error_dialog(self, formatted_exc, u'File contains errors')
Пример #5
0
    def __load_tests_to_tree(self, file_paths=None, dir_path=None):
        if file_paths:
            python_files = file_paths
        elif dir_path:
            python_files = [f for f in get_list_of_files(dir_path, True)]
        else:
            python_files = []

        python_files = [
            f for f in python_files if 'test' in os.path.basename(f)
            and os.path.splitext(f)[-1] == '.py'
        ]
        if len(python_files) > 0:
            syspath = list(os.sys.path)
            try:
                root_folder = self.__get_safe_path_from_root_folder()

                if root_folder not in os.sys.path:
                    os.sys.path.append(root_folder)

                checkbox_type = 1
                self.tree_ctrl.DeleteAllItems()
                root = self.tree_ctrl.AddRoot('All test cases', checkbox_type)

                for python_file in python_files:
                    top_item = self.tree_ctrl.AppendItem(
                        root, os.path.abspath(python_file), checkbox_type)

                    parsed_classes = ParsedClass.get_parsed_classes(
                        python_file)
                    for parsed_class in parsed_classes:
                        item = self.tree_ctrl.AppendItem(
                            top_item, parsed_class.name, checkbox_type)

                        test_methods = [
                            k for k in parsed_class.methods.keys()
                            if k.startswith('test_')
                        ]
                        for tc_name in test_methods:
                            self.tree_ctrl.AppendItem(item, tc_name,
                                                      checkbox_type)

                self.tree_ctrl.ExpandAll()
            except Exception:
                show_error_dialog(self, traceback.format_exc(),
                                  'Cannot add test cases')
            finally:
                os.sys.path = syspath
Пример #6
0
    def __load_tests_to_tree(self, file_paths=None, dir_path=None):
        if file_paths:
            python_files = file_paths
        elif dir_path:
            python_files = [f for f in get_list_of_files(dir_path, True)]
        else:
            python_files = []

        python_files = [f for f in python_files
                        if 'test' in os.path.basename(f) and os.path.splitext(f)[-1] == '.py']
        if len(python_files) > 0:
            syspath = list(os.sys.path)
            try:
                root_folder = self.__get_safe_path_from_root_folder()

                if root_folder not in os.sys.path:
                    os.sys.path.append(root_folder)

                checkbox_type = 1
                self.tree_ctrl.DeleteAllItems()
                root = self.tree_ctrl.AddRoot('All test cases', checkbox_type)

                for python_file in python_files:
                    top_item = self.tree_ctrl.AppendItem(root, os.path.abspath(python_file), checkbox_type)

                    parsed_classes = ParsedClass.get_parsed_classes(python_file)
                    for parsed_class in parsed_classes:
                        item = self.tree_ctrl.AppendItem(top_item, parsed_class.name, checkbox_type)

                        test_methods = [k for k in parsed_class.methods.keys() if k.startswith('test_')]
                        for tc_name in test_methods:
                            self.tree_ctrl.AppendItem(item, tc_name, checkbox_type)

                self.tree_ctrl.ExpandAll()
            except Exception:
                show_error_dialog(self,
                                  traceback.format_exc(),
                                  'Cannot add test cases')
            finally:
                os.sys.path = syspath
Пример #7
0
    def __open_url(self, evt):
        url = self.__txt_url.GetValue()
        if StringUtils.is_url_correct(url):
            self.bth_open_url.Disable()

            name = self.get_browser_initials()

            try:
                if self.__browser and self.__browser.get_browser_initials() != name:
                    self.__browser.quit()
                    self.__browser = Browser(name)
                elif not self.__browser:
                    self.__browser = Browser(name)
            except Exception:
                show_error_dialog(self, traceback.format_exc(), u'Failed to open browser')
                self.__browser = None

            if self.__browser:
                self.__browser.open(url)
            # TODO: if generator or selector -> load image
            self.bth_open_url.Enable()
        else:
            show_dialog(self, u'Bad url: %s' % url, u'Bad url')