Beispiel #1
0
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(
            self.ZHSQ_URL, maximize_window=True)
        self.menu_page = MenuPage(self.login_page)
        self.guard_add_page = GuardAddPage(self.login_page)
        self.guard_find_page = GuardFindPage(self.login_page)
        self.guard_edit_page = GuardEditPage(self.login_page)
        self.guard_del_page = GuardDelPage(self.login_page)
        self.guard_restart_page = GuardRestartPage(self.login_page)
        try:
            #遗留问题,先录入账号再勾选协议找不到元素
            #原因可能是因为倒计时,导致页面有动态元素
            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait(3)
            self.menu_page.click_deviceManage()
            self.menu_page.click_accessContro()
            self.menu_page.wait()

        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" % msg)
            raise
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(
            self.ZHSQ_URL, maximize_window=True)
        self.house_add_page = HouseAddPage(self.login_page)
        self.house_find_page = HouseFindPage(self.login_page)
        self.house_del_page = HouseDelPage(self.login_page)
        self.house_edit_page = HouseEditPage(self.login_page)

        try:

            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait()
            self.house_add_page.click_chooseModTree()
            self.house_add_page.click_chooseHouseManageTree()
            self.house_add_page.wait()
        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" % msg)
            raise
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(
            self.ZHSQ_URL, maximize_window=True)
        self.menu_page = MenuPage(self.login_page)
        self.tenant_find_page = TenantFindPage(self.login_page)
        self.tenant_add_page = TenantAddPage(self.login_page)
        self.tenant_edit_page = TenantEditPage(self.login_page)
        self.tenant_xuyue_page = TenantXuyuePage(self.login_page)
        self.tenant_del_page = TenantDelPage(self.login_page)
        try:
            #遗留问题,先录入账号再勾选协议找不到元素
            #原因可能是因为倒计时,导致页面有动态元素
            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait(3)
            self.menu_page.click_householdManage()
            self.menu_page.click_tenantManage()
            self.menu_page.wait()

        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" % msg)
            raise
Beispiel #4
0
class TestGuardManage(unittest.TestCase):
    ZHSQ_URL = Config().get('ZHSQ_URL')
    userAcct = Config().get('userAcct')
    userPwd = Config().get('userPwd')
    smsCode = Config().get('smsCode')
    """
    @前置处理器
    description:登陆
    """
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(
            self.ZHSQ_URL, maximize_window=True)
        self.menu_page = MenuPage(self.login_page)
        self.guard_add_page = GuardAddPage(self.login_page)
        self.guard_find_page = GuardFindPage(self.login_page)
        self.guard_edit_page = GuardEditPage(self.login_page)
        self.guard_del_page = GuardDelPage(self.login_page)
        self.guard_restart_page = GuardRestartPage(self.login_page)
        try:
            #遗留问题,先录入账号再勾选协议找不到元素
            #原因可能是因为倒计时,导致页面有动态元素
            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait(3)
            self.menu_page.click_deviceManage()
            self.menu_page.click_accessContro()
            self.menu_page.wait()

        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" % msg)
            raise

    def tearDown(self):
        logger.info("----END---")
        self.login_page.quit()

    #新增门禁
    deviceName = time.strftime("%Y%m%d") + "测试门禁"
    sn = RandomString.gen_random_string(8)

    def test_addGuard(self):
        try:
            self.guard_add_page.click_addButton()
            self.guard_add_page.click_buildList()
            self.guard_add_page.click_chooseBuild()
            self.guard_add_page.click_unitList()
            self.guard_add_page.click_chooseUnit()
            self.guard_add_page.click_landMark()
            self.guard_add_page.click_submitLand()
            self.guard_add_page.input_deviceNames(self.deviceName)
            self.guard_add_page.input_sn(self.sn)
            self.guard_add_page.click_saveButton()
            msgStr = self.guard_add_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "添加成功", msg="添加设备失败")
            else:
                self.assertIsNotNone(msgStr, msg="设备添加元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_addGuard")
            logger.info("异常信息:%s" % msg)
            raise

    ## 查询租户byname
    def test_findGuard(self, guardName):
        try:
            self.guard_find_page.click_findButton()
            self.guard_find_page.input_guardName(guardName)
            self.guard_find_page.click_submitButton()
        except Exception as msg:
            self.login_page.save_screen_shot("test_findGuard")
            logger.info("异常信息:%s" % msg)
            raise

    ##编辑门禁
    editDeviceName = time.strftime("%Y%m%d") + "测试门禁编辑"

    def test_editGuard(self):
        TestGuardManage.test_findGuard(self, self.deviceName)
        try:
            self.guard_edit_page.click_editButton()
            self.guard_edit_page.input_deviceName(self.editDeviceName)
            self.guard_edit_page.click_saveButton()
            nameStr = self.guard_edit_page.find_element(
                By.XPATH,
                "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div[1]/div/div/div/div/div[1]/div/table/tbody/tr/td[2]"
            )
            if nameStr is not None:
                self.assertEqual(nameStr.text,
                                 self.editDeviceName,
                                 msg="编辑失败!")
            else:
                self.assertIsNotNone(nameStr, msg="元素获取失败,编辑error!")
        except Exception as msg:
            self.login_page.save_screen_shot("test_findGuard")
            logger.info("异常信息:%s" % msg)
            raise

    ## 删除门禁
    def test_delGuard(self):
        TestGuardManage.test_findGuard(self, self.editDeviceName)
        try:
            self.guard_del_page.click_delButton()
            self.guard_del_page.click_isYesButton()
            msgStr = self.guard_del_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "删除设备成功", msg="删除失败")
            else:
                self.assertIsNotNone(msgStr.text, msg="元素获取失败,删除失败了吧")
        except Exception as msg:
            self.login_page.save_screen_shot("test_delGuard")
            logger.info("异常信息:%s" % msg)
            raise

    ## 重启app
    def test_restartApp(self):
        TestGuardManage.test_findGuard(self, self.editDeviceName)
        try:
            self.guard_restart_page.click_appRestart()
            self.guard_restart_page.click_isYesButton()
            msgStr = self.guard_restart_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            logger.info(msgStr.text)
            if msgStr is not None:
                self.assertEqual(msgStr.text, "操作成功", msg="app重启失败")
            else:
                self.assertIsNotNone(msgStr.text, msg="元素获取失败,app重启失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_restartApp")
            logger.info("异常信息:%s" % msg)
            raise

    ## 重启guard
    def test_restartGuard(self):
        TestGuardManage.test_findGuard(self, self.editDeviceName)
        try:
            self.guard_restart_page.click_guardRestart()
            self.guard_restart_page.click_isYesButton()
            msgStr = self.guard_restart_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "操作成功", msg="门禁重启失败")
            else:
                self.assertIsNotNone(msgStr.text, msg="元素获取失败,门禁重启失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_restartGuard")
            logger.info("异常信息:%s" % msg)
            raise
