Example #1
0
def on_click(x, y, button, pressed):
    if pressed:
        global last_click, previous_click

        last_click = time.time()
        if previous_click is None:
            previous_click = last_click
            clicks.append(Click(x, y, 0.8))
        else:
            clicks.append(Click(x, y, last_click - previous_click))

        previous_click = last_click
Example #2
0
class Unapproved(unittest.TestSuite):
    click = Click()
    returnpage = Returnpage()

    def __init__(self):
        pass

    def unapproved(self):
        try:
            try:
                base.name_click(u'待审批需求')
            except BaseException:
                try:
                    base.name_click(u'服务台')
                    base.name_click(u'待审批需求')
                except BaseException:
                    base.name_click(u'工作')
                    base.name_click(u'服务台')
                    base.name_click(u'待审批需求')
            sleep(2)
            try:
                base.id_click(
                    'com.facilityone.product.shang:id/un_check_demand_main_rl')
                no = base.id_text(
                    'com.facilityone.product.shang:id/service_demand_item_id_describe_tv'
                )
            except BaseException:
                Unapproved.returnpage.returnpage()
                no = '无待审批需求'
            return no
        except BaseException:
            self.assertEqual(0, 1, "服务台待审批模块,详情进入测试未通过")

    def Pass(self):
        try:
            Unapproved.click.click()
            base.name_click('审批')
            base.id_sendkey(
                'com.facilityone.product.shang:id/work_order_verify_content_et',
                '审批通过一下')
            base.id_click(
                'com.facilityone.product.shang:id/work_order_verify_sure_btn')
            Unapproved.returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "服务台待审批模块,审批通过测试未通过")

    def refuse(self):
        Unapproved.click.click()
        base.name_click('审批')
        base.id_sendkey(
            'com.facilityone.product.shang:id/work_order_verify_content_et',
            '审批不通过')
        base.id_click(
            'com.facilityone.product.shang:id/work_order_verify_cancel_btn')
        Unapproved.returnpage.returnpage()
Example #3
0
class unapproved(unittest.TestSuite):
    click=Click()
    def __init__(self):
        pass
    def unapproved(self,no):
         try:
             cp = configparser.SafeConfigParser()
             cp.read('base.ini', encoding='utf-8')
             try:
                 base.name_click(u'待审批工单')
             except BaseException:
                 try:
                     base.name_click(u'工单')
                     base.name_click(u'待审批工单')
                 except BaseException:
                     base.name_click(u'工作')
                     base.name_click(u'工单')
                     base.name_click(u'待审批工单')
             sleep(2)
             base.name_click(no)
         except BaseException:
             self.assertEqual(0, 1, "工单待审批模块,进入详情测试未通过")
    def refuse(self):
        try:
            sleep(3)
            i = random.randint(0, 1000)
            try:
                base.name_click('审批')
            except BaseException:
                base.driver.implicitly_wait(300)
                unapproved.click.click()
                base.driver.implicitly_wait(0)
                base.name_click('审批')
            base.id_sendkey('com.facilityone.product.shang:id/work_order_verify_content_et', '审批拒绝原因' + str(i))
            base.name_click('拒绝')
        except BaseException:
            self.assertEqual(0, 1, "工单待审批模块,审批拒绝测试未通过")
    def Pass(self):
        try:
            sleep(3)
            i = random.randint(0, 1000)
            try:
                base.name_click('审批')
            except BaseException:
                base.driver.implicitly_wait(300)
                unapproved.click.click()
                base.driver.implicitly_wait(0)
                base.name_click('审批')
            base.id_sendkey('com.facilityone.product.shang:id/work_order_verify_content_et', '审批通过原因' + str(i))
            base.name_click('通过')
        except BaseException:
            self.assertEqual(0, 1, "工单待审批模块,审批通过测试未通过")
