Example #1
0
    def get_events(self, title, name, result, event):
        if event == "once":
            model = result['model']
            if model != []:
                data = model[0]
                events = data["events"]
            else:
                return False
        else:
            events = result["data"]
            print(events)

        if events != []:
            for i in events:
                print(i)
                print("name:{}".format(name))

                if i["title"] == name:
                    if title == "獲取事件id":
                        config.set("api", 'eventid', i["id"])
                    print("要編輯的事件id是:{}".format(config.get("api", 'eventid')))
                    return True
                else:
                    return False
        else:
            return False
Example #2
0
 def replace_name(self, title):
     before_code = re.match('^2.*款(\d+)$', config.get('api', 'oaname'),
                            re.S).group(1)
     print(before_code)
     if title == '戶名唯一性校驗':
         name = config.get('api', 'oaname')
     else:
         name = config.get('api', 'oaname')[:18] + str(int(before_code) + 1)
         config.set('api', 'oaname', name)
     return name
Example #3
0
    def replace_name(self,prename):
        before_code = re.match('^.*?(\d+)$', config.get('api', 'oaname')).group(1)
        # print("提取出來的測試編號:{}".format(before_code))
        keywords= re.search('(.*[\u4e00-\u9fa5]+)',config.get('api','oaname')).group(1)
        # print(提取出來的測試前綴:{}".format(keywords))
        name = keywords + str(int(before_code) + 1)
        config.set('api', 'oaname', name)

        if prename is not None:
            config.set('api','prename',name)

        return name
Example #4
0
    def getapprover(self):
        data1=config.get("edit_ap","groupoption")
        approvers=eval(data1)["approvalUserOptions"]
        data2=config.get("edit_ap","categoryoption")
        options=eval(data2)["approvalFlowOptions"]
        print(type(options[0]))
        n = 1
        for i in options:
            m = 1
            if i["approvalType"]=="AND":
                for j in approvers:
                    name="approver"+str(m + 10*n)
                    config.set("edit_ap",name,j["cnName"])
                    m += 1
                    print(j["cnName"])
            else:
                for j in approvers:
                    name = "approver" + str(m + 10*n)
                    config.set("edit_ap", name, j["cnName"])
                    break

            n+=1
Example #5
0
def replace(data):
    p = '#(.*?)#'
    while re.search(p, data):
        data_new = re.search(p, data).group(1)
        try:
            try:
                da = config.get('api', data_new)
            except Exception as e:
                da = config.get('edit_ap', data_new)
        except configparser.NoOptionError as e:
            try:
                da = config.get('setting', data_new)
                config.set('setting', 'status',
                           re.search('([a-zA-Z]+)', data_new).group(1))
            except Exception as e:
                if hasattr(Context, data_new):
                    da = str(getattr(Context, data_new))
                else:
                    print("找不到参数信息!")
                    raise e
        data = re.sub(p, da, data, count=1)  #查找替換,count查找替換的次數
    return data
Example #6
0
def gettype(title, data):
    if title == "獲取部門id":
        ids = getid(config.get('api', 'group'), data)
        try:
            config.set("api", "groupid", ids[0])
        except Exception as e:
            print("列表爲空,ids[0]溢出!")
            raise e

    elif title == "獲取hr通知部門id":
        ids = getid(config.get('api', 'hrgroups'), data)
        config.set("api", "hrgroupsid", ids)

    elif title == "獲取教師id":
        ids = getid(config.get('api', 'teachers'), data)
        try:
            config.set("api", "teacherid", ids[0])
            config.set("api", "teacher",
                       eval(config.get('api', 'teachers'))[0])
        except Exception as e:
            print("列表爲空,ids[0]溢出!")
            raise e
Example #7
0
            self.oaname.replace_name(case.title)
            case.json = replace(case.json)
        case.headers = replace(case.headers)
        resp = self.dohttp.dohttp(json=case.json,
                                  data=case.data,
                                  url=case.url,
                                  method=case.method,
                                  headers=case.headers)
        actual = resp.json()['success']
        print("測試結果:{}".format(actual))
        print("傳入的json:{}".format(case.json))
        print("傳入的url:{}".format(case.url))
        print("傳入的title:{}".format(case.title))
        msg = resp.json()['errorMsg']
        print("報錯信息:{}".format(msg))
        self.do_excel.write_excel(case.id + 1, actual, 'FALSE', msg)

        try:
            self.unit.assertEqual(case.expect, actual)
            self.do_excel.write_excel(case.id + 1, actual, 'PASS')
        except AssertionError as e:
            print("粗錯了!")
            raise e
        if case.title == "獲取授權碼" and resp.json()['model']['accessToken']:
            config.set('api', 'token', resp.json()['model']['accessToken'])
            print("打印token:{}".format(getattr(Context, 'token')))

    @classmethod
    def tearDownClass(cls):
        cls.dohttp.close()
Example #8
0
 def get_approveid(self, get_section, get_option, set_section, set_option,
                   data):
     for i in data:
         if i['title'] == config.get(get_section, get_option):
             config.set(set_section, set_option, i['id'])
Example #9
0
 def __init__(self):
     now_time = time.strftime('%Y-%m-%d')
     name = now_time  + '澳科大-日程测试1'
     if now_time not in config.get('api','oaname'):
         config.set('api','oaname',name)
Example #10
0
        print("傳入的url:{}".format(case.url))
        print("傳入的title:{}".format(case.title))
        print("打印token:{}".format(getattr(Context, 'token')))

        try:
            self.unit.assertEqual(case.expect, actual)
            self.do_excel.write_excel(case.id + 1, actual, 'PASS')
        except AssertionError as e:
            msg = resp.json()['errorMsg']
            print("報錯信息:{}".format(msg))
            self.do_excel.write_excel(case.id + 1, actual, 'FALSE')
            raise e  #沒有寫這個只會顯示用例執行次數,寫之後控制台顯示有誤信息

        if case.title == "獲取授權碼" and resp.json()['model']['accessToken']:
            # setattr(Context,'token',resp.json()['model']['accessToken'])
            config.set('api', 'token', resp.json()['model']['accessToken'])
            print("打印token:{}".format(getattr(Context, 'token')))
        elif case.title == "获取开户结算银行、帐户、户名信息":
            data = resp.json()['data']
            config.set('api', 'bankAccountName', data[0]['bankAccountName'])
            config.set('api', 'bankAccount', data[0]['bankAccount'])
            config.set('api', 'bankName', data[0]['bankName'])
        else:
            id = gettype(case.title, resp.json()['data'])
            print(id)
            print("打印{0}:{1}".format(id[0], config.get('api', id[0])))

    @classmethod
    def tearDownClass(cls):
        cls.dohttp.close()