Beispiel #5
0
class TestBuildManage(unittest.TestCase):
    ZHSQ_URL = Config().get('ZHSQ_URL')
    userAcct = Config().get('userAcct')
    userPwd = Config().get('userPwd')
    smsCode = Config().get('smsCode')
    """
    @前置处理器
    description:登陆
    """
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(
            self.ZHSQ_URL, maximize_window=True)
        self.build_add_page = BuildAddPage(self.login_page)
        self.build_find_page = BuildFindPage(self.login_page)
        self.build_edit_page = BuildEditPage(self.login_page)
        self.build_del_page = BuildDelPage(self.login_page)
        try:
            #遗留问题,先录入账号再勾选协议找不到元素
            #原因可能是因为倒计时,导致页面有动态元素
            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait(3)
            self.build_add_page.click_chooseModTree()
            self.build_add_page.click_chooseBuildManageTree()

        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" % msg)
            raise

    def tearDown(self):
        logger.info("----END---")
        self.login_page.quit()

    """
    @添加楼栋
    description:正常添加
    """
    buildingName = "天地社区"

    @unittest.skipUnless(True, "添加楼栋")
    def test_addBuild(self):
        try:
            #1line
            self.build_add_page.click_addButton()
            self.build_add_page.wait()

            self.build_add_page.input_buildingName(self.buildingName)
            self.build_add_page.input_buildingNo(2)
            self.build_add_page.input_unitNo(1)
            self.build_add_page.input_floorCount(8)
            self.build_add_page.input_roomCount(2)
            #2line
            self.build_add_page.click_addLine()
            self.build_add_page.input_unitNo2(2)
            self.build_add_page.input_floorCount2(8)
            self.build_add_page.input_roomCount2(2)
            #操作保存
            self.build_add_page.click_saveButton()
            self.build_add_page.wait()
            #刷新
            self.build_add_page.refresh()
            self.build_add_page.wait()

            buildingNameStr = self.build_add_page.find_element(
                By.XPATH,
                "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div/table/tbody/tr[1]/td[3]"
            )
            if buildingNameStr is not None:
                self.assertEqual(self.buildingName,
                                 buildingNameStr.text,
                                 msg="楼栋添加失败")
            else:
                self.assertIsNotNone(buildingNameStr, msg="元素定位失败")
        except Exception as msg:
            self.admin_add_page.save_screen_shot("test_addBuild")
            logger.info("异常信息:%s" % msg)
            raise

    #编辑楼栋
    buildingNameEdit = "金城社区"
    floorCountEdit = 10

    def test_editBuild(self):
        TestBuildManage.test_findBuild(self)
        try:
            buildingNameStr = self.build_edit_page.find_element(
                By.XPATH,
                "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div/table/tbody/tr/td[3]"
            )
            if buildingNameStr is not None:
                self.assertEqual(self.buildingName,
                                 buildingNameStr.text,
                                 msg="查询成功")
                self.build_edit_page.click_editButton()
                self.build_edit_page.input_buildingName(self.buildingNameEdit)
                self.build_edit_page.input_floorCount(self.floorCountEdit)
                self.build_edit_page.click_saveButton()
                self.build_edit_page.wait()
                #get value be used for assert
                self.build_find_page.input_buildingName(self.buildingNameEdit)
                self.build_find_page.click_submitButton()
                buildingNameStr = self.build_edit_page.find_element(
                    By.XPATH,
                    "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div/table/tbody/tr/td[3]"
                )

                self.build_edit_page.find_element(
                    By.XPATH,
                    "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div/table/tbody/tr[1]/td[1]/span"
                ).click()
                floorCountStr = self.build_edit_page.find_element(
                    By.XPATH,
                    "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div/table/tbody/tr[2]/td[2]/div/div/div/div/div/div/table/tbody/tr[1]/td[2]"
                )

                if buildingNameStr is not None:
                    self.assertEqual(str(self.buildingNameEdit),
                                     buildingNameStr.text,
                                     msg="断言失败")
                else:
                    self.assertIsNotNone(buildingNameStr, msg="元素定位失败")
                if floorCountStr is not None:
                    self.assertEqual(str(self.floorCountEdit),
                                     floorCountStr.text,
                                     msg="断言失败")
                else:
                    self.assertIsNotNone(floorCountStr, msg="元素定位失败")
            else:
                self.assertIsNotNone(buildingNameStr, msg="元素定位失败")
        except Exception as msg:
            self.build_edit_page.save_screen_shot("test_findBuild")
            logger.info("异常信息:%s" % msg)
            raise

    #删除楼栋
    def test_delBuild(self):
        try:
            self.build_del_page.click_delButton()
            self.build_del_page.click_isYesButton()
            buildingNameStr = self.build_del_page.find_element(
                By.XPATH,
                "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div/table/tbody/tr/td[3]"
            )
            if buildingNameStr is not None:
                self.assertNotEqual(self.floorCountEdit,
                                    buildingNameStr.text,
                                    msg="断言失败,删除失败")
            else:
                self.assertIsNotNone(buildingNameStr, msg="元素定位失败,已删除")
        except Exception as msg:
            self.build_edit_page.save_screen_shot("test_findBuild")
            logger.info("异常信息:%s" % msg)
            raise

    #查询
    def test_findBuild(self):
        try:
            self.build_find_page.click_findButton()
            self.build_find_page.input_buildingName(self.buildingName)
            self.build_find_page.click_submitButton()
            self.build_find_page.wait()
        except Exception as msg:
            self.build_edit_page.save_screen_shot("test_findBuild")
            logger.info("异常信息:%s" % msg)
            raise