Example #4
0
class PaymentQuery(unittest.TestSuite):
    DropDown=DropDown()
    Returnpage=Returnpage()
    Click=Click()
    def query(self,Y,M):
        try:
            cp = configparser.SafeConfigParser()
            cp.read('base.ini', encoding='utf-8')
            try:
                base.name_click(u'缴费单查询')
            except BaseException:
                try:
                    base.name_click(u'缴费管理')
                    base.name_click(u'缴费单查询')
                except BaseException:
                    base.name_click(u'工作')
                    sleep(1)
                    PaymentQuery.DropDown.dropDown()
                    base.name_click(u'缴费管理')
                    base.name_click(u'缴费单查询')
            Y1 = int(datetime.now().strftime('%Y'))
            M1 = int(datetime.now().strftime('%m'))
            j = int(Y1) - int(Y)
            i = int(M1) - int(M)
            k = j * 12 - i
            print(str(Y1) + ',' + str(M1) + ',' + str(k))
            if k > 0:
                for m in range(abs(k)):
                    sleep(1)
                    base.id_click('com.facilityone.product.shang:id/s_history_next_iv')
            else:
                for m in range(abs(k)):
                    sleep(1)
                    base.id_click('com.facilityone.product.shang:id/s_history_pre_iv')
            for z in range(1000):
                try:
                    base.name_click(cp.get('payment', 'paid'))
                    break
                except BaseException:
                    PaymentQuery.DropDown.dropDown()
            sleep(2)
            PaymentQuery.DropDown.dropDown()
            PaymentQuery.Returnpage.returnpage()
            PaymentQuery.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "缴费单查询模块,测试未通过")
Example #5
0
class Refunds(unittest.TestSuite):
    DropDown=DropDown()
    Returnpage=Returnpage()
    Click=Click()
    def refunds(self):
        try:
            cp = configparser.SafeConfigParser()
            cp.read('base.ini', encoding='utf-8')
            try:
                base.name_click(u'退款单管理')
            except BaseException:
                try:
                    base.name_click(u'缴费管理')
                    base.name_click(u'退款单管理')
                except BaseException:
                    base.name_click(u'工作')
                    sleep(1)
                    Refunds.DropDown.dropDown()
                    base.name_click(u'缴费管理')
                    base.name_click(u'退款单管理')
            for i in range(100):
                try:
                    base.name_click(cp.get('payment', 'refunds'))
                    break
                except BaseException:
                    Refunds.DropDown.dropDown()
            Refunds.Click.click()
        except BaseException:
            self.assertEqual(0, 1, "退费单管理模块,测试未通过")

    def close(self):
        try:
           base.name_click('关闭')
           base.name_click('确定')
           Refunds.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "缴费单查询模块,关闭测试未通过")
Example #6
0
class unevaluated(unittest.TestSuite):
    click = Click()
    returnPage = Returnpage()
    dropdown = DropDown()

    def __init__(self):
        pass

    def unevaluated(self, no):
        try:
            try:
                base.name_click(u'待评价需求')
            except BaseException:
                try:
                    base.name_click(u'服务台')
                    base.name_click(u'待评价需求')
                except BaseException:
                    base.name_click(u'工作')
                    base.name_click(u'服务台')
                    base.name_click(u'待评价需求')
            sleep(2)
            for i in range(100):
                try:
                    base.name_click(no)
                    break
                except BaseException:
                    unevaluated.dropdown.dropDown()
            unevaluated.click.click()
            base.name_click(u'满意度')
            base.id_sendkey(
                'com.facilityone.product.shang:id/service_demand_satisfy_content_et',
                '测试评价')
            base.name_click(u'评价')
            unevaluated.returnPage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "待评价需求模块,测试未通过")
Example #7
0
class Paid(unittest.TestSuite):
    DropDown = DropDown()
    Returnpage = Returnpage()
    Click = Click()

    def __init__(self):
        pass

    def paid(self):
        try:
            cp = configparser.SafeConfigParser()
            cp.read('base.ini', encoding='utf-8')
            try:
                base.name_click(u'已缴费单')
            except BaseException:
                try:
                    base.name_click(u'缴费管理')
                    base.name_click(u'已缴费单')
                except BaseException:
                    base.name_click(u'工作')
                    sleep(1)
                    Paid.DropDown.dropDown()
                    base.name_click(u'缴费管理')
                    base.name_click(u'已缴费单')
            for i in range(100):
                try:
                    base.name_click(cp.get('payment', 'paid'))
                    break
                except BaseException:
                    Paid.DropDown.dropDown()
            time = base.id_text(
                'com.facilityone.product.shang:id/epayment_detail_create_time_tv'
            )
            Paid.Click.click()
            return time
        except BaseException:
            self.assertEqual(0, 1, "已缴费单模块,测试未通过")

    def close(self):
        try:
            base.name_click('关闭')
            base.id_sendkey(
                'com.facilityone.product.shang:id/work_order_verify_content_et',
                '缴费关闭')
            base.id_click(
                'com.facilityone.product.shang:id/work_order_verify_sure_btn')
        except BaseException:
            self.assertEqual(0, 1, "已缴费单模块,关闭测试未通过")

    def refund(self):
        try:
            base.name_click('退款')
            phone = base.id_text(
                'com.facilityone.product.shang:id/edit_item_content_et')
            if phone == "" or phone == None:
                base.id_sendkey(
                    'com.facilityone.product.shang:id/edit_item_content_et',
                    '15542540563')
            Paid.DropDown.dropDown()
            Paid.DropDown.dropDown()
            base.id_sendkey(
                'com.facilityone.product.shang:id/multi_input_content_et',
                '退款')
            base.driver.tap([(102, 1114)], 1)
            base.name_click('从相册中选择')
            base.id_click('com.facilityone.product.shang:id/cb_photo_lpsi')
            base.name_click('确定')
            base.name_click('提交')
            Paid.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "已缴费单模块,退款测试未通过")
Example #8
0
class Management(unittest.TestCase):
    DropDown =DropDown()
    Returnpage=Returnpage()
    click=Click()
    # def __init__(self):
    #     pass
    def management(self):
        try:
            try:
                base.name_click(u'合同管理')
            except BaseException:
                try:
                    base.name_click(u'合同管理')
                    base.name_click(u'合同管理')
                except BaseException:
                    base.name_click(u'工作')
                    sleep(1)
                    Management.DropDown.dropDown()
                    base.name_click(u'合同管理')
                    base.name_click(u'合同管理')
            sleep(5)
        except BaseException:
           self.assertEqual(0, 1, "合同管理模块,进入详情测试未通过")
    def activity(self,manage):
        for i in range(100):
            try:
                base.name_click(manage)
                break
            except BaseException:
                Management.DropDown.dropDown()
    # 终止操作
    def terminate(self):
        try:
            Management.click.click()
            i = random.randint(0, 1000)
            base.name_click('终止')
            base.id_sendkey('com.facilityone.product.shang:id/adjust_inventory_batch_num_et', '终止' + str(i))
            base.id_click('com.facilityone.product.shang:id/inventory_pass_btn')
            Management.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "合同模块,终止测试未通过")

    #     恢复操作
    def recovery(self):
        try:
            Management.click.click()
            i = random.randint(0, 1000)
            base.name_click('恢复')
            base.id_sendkey('com.facilityone.product.shang:id/adjust_inventory_batch_num_et', '恢复' + str(i))
            base.id_click('com.facilityone.product.shang:id/inventory_pass_btn')
            Management.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "合同模块,恢复测试未通过")
    # 存档操作
    def archive(self):
        try:
            Management.click.click()
            sleep(2)
            base.name_click('存档')
            sleep(2)
            Management.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "合同模块,存档测试未通过")
    def acceptPass(self):
        try:
            Management.click.click()
            i = random.randint(0, 1000)
            base.name_click('验收')
            base.id_sendkey('com.facilityone.product.shang:id/multi_input_content_et', '验收通过' + str(i))
            base.name_click('验收')
            sleep(2)
            base.name_click('通过')
            Management.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "合同模块,验收通过测试未通过")
    def acceptReject(self):
        try:
            Management.click.click()
            i = random.randint(0, 1000)
            base.name_click('验收')
            base.id_sendkey('com.facilityone.product.shang:id/multi_input_content_et', '验收不通过' + str(i))
            base.name_click('验收')
            sleep(2)
            base.name_click('不通过')
            Management.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "合同模块,验收不通过测试未通过")