class TestNoticeManage(unittest.TestCase):
    ZHSQ_URL = Config().get('ZHSQ_URL')
    userAcct = Config().get('userAcct')
    userPwd = Config().get('userPwd')
    smsCode = Config().get('smsCode')
    """
    @前置处理器
    description:登陆
    """
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(
            self.ZHSQ_URL, maximize_window=True)
        self.menu_page = MenuPage(self.login_page)
        self.notice_add_page = NoticeAddPage(self.login_page)
        self.notice_find_page = NoticeFindPage(self.login_page)
        self.notice_del_page = NoticeDelPage(self.login_page)
        self.notice_edit_page = NoticeEditPage(self.login_page)
        try:
            #遗留问题,先录入账号再勾选协议找不到元素
            #原因可能是因为倒计时,导致页面有动态元素
            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait(3)
            self.menu_page.click_estateManage()
            self.menu_page.click_noticeManage()
            self.menu_page.wait()

        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" % msg)
            raise

    def tearDown(self):
        logger.info("----END---")
        self.login_page.quit()

    #新增门禁公告
    title = "测试门禁公告"
    apptitle = "测试手机公告"
    content = "南园春半踏青时,风和闻马嘶。青梅如豆柳如眉,日长蝴蝶飞"
    editTitle = "编辑门禁公告"
    appeditTitle = "编辑手机公告"
    editContent = "花露重,草烟低,人家帘幕垂。秋千慵困解罗衣,画堂双燕归"
    dateTime = "2021-08-08 09:20:30"

    def test_addGuardNotice(self):
        try:
            self.notice_add_page.click_addGuardNoticeButton()
            self.notice_add_page.click_guardList()
            self.notice_add_page.click_chooseGuard()
            self.notice_add_page.input_title(self.title)
            self.notice_add_page.input_content(self.content)
            self.notice_add_page.click_expiring_date()
            self.notice_add_page.input_date_time(self.dateTime)
            self.notice_add_page.click_saveButton()
            msgStr = self.notice_add_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "操作成功,新增门禁公告成功", msg="新增门禁公告失败")
            else:
                self.assertIsNotNone(msgStr, msg="新增门禁公告元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_addGuardNotice")
            logger.info("异常信息:%s" % msg)
            raise

    ##新增app公告
    def test_addAppNotice(self):
        try:
            self.notice_add_page.click_addAppNoticeButton()
            self.notice_add_page.input_title(self.apptitle)
            self.notice_add_page.input_content(self.content)
            self.notice_add_page.click_saveButton()
            msgStr = self.notice_add_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "操作成功,新增手机公告成功", msg="新增手机公告失败")
            else:
                self.assertIsNotNone(msgStr, msg="新增手机公告元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_addAppNotice")
            logger.info("异常信息:%s" % msg)
            raise

    ##根据标题查询公告
    def test_findNotice(self, title):
        try:
            self.notice_find_page.click_findButton()
            self.notice_find_page.input_title(title)
            self.notice_find_page.click_submitButton()
        except Exception as msg:
            self.login_page.save_screen_shot("test_findNotice")
            logger.info("异常信息:%s" % msg)
            raise

    ##门禁公告失效并删除
    def test_delNotice(self):
        TestNoticeManage.test_findNotice(self, self.title)
        try:
            self.notice_del_page.click_delButton()
            self.notice_del_page.click_isYesButton()
            msgStr = self.notice_del_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "操作成功,当前公告已失效", msg="门禁公告失效操作失败")
                state = self.notice_del_page.find_element(
                    By.XPATH,
                    "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div/table/tbody/tr/td[5]/span/span"
                )
                if state.text == "失效":
                    self.notice_del_page.click_delButton()
                    self.notice_del_page.click_isYesButton()
                    msgStr = self.notice_del_page.find_element(
                        By.XPATH, "/html/body/div[2]/span/div/div/div/span")
                    if msgStr is not None:
                        self.assertEqual(msgStr.text,
                                         "操作成功,当前公告已删除",
                                         msg="删除门禁公告失败")
                    else:
                        self.assertIsNotNone(msgStr, msg="删除门禁公告元素定位失败")
                else:
                    return
            else:
                self.assertIsNotNone(msgStr, msg="门禁公告失效操作元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_delNotice")
            logger.info("异常信息:%s" % msg)
            raise

    ##app公告删除
    def test_delAppNotice(self):
        TestNoticeManage.test_findNotice(self, self.apptitle)
        try:
            self.notice_del_page.click_delButton()
            self.notice_del_page.click_isYesButton()
            msgStr = self.notice_del_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "操作成功,当前公告已删除", msg="删除手机公告失败")
            else:
                self.assertIsNotNone(msgStr, msg="删除手机公告操作元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_delNotice")
            logger.info("异常信息:%s" % msg)
            raise

    ##失效后编辑门禁公告使生效
    def test_editNotice(self):
        TestNoticeManage.test_findNotice(self, self.title)
        try:
            #失效
            self.notice_del_page.click_delButton()
            self.notice_del_page.click_isYesButton()
            msgStr = self.notice_del_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "操作成功,当前公告已失效", msg="门禁公告失效操作失败")
                state = self.notice_del_page.find_element(
                    By.XPATH,
                    "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div/table/tbody/tr/td[5]/span/span"
                )
                if state.text == "失效":
                    self.notice_edit_page.click_editButton()
                    self.notice_edit_page.input_title(self.editTitle)
                    self.notice_edit_page.input_content(self.editContent)
                    self.notice_edit_page.click_dateTimeList()
                    self.notice_edit_page.input_time(self.dateTime)
                    self.notice_edit_page.click_saveButton()
                    msgStr = self.notice_del_page.find_element(
                        By.XPATH, "/html/body/div[2]/span/div/div/div/span")
                    if msgStr is not None:
                        self.assertEqual(msgStr.text,
                                         "操作成功,操作成功",
                                         msg="编辑门禁公告失败")
                        state = self.notice_del_page.find_element(
                            By.XPATH,
                            "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div/table/tbody/tr/td[5]/span/span"
                        )
                        self.assertEqual(state.text, "生效", msg="编辑后未生效")
                    else:
                        self.assertIsNotNone(msgStr, msg="编辑门禁公告元素定位失败")
                else:
                    return
            else:
                self.assertIsNotNone(msgStr, msg="门禁公告失效操作元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_delNotice")
            logger.info("异常信息:%s" % msg)
            raise