Example #9
0
class completed(unittest.TestSuite):
    click=Click()
    def __init__(self):
        pass
    def uncompleted(self,no):
        try:
            cp = configparser.SafeConfigParser()
            cp.read('base.ini', encoding='utf-8')
            sleep(1)
            try:
                base.name_click(u'待处理工单')
            except BaseException:
                try:
                    base.name_click(u'工单')
                    base.name_click(u'待处理工单')
                except BaseException:
                    base.name_click(u'工作')
                    base.name_click(u'工单')
                    base.name_click(u'待处理工单')
            sleep(2)
            base.name_click(no)
        except BaseException:
            self.assertEqual(0, 1, "工单待处理模块,进入详情测试未通过")

    def receive(self):
        try:
            base.driver.implicitly_wait(300)
            completed.click.click()
            base.driver.implicitly_wait(0)
            base.name_click('接单')
        except BaseException:
            self.assertEqual(0, 1, "工单待处理模块,接单测试未通过")
    def completed(self):
        try:
            base.driver.implicitly_wait(300)
            completed.click.click()
            base.driver.implicitly_wait(0)
            base.name_click('处理完成')
        except BaseException:
            self.assertEqual(0, 1, "工单待处理模块,完成测试未通过")
    def pausecon(self):
        try:
            sleep(3)
            i = random.randint(0, 1000)
            try:
                base.name_click('暂停')
            except BaseException:
                base.driver.implicitly_wait(300)
                completed.click.click()
                base.driver.implicitly_wait(0)
                base.name_click('暂停')
            base.id_sendkey('com.facilityone.product.shang:id/work_order_verify_content_et', '暂停继续' + str(i))
            base.name_click('继续工作')
        except BaseException:
            self.assertEqual(0, 1, "待处理模块,暂停继续工作测试未通过")
    def con(self):
        try:
            sleep(3)
            base.driver.implicitly_wait(300)
            completed.click.click()
            base.driver.implicitly_wait(0)
            base.name_click('继续工作')
        except BaseException:
            self.assertEqual(0, 1, "工单待处理模块,继续工作测试未通过")
    def pausenotcon(self):
        try:
            sleep(3)
            i = random.randint(0, 1000)
            try:
                base.name_click('暂停')
            except BaseException:
                base.driver.implicitly_wait(300)
                completed.click.click()
                base.driver.implicitly_wait(0)
                base.name_click('暂停')
            base.id_sendkey('com.facilityone.product.shang:id/work_order_verify_content_et', '暂停不继续' + str(i))
            base.name_click('不继续工作')
        except BaseException:
            self.assertEqual(0, 1, "工单待处理模块,暂停不继续工作测试未通过")
    def stop(self):
        try:
            sleep(3)
            try:
                base.name_click('终止')
            except BaseException:
                base.driver.implicitly_wait(300)
                completed.click.click()
                base.driver.implicitly_wait(0)
                base.name_click('终止')
            i = random.randint(0, 1000)
            base.id_sendkey('com.facilityone.product.shang:id/work_order_verify_content_et', '终止原因' + str(i))
            base.name_click('终止')
        except BaseException:
            self.assertEqual(0, 1, "工单待处理模块,终止测试未通过")

    def Return(self):
        try:
            sleep(3)
            try:
                base.name_click('退单')
            except BaseException:
                base.driver.implicitly_wait(300)
                completed.click.click()
                base.driver.implicitly_wait(0)
                base.name_click('退单')
            i = random.randint(0, 1000)
            base.id_sendkey('com.facilityone.product.shang:id/work_order_verify_content_et', '退单原因' + str(i))
            sleep(1)
            base.id_click('com.facilityone.product.shang:id/work_order_verify_sure_btn')
        except BaseException:
            self.assertEqual(0, 1, "工单待处理模块,退单测试未通过")
    def apply(self):
        try:
            sleep(3)
            cp = configparser.SafeConfigParser()
            cp.read('base.ini', encoding='utf-8')
            try:
                base.name_click('审批申请')
            except BaseException:
                base.driver.implicitly_wait(300)
                completed.click.click()
                base.driver.implicitly_wait(0)
                base.name_click('审批申请')
            i = random.randint(0, 1000)
            base.id_sendkey('com.facilityone.product.shang:id/multi_input_content_et', '审批事由' + str(i))
            base.id_click('com.facilityone.product.shang:id/apply_approval_person_add_btn')
            base.id_sendkey('com.facilityone.product.shang:id/search_edit_text', cp.get('login', 'realname'))
            base.id_click('com.facilityone.product.shang:id/person_search_person_item_select_status_cb')
            base.name_click('确定')
            base.name_click('提交')
        except BaseException:
            self.assertEqual(0, 1, "工单待处理模块,审批申请测试未通过")