Beispiel #7
0
class TestDoorCardManage(unittest.TestCase):
    ZHSQ_URL = Config().get('ZHSQ_URL')
    userAcct = Config().get('userAcct')
    userPwd = Config().get('userPwd')
    smsCode = Config().get('smsCode')
    """
    @前置处理器
    description:登陆
    """
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(self.ZHSQ_URL, maximize_window=True)
        self.menu_page = MenuPage(self.login_page)
        self.card_add_page = CardAddPage(self.login_page)
        self.card_edit_page = CardEditPage(self.login_page)
        self.card_find_page = CardFindPage(self.login_page)
        self.card_del_page = CardDelPage(self.login_page)
        try:
            #遗留问题,先录入账号再勾选协议找不到元素
            #原因可能是因为倒计时,导致页面有动态元素
            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait(3)
            self.menu_page.click_householdManage()
            self.menu_page.click_doorcardManage()
            self.menu_page.wait()

        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" %msg)
            raise

    def tearDown(self):
        logger.info("----END---")
        self.login_page.quit()

    #新增普通门卡
    ownerCardNo = "12345678"
    memberCardNo = "23456789"
    def test_addCard(self):
        try:
            self.card_add_page.click_addButton()
            self.card_add_page.click_buildList()
            self.card_add_page.click_chooseBuild()
            self.card_add_page.click_unitList()
            self.card_add_page.click_chooseUnit()
            self.card_add_page.click_floorList()
            self.card_add_page.click_chooseFloor()
            self.card_add_page.click_houseList()
            self.card_add_page.click_chooseHouse()
            ##业主
            self.card_add_page.input_ownerCardNo(self.ownerCardNo)
            self.card_add_page.click_ownerCardType()
            self.card_add_page.click_chooseOwnerCardType()
            ##租户
            self.card_add_page.click_chooseMember()
            self.card_add_page.input_memberCardNo(self.memberCardNo)
            self.card_add_page.click_memberCardType()
            self.card_add_page.click_chooseMemberCardType()
            ##保存
            self.card_add_page.click_saveButton()
            msgStr = self.card_add_page.find_element(By.XPATH,"/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text,"添加成功",msg="普通门卡添加失败")
            else:
                self.assertIsNotNone(msgStr,msg="普通门卡添加元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_addCard")
            logger.info("异常信息:%s" %msg)
            raise

    ##根据门卡号码查询信息
    def test_findCard(self,cardNum):
        try:
            self.card_find_page.refresh()
            self.card_find_page.click_findButton()
            self.card_find_page.input_cardNum(cardNum)
            self.card_find_page.click_submitButton()
        except Exception as msg:
            self.login_page.save_screen_shot("test_findCard")
            logger.info("异常信息:%s" %msg)
            raise

    ##门卡编辑
    def test_editCard(self):
        TestDoorCardManage.test_editOwnerCard(self)
        TestDoorCardManage.test_editMemberCard(self)

    ##编辑业主门卡
    def test_editOwnerCard(self):
        TestDoorCardManage.test_findCard(self,self.ownerCardNo)
        try:
            self.card_edit_page.click_editButton()
            self.card_edit_page.click_cardTypeList()
            self.card_edit_page.click_chooseCardType()
            self.card_edit_page.click_saveButton()
            msgStr = self.card_edit_page.find_element(By.XPATH,"/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text,"编辑完成",msg="业主编辑失败")
            else:
                self.assertIsNotNone(msgStr,msg="业主编辑元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_editOwnerCard")
            logger.info("异常信息:%s" %msg)
            raise

    ##编辑业主成员门卡
    def test_editMemberCard(self):
        TestDoorCardManage.test_findCard(self,self.memberCardNo)
        try:
            self.card_edit_page.click_editButton()
            self.card_edit_page.click_cardTypeList()
            self.card_edit_page.click_chooseCardType()
            self.card_edit_page.click_saveButton()
            msgStr = self.card_edit_page.find_element(By.XPATH,"/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text,"编辑完成",msg="业主成员编辑失败")
            else:
                self.assertIsNotNone(msgStr,msg="业主成员编辑元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_editMemberCard")
            logger.info("异常信息:%s" %msg)
            raise

    ##普通门卡删除
    def test_delCard(self):
        TestDoorCardManage.test_delOwnerCard(self)
        TestDoorCardManage.test_delMemberCard(self)


    ##删除业主
    def test_delOwnerCard(self):
        TestDoorCardManage.test_findCard(self,self.ownerCardNo)
        try:
            self.card_del_page.click_delButton()
            self.card_del_page.click_isYesButton()
            msgStr = self.card_del_page.find_element(By.XPATH,"/html/body/div[3]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text,"注销门卡成功",msg="业主普通门卡删除失败")
            else:
                self.assertIsNotNone(msgStr,msg="删除业主普通门卡元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_delOwnerCard")
            logger.info("异常信息:%s" %msg)
            raise

    ##删除业主成员
    def test_delMemberCard(self):
        TestDoorCardManage.test_findCard(self,self.memberCardNo)
        try:
            self.card_del_page.click_delButton()
            self.card_del_page.click_isYesButton()
            msgStr = self.card_del_page.find_element(By.XPATH,"/html/body/div[3]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text,"注销门卡成功",msg="业主成员普通门卡删除失败")
            else:
                self.assertIsNotNone(msgStr,msg="删除业主成员普通门卡元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_delMemberCard")
            logger.info("异常信息:%s" %msg)
            raise


    """
    管理门卡新增
    """
    manageCardNo = "34567890"
    def test_addManageCard(self):
        try:

            #####################
            self.login_page.find_element(By.XPATH,"/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[1]/div[1]/div/button[2]").click()
            self.login_page.find_element(By.XPATH,"/html/body/div[3]/div/div[2]/div/div[2]/div[2]/div[2]/div/div[1]/div/div[2]/div/span/span/div/div/div").click()
            self.login_page.find_elements(By.XPATH,"/html/body/div[4]/div/div/div/ul/li")[0].click()
            self.login_page.find_element(By.ID,"cardArr.0.cardId").send_keys(self.manageCardNo)
            self.login_page.find_element(By.XPATH,"/html/body/div[3]/div/div[2]/div/div[2]/div[2]/div[2]/div/div[4]/div/div[2]/div/span/div/div/div").click()
            self.login_page.find_elements(By.XPATH,"/html/body/div[5]/div/div/div/ul/li")[0].click()
            self.login_page.find_element(By.XPATH,"/html/body/div[3]/div/div[2]/div/div[2]/div[2]/div[2]/div/div[7]/div/div[2]/div/span/span/span/span").click()
            self.login_page.find_elements(By.XPATH,"/html/body/div[6]/div/div/div/ul/li")[-1].click()
            self.login_page.find_element(By.XPATH,"/html/body/div[3]/div/div[2]/div/div[2]/div[3]/button[2]").click()
            ####################

            msgStr = self.login_page.find_element(By.XPATH,"/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text,"添加成功",msg="管理卡添加失败")
            else:
                self.assertIsNotNone(msgStr,msg="管理卡添加元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_editOwnerCard")
            logger.info("异常信息:%s" %msg)
            raise

    ###管理卡删除
    def test_delManageCard(self):
        TestDoorCardManage.test_findManageCard(self,self.manageCardNo)
        try:
            self.card_del_page.click_delButton()
            self.card_del_page.click_manageIsYesButton()
            msgStr = self.card_del_page.find_element(By.XPATH,"/html/body/div[4]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text,"注销门卡成功",msg="管理门卡删除失败")
            else:
                self.assertIsNotNone(msgStr,msg="删除管理门卡元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_delManageCard")
            logger.info("异常信息:%s" %msg)
            raise

    ###编辑管理卡
    def test_editManageCard(self):
        TestDoorCardManage.test_findManageCard(self,self.manageCardNo)
        try:

            self.card_edit_page.click_editButton()
            self.card_edit_page.find_element(By.XPATH,"/html/body/div[3]/div/div[2]/div/div[2]/div[2]/div[2]/div[2]/div[4]/div/div[2]/div/span/div/div/div").click()
            self.card_edit_page.find_element(By.XPATH,"/html/body/div[3]/div/div[2]/div/div[2]/div[3]/button[2]").click()
            msgStr = self.card_edit_page.find_element(By.XPATH,"/html/body/div[3]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text,"编辑完成",msg="管理卡编辑失败")
            else:
                self.assertIsNotNone(msgStr,msg="管理卡编辑元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_editOwnerCard")
            logger.info("异常信息:%s" %msg)
            raise

    ###管理卡查询
    def test_findManageCard(self,manageCardNo):
        try:
            self.card_find_page.refresh()
            self.card_find_page.click_findButton()
            self.card_find_page.click_cardTypeList()
            self.card_find_page.click_chooseCardType()
            self.card_find_page.input_cardNum(manageCardNo)
            self.card_find_page.click_submitButton()
        except Exception as msg:
            self.login_page.save_screen_shot("test_findCard")
            logger.info("异常信息:%s" %msg)
            raise
class TestHouseManage(unittest.TestCase):
    ZHSQ_URL = Config().get('ZHSQ_URL')
    userAcct = Config().get('userAcct')
    userPwd = Config().get('userPwd')
    smsCode = Config().get('smsCode')
    """
    @前置
    description:登陆
    """
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(
            self.ZHSQ_URL, maximize_window=True)
        self.house_add_page = HouseAddPage(self.login_page)
        self.house_find_page = HouseFindPage(self.login_page)
        self.house_del_page = HouseDelPage(self.login_page)
        self.house_edit_page = HouseEditPage(self.login_page)

        try:

            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait()
            self.house_add_page.click_chooseModTree()
            self.house_add_page.click_chooseHouseManageTree()
            self.house_add_page.wait()
        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" % msg)
            raise

    roomName = "101"

    def test_addHouse(self):
        try:
            self.house_add_page.click_addButton()
            self.house_add_page.wait()
            self.house_add_page.click_belongToBuilding()
            self.house_add_page.click_buildListBox()

            self.house_add_page.click_belongTounit()
            self.house_add_page.click_unitListBox()

            self.house_add_page.click_belongToFloor()
            self.house_add_page.click_floorListBox()

            self.house_add_page.input_roomName(self.roomName)

            self.house_add_page.click_roomId()
            self.house_add_page.click_chooseRoomId()

            self.house_add_page.click_saveButton()

            tipsStr = self.house_add_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div[1]/div/div/span")
            if tipsStr is not None:
                self.assertEqual("新增房屋,成功", tipsStr.text, msg="新增房屋失败")
            else:
                self.assertIsNotNone(tipsStr, msg="元素定位失败")

            roomNameStr = self.house_add_page.find_element(
                By.XPATH,
                "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div[1]/div/table/tbody/tr/td[5]"
            )
            if roomNameStr is not None:
                self.assertEqual(self.roomName, roomNameStr.text, msg="断言失败")
            else:
                self.assertIsNotNone(roomNameStr, msg="元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_addHouse")
            logger.info("异常信息:%s" % msg)
            raise

    def test_delHouse(self):
        self.test_serchHouse(self.editRoomName)
        try:
            buildStr = self.house_del_page.find_element(
                By.XPATH,
                "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div[1]/div/table/tbody/tr/td[3]"
            )
            if buildStr is not None:
                self.house_del_page.click_delButton()
                self.house_del_page.click_isYesButton()
                tipsStr = self.house_del_page.find_element(
                    By.XPATH, "/div/div/div/span")
                if tipsStr is not None:
                    self.assertEqual("删除房屋成功", tipsStr.text, msg="删除失败")
                else:
                    self.assertIsNotNone(tipsStr, msg="元素定位失败")
            else:
                self.assertIsNotNone(buildStr, msg="元素定位失败")

        except Exception as msg:
            self.login_page.save_screen_shot("test_addHouse")
            logger.info("异常信息:%s" % msg)
            raise

    editRoomName = "102"

    def test_editHouse(self):
        self.test_serchHouse(self.roomName)
        self.house_edit_page.click_editButton()
        try:
            self.house_edit_page.input_roomName(self.editRoomName)
            self.house_edit_page.click_roomId()
            self.house_edit_page.click_chooseRoomId()
            self.house_edit_page.click_saveButton()
            self.test_serchHouse(self.editRoomName)
            roomNameStr = self.house_edit_page.find_element(
                By.XPATH,
                "/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/div/div[3]/div/div/div/div/div/div[1]/div/table/tbody/tr/td[5]"
            )
            if roomNameStr is not None:
                self.assertEqual(roomNameStr.text,
                                 self.editRoomName,
                                 msg="断言失败")
            else:
                self.assertIsNotNone(roomNameStr, msg="元素定位失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_editHouse")
            logger.info("异常信息:%s" % msg)
            raise

    def test_serchHouse(self, roomName):
        self.house_find_page.refresh()
        self.house_find_page.click_screenButton()
        self.house_find_page.input_roomName(roomName)
        self.house_find_page.click_findButton()

    def tearDown(self):
        logger.info("----END---")
        self.login_page.quit()
Beispiel #9
0
class TestOwnerManage(unittest.TestCase):
    ZHSQ_URL = Config().get('ZHSQ_URL')
    userAcct = Config().get('userAcct')
    userPwd = Config().get('userPwd')
    smsCode = Config().get('smsCode')
    """
    @前置处理器
    description:登陆
    """
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(
            self.ZHSQ_URL, maximize_window=True)
        self.menu_page = MenuPage(self.login_page)
        self.owner_add_page = OwnerAddPage(self.login_page)
        self.owner_find_page = OwnerFindPage(self.login_page)
        self.owner_edit_page = OwnerEditPage(self.login_page)
        self.owner_del_page = OwnerDelPage(self.login_page)
        try:
            #遗留问题,先录入账号再勾选协议找不到元素
            #原因可能是因为倒计时,导致页面有动态元素
            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait(3)
            self.menu_page.click_householdManage()
            self.menu_page.click_ownerManage()
            self.menu_page.wait()

        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" % msg)
            raise

    def tearDown(self):
        logger.info("----END---")
        self.login_page.quit()

    customName = "卢志恒"

    @unittest.skipUnless(True, "新增业主")
    def test_addOwner(self):
        try:
            self.owner_add_page.click_addButton()
            self.owner_add_page.click_belongToBuilding()
            self.owner_add_page.click_buildListBox()
            self.owner_add_page.click_belongTounit()
            self.owner_add_page.click_unitListBox()
            self.owner_add_page.click_belongToFloor()
            self.owner_add_page.click_floorListBox()
            self.owner_add_page.click_roomId()
            self.owner_add_page.click_chooseRoomId()
            # ##业主
            self.owner_add_page.input_customName(self.customName)
            self.owner_add_page.click_customType()
            self.owner_add_page.click_chooseCustomType()
            self.owner_add_page.input_customTel("15038330928")

            #滚动条滚动到某元素
            # target = self.owner_add_page.find_element(By.XPATH,"/html/body/div[3]/div/div[2]/div/div[2]/div[3]/button[2]")
            # self.owner_add_page.execute("arguments[0].scrollIntoView();", target)

            js = "document.getElementById(\"customs.0.prsnImgUrl\").style.display='block';"
            # 调用js脚本
            self.owner_add_page.execute(js)
            self.owner_add_page.input_imgFile(SOURCEIMG_PATH +
                                              "/13213156600.jpg")

            # # ##业主成员
            # self.owner_add_page.click_addMemberButton()
            # self.owner_add_page.input_memberName("李杨")
            # self.owner_add_page.click_memberType()
            # self.owner_add_page.click_chooseMemberType()
            # self.owner_add_page.input_memberTel("15137161725")
            #
            # js1 = "document.getElementById(\"customs.1.prsnImgUrl\").style.display='block';"
            # self.owner_add_page.execute(js1)
            # self.owner_add_page.find_element(By.XPATH,"/html/body/div[3]/div/div[2]/div/div[2]/div[2]/div[3]/div[2]/div[2]/div[7]/div/div[2]/div/span/span/div/span/input").send_keys(SOURCEIMG_PATH + "/13213156601.jpeg")
            # ##操作
            self.owner_add_page.click_saveButton()
            msgStr = self.owner_add_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "添加成功", msg="添加失败")
            else:
                self.assertIsNotNone(msgStr, msg="元素定位失败")
            self.owner_add_page.wait()
            self.owner_add_page.refresh()
        except Exception as msg:
            self.owner_add_page.save_screen_shot("test_addOwner")
            logger.info("异常信息:%s" % msg)
            raise

    ## 业主成员
    memberName = "李杨"

    def test_addMember(self):
        try:
            self.owner_add_page.click_addButton()
            self.owner_add_page.click_belongToBuilding()
            self.owner_add_page.click_buildListBox()
            self.owner_add_page.click_belongTounit()
            self.owner_add_page.click_unitListBox()
            self.owner_add_page.click_belongToFloor()
            self.owner_add_page.click_floorListBox()
            self.owner_add_page.click_roomId()
            self.owner_add_page.click_chooseRoomId()

            # ##业主成员
            self.owner_add_page.click_addMemberButton()
            self.owner_add_page.input_memberName(self.memberName)
            self.owner_add_page.click_memberType()
            self.owner_add_page.click_chooseMemberType()
            self.owner_add_page.input_memberTel("15137161725")

            js1 = "document.getElementById(\"customs.0.prsnImgUrl\").style.display='block';"
            self.owner_add_page.execute(js1)
            self.owner_add_page.find_element(
                By.ID, "customs.0.prsnImgUrl").send_keys(SOURCEIMG_PATH +
                                                         "/13213156601.jpeg")
            ##操作
            self.owner_add_page.click_saveButton()
            msgStr = self.owner_add_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "添加成功", msg="添加失败")
            else:
                self.assertIsNotNone(msgStr, msg="元素定位失败")
            self.owner_add_page.wait()
            self.owner_add_page.refresh()
        except Exception as msg:
            self.owner_add_page.save_screen_shot("test_addMember")
            logger.info("异常信息:%s" % msg)
            raise

    editCustomName = customName + "edit"
    editMemberName = memberName + "edit"

    ##编辑 查询并编辑
    def test_edit(self, oldName, newName):
        self.owner_edit_page.refresh()
        TestOwnerManage.test_findOwner(self, oldName)
        try:
            self.owner_edit_page.click_editButton()
            self.owner_edit_page.input_ownerName(newName)
            self.owner_edit_page.click_saveButton()
            msgStr = self.owner_edit_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "操作成功", msg="添加失败")
            else:
                self.assertIsNotNone(msgStr, msg="元素定位失败")
            self.owner_edit_page.wait()
            self.owner_edit_page.refresh()
            TestOwnerManage.test_findOwner(self, newName)
            nameStr = self.owner_edit_page.find_element(
                By.XPATH,
                "/html/body/div/div[1]/div[1]/div[2]/div[2]/div/div/div/div[3]/div/div/div/div/div/div[1]/div/table/tbody/tr/td[5]"
            )
            if nameStr is not None:
                self.assertEqual(nameStr.text, newName, msg="数据错误")
            else:
                self.assertIsNotNone(nameStr.text, msg="查询数据列表为空")
            self.owner_edit_page.refresh()
        except Exception as msg:
            self.owner_add_page.save_screen_shot("test_edit")
            logger.info("异常信息:%s" % msg)
            raise

    def test_editOwner(self):
        TestOwnerManage.test_edit(self, self.customName, self.editCustomName)
        TestOwnerManage.test_edit(self, self.memberName, self.editMemberName)

    # ##删除-根据name查找并删除
    def test_del(self, name):
        self.owner_del_page.refresh()
        TestOwnerManage.test_findOwner(self, name)
        try:
            self.owner_del_page.click_delButton()
            self.owner_del_page.click_isYesButton()
            msgStr = self.owner_del_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "注销业主成功", msg="注销业主失败")
            else:
                self.assertIsNotNone(msgStr.text, msg="元素定位失败")
        except Exception as msg:
            self.owner_add_page.save_screen_shot("test_del")
            logger.info("异常信息:%s" % msg)
            raise

    def test_delOwner(self):
        TestOwnerManage.test_del(self, self.editCustomName)
        TestOwnerManage.test_del(self, self.editMemberName)

    def test_findOwner(self, prsnName):
        try:
            self.owner_find_page.click_searchButton()
            self.owner_find_page.input_prsnName(prsnName)
            self.owner_find_page.click_submitButton()
        except Exception as msg:
            self.owner_add_page.save_screen_shot("test_findOwner")
            logger.info("异常信息:%s" % msg)
            raise
class TestTenantManage(unittest.TestCase):
    ZHSQ_URL = Config().get('ZHSQ_URL')
    userAcct = Config().get('userAcct')
    userPwd = Config().get('userPwd')
    smsCode = Config().get('smsCode')
    """
    @前置处理器
    description:登陆
    """
    def setUp(self):
        logger.info("----start---")
        self.login_page = LoginPage(browser_type='chrome').get(
            self.ZHSQ_URL, maximize_window=True)
        self.menu_page = MenuPage(self.login_page)
        self.tenant_find_page = TenantFindPage(self.login_page)
        self.tenant_add_page = TenantAddPage(self.login_page)
        self.tenant_edit_page = TenantEditPage(self.login_page)
        self.tenant_xuyue_page = TenantXuyuePage(self.login_page)
        self.tenant_del_page = TenantDelPage(self.login_page)
        try:
            #遗留问题,先录入账号再勾选协议找不到元素
            #原因可能是因为倒计时,导致页面有动态元素
            self.login_page.click_checkbox()
            self.login_page.click_closeAlert()
            self.login_page.input_userAcct(self.userAcct)
            self.login_page.input_userPwd(self.userPwd)
            self.login_page.click_smsCodeButton()
            self.login_page.input_smsCode(self.smsCode)
            self.login_page.click_loginButton()
            self.login_page.wait(3)
            self.menu_page.click_householdManage()
            self.menu_page.click_tenantManage()
            self.menu_page.wait()

        except Exception as msg:
            self.login_page.save_screen_shot("test_login")
            logger.info("异常信息:%s" % msg)
            raise

    def tearDown(self):
        logger.info("----END---")
        self.login_page.quit()

    #新增租户
    customName = "杨志豪"
    customTel = "15237104251"

    def test_addTenant(self):
        try:

            self.tenant_add_page.click_addButton()
            #楼栋信息
            self.tenant_add_page.click_belongToBuilding()
            self.tenant_add_page.click_buildListBox()
            self.tenant_add_page.click_belongTounit()
            self.tenant_add_page.click_unitListBox()
            self.tenant_add_page.click_belongToFloor()
            self.tenant_add_page.click_floorListBox()
            self.tenant_add_page.click_roomId()
            self.tenant_add_page.click_chooseRoomId()
            #租户信息
            self.tenant_add_page.input_customName(self.customName)
            self.tenant_add_page.input_customTel(self.customTel)
            self.tenant_add_page.click_clickTime()
            self.tenant_add_page.input_startTime("2021-03-20")
            self.tenant_add_page.input_endTime("2021-06-11")

            js2 = "document.getElementById(\"customs.0.prsnImgUrl\").style.display='block';"
            self.tenant_add_page.execute(js2)
            self.tenant_add_page.input_imgFile(SOURCEIMG_PATH +
                                               "/13213156605.jpeg")
            self.tenant_add_page.click_saveButton()

            msgStr = self.tenant_add_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "添加成功", msg="添加租户失败")
            else:
                self.assertIsNotNone(msgStr, msg="元素定位失败")
            self.tenant_add_page.wait()
        except Exception as msg:
            self.login_page.save_screen_shot("test_addTenant")
            logger.info("异常信息:%s" % msg)
            raise

    ## 查询租户byname
    def test_findTenant(self, customName):
        try:
            self.tenant_find_page.click_findButton()
            self.tenant_find_page.input_prsnName(customName)
            self.tenant_find_page.click_submitButton()
        except Exception as msg:
            self.login_page.save_screen_shot("test_findTenant")
            logger.info("异常信息:%s" % msg)
            raise

    ## 编辑租户
    editName = "曲灵儿"

    def test_editTenant(self):
        TestTenantManage.test_findTenant(self, self.customName)
        try:
            self.tenant_edit_page.click_editButton()
            self.tenant_edit_page.input_name(self.editName)
            self.tenant_edit_page.click_saveButton()
            msgStr = self.tenant_edit_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "操作成功", msg="编辑失败")
            else:
                self.assertIsNotNone(msgStr.text, msg="定位元素失败,编辑未成功")
        except Exception as msg:
            self.login_page.save_screen_shot("test_editTenant")
            logger.info("异常信息:%s" % msg)
            raise

    ##  删除租户by name
    def test_delTenant(self):
        TestTenantManage.test_findTenant(self, self.editName)
        try:
            self.tenant_del_page.click_delButton()
            self.tenant_del_page.click_isYesButton()
            msgStr = self.tenant_del_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "解约租户成功", msg="解约租户失败")
            else:
                self.assertIsNotNone(msgStr.text, msg="元素定位失败,解约租户失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_delTenant")
            logger.info("异常信息:%s" % msg)
            raise

        ##  续约租户by name
    def test_xuyueTenant(self):
        TestTenantManage.test_findTenant(self, self.editName)
        try:
            self.tenant_xuyue_page.click_xuyueButton()
            self.tenant_xuyue_page.click_clickTime()
            self.tenant_xuyue_page.input_chooseTime("2022-03-01")
            self.tenant_xuyue_page.click_saveButton()
            msgStr = self.tenant_xuyue_page.find_element(
                By.XPATH, "/html/body/div[2]/span/div/div/div/span")
            if msgStr is not None:
                self.assertEqual(msgStr.text, "续期成功", msg="续期失败")
            else:
                self.assertIsNotNone(msgStr.text, msg="元素定位失败,续期失败")
        except Exception as msg:
            self.login_page.save_screen_shot("test_delTenant")
            logger.info("异常信息:%s" % msg)
            raise