Example #10
0
class assigned(unittest.TestSuite):
    click=Click()
    def __init__(self):
        pass
    def assigned(self,inf):
        try:
            try:
                base.name_click(u'待派工工单')
            except BaseException:
                try:
                    base.name_click(u'工单')
                    base.name_click(u'待派工工单')
                except BaseException:
                    base.name_click(u'工作')
                    base.name_click(u'工单')
                    base.name_click(u'待派工工单')
            base.driver.implicitly_wait(300)
            base.name_click(inf)
            sleep(4)
            no = base.driver.find_element_by_xpath(
                '/hierarchy/android.widget.FrameLayout/cn.bingoogolapple.swipebacklayout.BGASwipeBackLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[1]/android.view.ViewGroup/android.widget.LinearLayout/android.widget.TextView').text
            base.driver.implicitly_wait(0)
            print(no)
            return no
        except BaseException:
            self.assertEqual(0, 1, "工单待派工模块,进入详情测试未通过")

    #    派工
    def assign(self):
        try:
            sleep(3)
            cp = configparser.SafeConfigParser()
            cp.read('base.ini', encoding='utf-8')
            try:
                base.name_click('派工')
            except BaseException:
                base.driver.implicitly_wait(300)
                assigned.click.click()
                base.driver.implicitly_wait(0)
                # 设置预计时间
                base.name_click('派工')
            # base.id_click('com.facilityone.product.shang:id/home_work_order_arrange_begin_time_ll')
            # base.name_click('确定')
            # StartTime=base.id_text('com.facilityone.product.shang:id/edit_item_content_tv')
            # base.id_click('com.facilityone.product.shang:id/home_work_order_arrange_end_time_ll')
            # base.name_click('确定')
            # EndTime=base.id_text('com.facilityone.product.shang:id/edit_item_content_tv')
            base.id_click('com.facilityone.product.shang:id/apply_approval_person_add_btn')
            base.id_sendkey('com.facilityone.product.shang:id/search_edit_text', cp.get('login', 'realname'))
            base.id_click('com.facilityone.product.shang:id/person_search_person_item_select_status_cb')
            sleep(1)
            base.name_click('确定')
            i = random.randint(0, 1000)
            base.id_sendkey('com.facilityone.product.shang:id/send_wo_content_et', '派发内容测试' + str(i))
            base.name_click('派工')
        except BaseException:
            self.assertEqual(0, 1, "工单待派工模块,派工测试未通过")

    #     终止
    def stop(self):
        try:
            sleep(3)
            try:
                base.name_click('终止')
            except BaseException:
                base.driver.implicitly_wait(300)
                assigned.click.click()
                base.driver.implicitly_wait(0)
                base.name_click('终止')
            i = random.randint(0, 1000)
            base.id_sendkey('com.facilityone.product.shang:id/work_order_verify_content_et', '终止原因' + str(i))
            base.name_click('终止')
        except BaseException:
            self.assertEqual(0, 1, "工单待派工模块,终止测试未通过")

    #     审批
    def apply(self):
       try:
           sleep(3)
           cp = configparser.SafeConfigParser()
           cp.read('base.ini', encoding='utf-8')
           try:
               base.name_click('审批申请')
           except BaseException:
               base.driver.implicitly_wait(300)
               assigned.click.click()
               base.driver.implicitly_wait(0)
               base.name_click('审批申请')
           i = random.randint(0, 1000)
           base.id_sendkey('com.facilityone.product.shang:id/multi_input_content_et', '审批事由' + str(i))
           base.id_click('com.facilityone.product.shang:id/apply_approval_person_add_btn')
           base.id_sendkey('com.facilityone.product.shang:id/search_edit_text', cp.get('login', 'realname'))
           base.id_click('com.facilityone.product.shang:id/person_search_person_item_select_status_cb')
           base.name_click('确定')
           base.name_click('提交')
       except BaseException:
           self.assertEqual(0, 1, "工单待派工模块,审批申请测试未通过")
Example #11
0
class Unpaid(unittest.TestSuite):
    DropDown = DropDown()
    Returnpage = Returnpage()
    click = Click()

    def __init__(self):
        pass

    def unpaid(self, time):
        try:
            cp = configparser.SafeConfigParser()
            cp.read('base.ini', encoding='utf-8')
            try:
                base.name_click(u'待缴费单')
            except BaseException:
                try:
                    base.name_click(u'缴费管理')
                    base.name_click(u'待缴费单')
                except BaseException:
                    base.name_click(u'工作')
                    sleep(1)
                    Unpaid.DropDown.dropDown()
                    base.name_click(u'缴费管理')
                    base.name_click(u'待缴费单')
            for i in range(100):
                try:
                    base.name_click(time)
                    break
                except BaseException:
                    Unpaid.DropDown.dropDown()
            Unpaid.click.click()
        except BaseException:
            self.assertEqual(0, 1, "待缴费单模块,测试未通过")

    def pay(self):
        try:
            base.name_click('支付')
            base.name_click('线下支付(现金)')
            Unpaid.DropDown.dropDown()
            i = random.randint(1, 1000)
            base.id_sendkey(
                'com.facilityone.product.shang:id/multi_input_content_et',
                '缴费支付' + str(i))
            base.driver.tap([(102, 1114)], 1)
            base.id_click(
                'com.facilityone.product.shang:id/write_order_photo_tv')
            base.driver.implicitly_wait(300)
            base.id_click('com.facilityone.product.shang:id/cb_photo_lpsi')
            base.driver.implicitly_wait(0)
            base.name_click('确定')
            base.driver.implicitly_wait(300)
            base.name_click('确定')
            base.driver.implicitly_wait(0)
            Unpaid.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "待缴费单模块,支付测试未通过")

    def invalid(self):
        try:
            base.name_click('作废')
            i = random.randint(0, 1000)
            base.id_sendkey(
                'com.facilityone.product.shang:id/work_order_verify_content_et',
                '作废' + str(i))
            base.id_click(
                'com.facilityone.product.shang:id/work_order_verify_sure_btn')
            Unpaid.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "待缴费单模块,作废测试未通过")
Example #12
0
class uncompleted(unittest.TestSuite):
    woCreate = WCreated()
    Returnpage = Returnpage()
    dropdown = DropDown()
    click = Click()

    def __init__(self):
        super().__init__()

    def uncompleted(self, inf):
        try:
            try:
                base.name_click(u'待处理需求')
            except BaseException:
                try:
                    base.name_click(u'服务台')
                    base.name_click(u'待处理需求')
                except BaseException:
                    base.name_click(u'工作')
                    base.name_click(u'服务台')
                    base.name_click(u'待处理需求')
            sleep(2)
            for i in range(100):
                try:
                    base.name_click(inf)
                    break
                except BaseException:
                    uncompleted.dropdown.dropDown()
            sleep(1)
            #        数据信息没验证
            no = base.id_text(
                'com.facilityone.product.shang:id/service_demand_item_id_describe_tv'
            )
            # print(no)
            return no
        except BaseException:
            self.assertEqual(0, 1, "待处理需求模块,测试未通过")

    def wo(self, no):
        try:
            # 创建工单
            cp = configparser.SafeConfigParser()
            cp.read('base.ini', encoding='utf-8')
            try:
                uncompleted.click.click()
            except BaseException:
                base.name_click(no)
                uncompleted.click.click()
            sleep(2)
            base.name_click(u'生成工单')
            # 信息未验证
            uncompleted.woCreate.create('需求')
            uncompleted.Returnpage.returnpage()
            sleep(1)
            uncompleted.Returnpage.returnpage()
        except BaseException:
            self.assertEqual(0, 1, "待处理需求模块,需求创建工单测试未通过")

    def save(self, no):
        try:
            i = random.randint(0, 1000)
            try:
                base.id_click(
                    'com.facilityone.product.shang:id/service_demand_item_handle_content_add_iv'
                )
            except BaseException:
                base.name_click(no)
                base.id_click(
                    'com.facilityone.product.shang:id/service_demand_item_handle_content_add_iv'
                )
            base.name_sendkey('请输入处理內容', '测试工作内容' + str(i))
            base.name_click(u'保存')
            uncompleted.click.click()
            base.name_click(u'保存')
        except:
            self.assertEqual(0, 1, "待处理需求模块,保存测试未通过")

    def complete(self, no):
        try:
            try:
                uncompleted.click.click()
            except BaseException:
                base.name_click(no)
                uncompleted.click.click()
            base.name_click(u'完成')
            try:
                detail = base.id_text(
                    'com.facilityone.product.shang:id/actionbar_title_tv')
                if detail == "需求详情":
                    print('该需求存在工单未完成')
                uncompleted.Returnpage.returnpage()
            except BaseException:
                print('需求已完成')
        except BaseException:
            self.assertEqual(0, 1, "待处理需求模块,完成测试未通过")