def test_look_user(self, operator_phone, operator_name, usr):
        """
         查看用户功能测试用例 。
        :param operator_phone:操作者手机号
        :param operator_name: 操作者名称
        :param usr: 用户手机号或姓名
        :return: None
        """

        self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
        time.sleep(2)
        self.user_page.click_user_list_menu()  # 点击用户列表菜单
        time.sleep(2)
        self.user_page.query_by_name_or_phone(usr)  # 查询出指定用户
        time.sleep(2)
        screen_shot(self.driver, "查看用户-用户列表.png")
        result_num = self.user_page.get_query_result_list_num()
        if result_num and result_num == 1:  # 判断结果列表不为空且只有1条数据,则进行查看用户操作
            self.user_page.click_look_btn()  # 点击查看按钮
            time.sleep(3)
            self.user_page.switch_window()  # 切换窗口
            screen_shot(self.driver, "查看用户-用户详情.png")
            self.assertEqual(usr,
                             self.user_page.get_phone_value())  # 断言用户手机号正确
        else:
            self.fail("用户列表为空或数据不唯一,请检查测试数据!")
    def test_query_user(self, operator_phone, operator_name, company, usr,
                        role):
        """
         用户查询测试用例 。
        :param operator_phone: 操作者手机号
        :param operator_name: 操作者名称
        :param company: 公司名称
        :param usr: 用户手机号或姓名
        :param role: 角色
        :return: None
        """

        self.user_page.change_user(operator_phone, operator_name)  # 切换用户
        time.sleep(2)
        self.user_page.click_user_list_menu()  # 点击账号列表菜单
        time.sleep(2)
        if company:  # 如果测试数据给了公司名称,则选择公司
            self.user_page.sel_query_company(company)
        self.user_page.type_query_user(usr)  # 输入用户手机号或姓名
        self.user_page.sel_query_role(role)  # 选择用户角色
        self.user_page.click_query_btn()  # 点击查询按钮
        time.sleep(2)
        screen_shot(self.driver, "用户查询.png")  # 截图
        if self.user_page.get_query_result_list_num():
            data_dic = self.user_page.get_data_dic_of_first()
            if usr == data_dic["姓名"]:
                self.assertEqual(usr, data_dic["姓名"])
            elif usr == data_dic["电话"]:
                self.assertEqual(usr, data_dic["电话"])
            else:
                self.fail("查询结果错误!")
        else:
            self.fail("没有查询到该用户,请检查测试数据!")
    def test_query_student(self, operator_phone, operator_name, company,
                           stname, teacher_name, begin_date, end_date, sex,
                           birthday, parent, parent_phone, parent1,
                           parent1_phone, teacher_phone):
        """ 学员查询测试用例 """

        self.user_page.change_user(operator_phone, operator_name)  # 切换账号
        time.sleep(2)
        self.operation_page.click_student_list_menu()  # 点击学员列表
        time.sleep(2)
        if company:
            self.operation_page.sel_query_company(company)  # 选择分公司
        else:
            pass
        self.operation_page.type_query_student(stname)  # 输入学员姓名或监护人手机号
        self.operation_page.type_query_teacher(
            teacher_name)  # 输入辅导老师姓名或辅导老师手机号
        self.operation_page.type_query_begin_date(begin_date)  # 输入起始日期
        self.operation_page.type_query_end_date(end_date)  # 输入结束日期
        self.operation_page.click_query_btn()  # 点击查询按钮
        time.sleep(2)
        data_dic = self.operation_page.get_data_of_first()
        self.assertEqual(stname, data_dic["姓名"], msg="学员姓名不正确!")
        self.assertEqual(company, data_dic["公司"], msg="所属公司不正确!")
        self.assertEqual(sex, data_dic["性别"], msg="学员性别不正确!")
        self.assertEqual(birthday, data_dic["生日"], msg="学员生日不正确!")
        self.assertEqual(parent, data_dic["监护人"], msg="监护人姓名不正确!")
        self.assertEqual(parent1, data_dic["备用监护人"], msg="备用监护人不正确!")
        self.assertEqual(parent_phone, data_dic["监护人手机号"], msg="监护人手机不正确!")
        self.assertEqual(parent1_phone,
                         data_dic["备用监护人手机号"],
                         msg="备用监护人手机不正确!")
        self.assertEqual(teacher_name, data_dic["辅导老师"], msg="辅导老师姓名不正确!")
        self.assertEqual(teacher_phone, data_dic["辅导老师手机号"], msg="辅导老师手机号不正确!")
        screen_shot(self.driver, "学员查询.png")
 def test_login(self, phone, username, pwd, expect_value):
     """
     用户登录测试用例。
     :param phone: 用户手机号
     :param username: 用户姓名
     :param pwd: 用户密码
     :param expect_value: 预期值
     :return:
     """
     self.lg_page = LoginManagePage(self.driver, self.url)
     time.sleep(2)
     self.lg_page.type_username(phone)
     time.sleep(1)
     self.lg_page.type_pwd(pwd)
     time.sleep(2)
     self.lg_page.click_login_btn()
     time.sleep(1)
     screen_shot(self.driver, '登录.png')
     if self.lg_page.get_title() == "欢迎":
         time.sleep(2)
         success_txt = self.lg_page.get_hello_text()
         self.assertIn(username, success_txt)
     else:
         fail_txt = self.lg_page.get_fail_text()
         self.assertEqual(fail_txt, expect_value)
示例#5
0
    def test_look_daily_report(self, operator_phone, operator_name, user_name,
                               begin_date, end_date):
        """
         查看日报测试用例
        :param operator_phone: 操作者手机号
        :param operator_name: 操作者姓名
        :param user_name: 用户姓名
        :param begin_date: 开始日期
        :param end_date: 结束日期
        :return: None
        """

        self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
        time.sleep(2)
        self.operation_page.click_daily_report_list_menu()  # 点击日报管理页面菜单
        time.sleep(2)
        self.operation_page.query_by_username_date(user_name, begin_date,
                                                   end_date)  # 查询出日报
        time.sleep(2)
        results = self.operation_page.get_query_result_list_num()  # 获取结果列表所有行
        screen_shot(self.driver, "查看-日报列表.png")
        if not results:
            self.fail("未查询到日报,请检查测试数据!")
        else:
            self.operation_page.click_look_btn()  # 点击查看按钮
            time.sleep(2)
            data_dic = self.operation_page.get_detail_data()  # 获取日报详情
            screen_shot(self.driver, "查看-日报详情.png")
            self.assertEqual(user_name, data_dic["user_name"], msg="员工姓名不正确!")
            self.assertTrue(begin_date in data_dic["report_time"],
                            msg="上报时间不正确!")
示例#6
0
 def test_d_del_venues(self, operator_phone, operator_name, category,
                       venues_name, expect_value):
     """
     删除场馆测试用例 。
     :param operator_phone: 操作者手机号
     :param operator_name: 操作者姓名
     :param category: 科目
     :param venues_name: 场馆名称
     :param expect_value: 预期值
     :return:
     """
     self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
     time.sleep(2)
     self.operation_page.click_venues_list()  # 点击场馆列表菜单
     time.sleep(2)
     self.operation_page.sel_category(category)  # 选择科目
     time.sleep(2)
     self.operation_page.input_venues(venues_name)  # 输入场馆名称
     time.sleep(2)
     self.operation_page.click_query_btn()  # 点击查询按钮
     time.sleep(3)
     self.operation_page.click_del_venues()  # 点击删除场馆按钮
     time.sleep(2)
     self.operation_page.del_affirm_venues()  # 点击确认按钮
     time.sleep(2)
     screen_shot(self.driver, '删除场馆.png')
     result_num = self.operation_page.get_query_result_list_num()
     if result_num and result_num == 1:
         actual_value = self.operation_page.get_del_venues_message()
         self.assertEqual(expect_value,
                          actual_value,
                          msg="实际结果与预期结果不一致,请查看!!")
     else:
         self.fail("查询结果列表为空或者数据不唯一,请检查测试数据!")
示例#7
0
 def test_b_edit_venues(self, operator_phone, operator_name, query_category,
                        old_venues, new_venues_name, venues_address,
                        longitude, latitude, expect_value):
     """
     编辑场馆测试用例。
     :param operator_phone: 操作者手机号
     :param operator_name: 操作者姓名
     :param query_category: 查询科目
     :param old_venues: 原场馆名称
     :param new_venues_name: 新场馆名称
     :param venues_address: 场馆地址
     :param longitude: 经度
     :param latitude: 纬度
     :param expect_value: 预期值
     :return:
     """
     self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
     self.operation_page.click_venues_menu()  # 点击场馆管理菜单
     time.sleep(2)
     self.operation_page.click_venues_list()  # 点击场馆列表
     time.sleep(4)
     self.operation_page.sel_category(query_category)  # 选择科目
     time.sleep(2)
     self.operation_page.input_venues(old_venues)  # 输入场馆名称
     time.sleep(2)
     self.operation_page.click_query_btn()  # 点击查询按钮
     time.sleep(5)
     self.operation_page.click_venues_edit()  # 点击编辑场馆按钮
     time.sleep(2)
     self.operation_page.input_edit_name(new_venues_name)  # 输入场馆名称
     time.sleep(2)
     self.operation_page.input_edit_address(venues_address)  # 输入场馆地址
     time.sleep(2)
     self.operation_page.input_edit_longitude(str(longitude))  # 输入经度
     time.sleep(2)
     self.operation_page.input_edit_latitude(str(latitude))  # 输入纬度
     time.sleep(2)
     self.operation_page.click_edit_label()  # 勾选场馆类别
     time.sleep(2)
     self.operation_page.click_edit_btn()  # 点击确定按钮
     time.sleep(4)
     self.operation_page.click_venues_list()  # 点击场馆列表
     time.sleep(2)
     self.operation_page.sel_category(query_category)  # 选择科目
     time.sleep(2)
     self.operation_page.input_venues(new_venues_name)  # 输入场馆名称
     time.sleep(2)
     self.operation_page.click_query_btn()  # 点击查询按钮
     time.sleep(2)
     screen_shot(self.driver, "编辑场馆.png")
     result_num = self.operation_page.get_query_result_list_num()
     if result_num and result_num == 1:
         actual_value = self.operation_page.get_edit_venues_name()
         self.assertEqual(expect_value,
                          actual_value,
                          msg="实际结果与预期结果不一致,请查看!!!")
     else:
         self.fail("查询结果列表为空或者数据不唯一,请检查测试数据!")
    def test_query_call(self, operator_phone, operator_name, user_name,
                        custom_name, user_phone, custom_phone, begin_date,
                        end_date, status, expect_num):
        """
        通话记录查询测试用例。

        通过Excel文件获取测试数据,带入测试用例进行测试。

        :param operator_phone: 登录用户手机号
        :param operator_name: 登录用户姓名
        :param user_name: 查询条件-用户姓名
        :param custom_name: 查询条件-客户姓名
        :param user_phone: 查询条件-用户手机号
        :param custom_phone: 查询条件-客户手机号
        :param begin_date: 查询条件-开始日期
        :param end_date: 查询条件-结束日期
        :param status: 查询条件-通话状态
        :param expect_num: 预期查询条数
        :return: None
        """
        self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
        self.operation_page.click_call_list_menu()  # 点击通话记录菜单
        time.sleep(2)
        if user_name:
            self.operation_page.type_query_info(user_name)  # 输入用户姓名
        elif custom_name:
            self.operation_page.type_query_info(custom_name)  # 输入客户姓名
        elif user_phone:
            self.operation_page.type_query_info(user_phone)  # 输入用户手机
        elif custom_phone:
            self.operation_page.type_query_info(custom_phone)  # 输入客户手机
        else:
            self.operation_page.type_query_info("")  # 不输入
        self.operation_page.type_query_begin_date(begin_date)  # 输入起始日期
        self.operation_page.type_query_end_date(end_date)  # 输入结束日期
        self.operation_page.click_query_btn()  # 点击查询按钮
        time.sleep(2)
        if status:
            self.operation_page.sel_call_status(status)  # 选择通话记录状态
        time.sleep(2)
        real_num = self.operation_page.get_query_result_list_num(
        )  # 获取查询结果列表条数
        if real_num:
            data_dic = self.operation_page.get_data_of_first()  # 获取查询结果第一行的数据
            if user_name:
                self.assertEqual(user_name, data_dic["姓名"], msg="姓名不正确!")
            elif custom_name:
                self.assertEqual(custom_name, data_dic["客户姓名"], msg="客户姓名不正确!")
            elif status:
                self.assertEqual(status, data_dic["status"], msg="通话状态不正确")
            else:
                self.fail("预期值全部为空,无法做断言!")
            self.assertEqual(expect_num, str(real_num), msg="查询结果条数不正确")
        else:
            self.fail("查询结果列表为空,请检查测试数据!")
        screen_shot(self.driver, "通话记录查询.png")
 def test_logout(self, phone, pwd):
     self.lg_page = LoginManagePage(self.driver, self.url)
     time.sleep(2)
     self.lg_page.user_login(phone, pwd)
     time.sleep(3)
     if self.lg_page.get_title() == 'Login':
         self.fail("该用户登录失败,请检查测试数据!")
     else:
         self.lg_page.user_logout()
         time.sleep(2)
         screen_shot(self.driver, '退出登录.png')
         self.assertEqual('Login', self.lg_page.get_title())
    def test_audit_course(self, operator_phone, operator_name, date, status,
                          user_phone_city, user_phone_pianqu, user_phone_head,
                          expect):
        """
         排课审批用例
        :param operator_phone: 操作者手机号
        :param operator_name: 操作者姓名
        :param date: 日期
        :param status: 排课状态
        :param user_phone_city: 城市经理手机号
        :param user_phone_pianqu: 片区经理手机号
        :param user_phone_head: 总裁手机号
        :param expect: 预期值
        :return: None
        """

        self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
        time.sleep(1)
        self.operation_page.click_course_list_menu()  # 点击排课列表菜单
        time.sleep(2)
        self.operation_page.query_course(date, date)  # 根据日期查询出指定排课
        time.sleep(2)
        self.operation_page.sel_course_status(status)  # 选择状态
        time.sleep(2)
        result_num = self.operation_page.get_query_result_list_num()
        if result_num and result_num == 1:
            self.operation_page.click_submit_audit_btn()  # 点击提交审批
            time.sleep(2)
            self.operation_page.submit_audit_ok()  # 确认提交
            # 城市经理、片区经理、总裁三个人手机号的列表
            users = [user_phone_city, user_phone_pianqu, user_phone_head]
            for user in users:
                self.user_page.change_user(user)  # 切换到指定账号
                self.operation_page.click_course_menu()  # 点击排课管理菜单
                time.sleep(2)
                if user == user_phone_city or user == user_phone_pianqu:
                    self.operation_page.click_sub_company_audit()
                else:
                    self.operation_page.click_head_company_audit(
                    )  # 点击总公司审批菜单项
                self.operation_page.audit(operator_name, date, date)  # 审批排课
            time.sleep(2)
            self.user_page.change_user(operator_phone, operator_name)  # 切换账号
            time.sleep(2)
            self.operation_page.click_course_list_menu()  # 点击排课列表菜单
            time.sleep(2)
            self.operation_page.query_course(date, date)  # 根据日期查询出指定排课
            screen_shot(self.driver, "排课审核.png")
            time.sleep(2)
            dic = self.operation_page.get_result_dict_of_first()
            self.assertEqual(expect, dic["status"])
        else:
            self.fail("排课列表为空或者数量不唯一,请检查测试数据!")
    def test_edit_user(self, operator_phone, operator_name, new_name,
                       old_phone, new_phone, new_webchat, new_email, expect):
        """
        编辑用户功能测试用例。
        :param operator_phone: 操作者手机号
        :param operator_name: 操作者名称
        :param new_name: 新名称
        :param old_phone: 原名称
        :param new_phone: 新手机号
        :param new_webchat: 新微信号
        :param new_email: 新邮箱
        :param expect: 预期值
        :return: None
        """

        self.user_page.change_user(operator_phone, operator_name)  # 切换用户
        time.sleep(2)
        self.user_page.click_user_list_menu()  # 点击账号列表菜单
        time.sleep(2)
        self.user_page.query_by_name_or_phone(old_phone)  # 通过原手机号查询用户
        time.sleep(2)
        result_num = self.user_page.get_query_result_list_num()
        if result_num and result_num == 1:  # 判断结果列表不为空且只有1条数据,如果存在则编辑该用户
            self.user_page.click_edit_btn()  # 点击编辑按钮
            time.sleep(2)
            self.user_page.switch_window()  # 切换窗口
            time.sleep(2)
            self.user_page.type_user_name(new_name)  # 输入用户姓名
            self.user_page.type_user_phone(new_phone)  # 输入用户电话
            self.user_page.type_webchat(new_webchat)  # 输入微信
            self.user_page.type_email(new_email)  # 输入邮箱
            self.user_page.click_save_btn()  # 点击保存按钮
            time.sleep(1)
            actual_value = self.user_page.get_pop_text()  # 获取保存后弹出窗口的文案
            screen_shot(self.driver, "编辑用户.png")  # 截图
            self.assertEqual(expect, actual_value,
                             msg="实际结果与预期结果不一致,请查看!")  # 断言弹窗文案是否一致
            self.assertEqual(
                new_phone,
                self.user_page.get_phone_value())  # 断言修改后手机号是否与新手机号一致
        else:
            screen_shot(self.driver, "编辑用户-用户列表.png")  # 截图
            self.fail("用户列表为空或数据不唯一,请检查测试数据!")  # 结果列表为空,则报失败
示例#12
0
 def test_a_query_venues(self, operator_phone, operator_name, company_name,
                         category, status, venues_name):
     """
     查询场馆测试用例。
     :param operator_phone: 操作者手机号
     :param operator_name: 操作者姓名
     :param company_name: 公司名称
     :param category: 科目
     :param status: 状态
     :param venues_name: 场馆名称
     :return:
     """
     self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
     time.sleep(2)
     self.operation_page.click_venues_list()  # 点击场馆列表
     time.sleep(2)
     if company_name:
         self.operation_page.sel_company(company_name)  # 选择分公司名称
     time.sleep(2)
     self.operation_page.click_query_btn()  # 点击查询按钮
     time.sleep(2)
     self.operation_page.sel_category(category)  # 选择科目
     time.sleep(2)
     self.operation_page.click_query_btn()  # 点击查询按钮
     time.sleep(2)
     self.operation_page.sel_venues_status(status)  # 选择场馆状态
     time.sleep(2)
     self.operation_page.click_query_btn()  # 点击查询按钮
     time.sleep(2)
     self.operation_page.input_venues(venues_name)  # 输入场馆名称
     time.sleep(2)
     self.operation_page.click_query_btn()  # 点击查询按钮
     time.sleep(2)
     screen_shot(self.driver, "查询场馆.png")
     result_num = self.operation_page.get_query_result_list_num()
     if result_num and result_num == 1:
         actual_value = self.operation_page.get_venues_message()
         self.assertEqual(venues_name,
                          actual_value,
                          msg="实际结果与预期结果不一致,请查看!")
     else:
         self.fail("查询结果列表为空或者数据不唯一,请检查测试数据!")
示例#13
0
    def test_c_venues_add(self, operator_phone, operator_name, venues_name,
                          venues_address, longitude, latitude, status,
                          expect_value):
        """
        添加场馆测试用例。
        :param operator_phone: 操作者手机号
        :param operator_name: 操作者姓名
        :param venues_name: 场馆名称
        :param venues_address: 场馆地址
        :param longitude: 经度
        :param latitude: 纬度
        :param status: 状态
        :param expect_value: 预期值
        :return:
        """
        self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
        time.sleep(3)
        self.operation_page.click_venues_add()  # 点击添加场馆菜单
        time.sleep(3)
        self.operation_page.input_venues_name(venues_name)  # 输入场馆名称
        time.sleep(3)
        self.operation_page.input_venues_address(venues_address)  # 输入场馆地址
        time.sleep(3)
        self.operation_page.input_venues_longitude(str(longitude))  # 输入经度
        time.sleep(3)
        self.operation_page.input_venues_latitude(str(latitude))  # 输入纬度
        time.sleep(2)
        self.operation_page.sel_venues_category1()  # 选择场馆包含的科目 (篮球)
        time.sleep(2)
        self.operation_page.sel_venues_category2()  # 选择场馆包含的科目 (羽毛球)
        time.sleep(2)
        self.operation_page.sel_venues_category3()  # 选择场馆包含的科目 (足球)
        time.sleep(2)
        self.operation_page.sele_venues_status(status)  # 选择场馆状态
        time.sleep(2)
        self.operation_page.venues_sure_btn()  # 点击保存按钮
        time.sleep(2)
        screen_shot(self.driver, '添加场馆.png')

        # 断言
        actual_value = self.operation_page.get_add_venues_message()
        self.assertEqual(expect_value, actual_value, msg="实际结果与预期结果不一致,请查看!")
    def test_reset_pwd(self, operator_phone, operator_name, usr, expect1,
                       expect2):
        """
         用户密码重置功能测试用例 。
        :param operator_phone: 操作者手机号
        :param operator_name: 操作者名称
        :param usr: 用户手机号或姓名
        :param expect1: 是否重置弹窗文案
        :param expect2: 确认重置文案
        :return: None
        """

        self.user_page.change_user(operator_phone, operator_name)  # 切换账号
        time.sleep(2)
        self.user_page.click_user_list_menu()  # 点击账号列表菜单
        time.sleep(2)
        self.user_page.query_by_name_or_phone(usr)  # 查询需要重置密码的用户
        time.sleep(2)
        result_num = self.user_page.get_query_result_list_num()
        if result_num and result_num == 1:  # 判断结果列表不为空且只有1条数据,则进行重置操作
            self.user_page.click_reset_btn()  # 点击重置按钮
            time.sleep(2)
            txt1 = self.user_page.get_reset_text()  # 获取是否确认重置文案
            screen_shot(self.driver, "重置密码1.png")  # 截图
            self.user_page.click_reset_ok()  # 点击确定按钮
            time.sleep(2)
            screen_shot(self.driver, "重置密码2.png")  # 截图
            txt2 = self.user_page.get_reset_ok_text()  # 获取重置成功文案
            self.assertEqual(expect1, txt1)  # 断言弹窗文案等于预期值
            self.assertEqual(expect2, txt2)  # 断言弹窗文案等于预期值
        else:
            screen_shot(self.driver, "重置密码-用户列表.png")
            self.fail("没有查询到该用户,请检查测试数据!")
 def test_look_student(self, operator_phone, operator_name, student_name,
                       birthday, sex, parent):
     """ 查看学员测试用例 """
     self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
     time.sleep(3)
     self.operation_page.click_student_list_menu()  # 点击学员列表
     time.sleep(2)
     self.operation_page.query_by_student_name_or_parent_phone(student_name)
     time.sleep(2)
     result_num = self.operation_page.get_query_result_list_num()
     if result_num and result_num == 1:
         self.operation_page.click_look_btn()
         time.sleep(2)
         data_dic = self.operation_page.get_detail_data_dic()
         self.assertEqual(student_name, data_dic["姓名:"], msg="学员姓名不正确!")
         self.assertEqual(sex, data_dic["性别:"], msg="学员性别不正确!")
         self.assertEqual(birthday, data_dic["生日:"], msg="学员生日不正确!")
         self.assertEqual(parent, data_dic["监护人姓名:"], msg="监护人姓名不正确!")
         screen_shot(self.driver, "查看用户-学员详情.png")
     else:
         screen_shot(self.driver, "查看用户-学员列表.png")
         self.fail("未查询到学员,请检查测试数据!")
示例#16
0
    def test_query_daily_report(self, operator_phone, operator_name, company,
                                user_name, begin_date, end_date, phone,
                                expect_num):
        """
         日报查询测试用例
        :param operator_phone: 操作者手机号
        :param operator_name: 操作者姓名
        :param company: 公司名称
        :param user_name: 用户名称
        :param begin_date: 开始日期
        :param end_date: 结束日期
        :param phone: 手机号
        :param expect_num: 预期值
        :return: None
        """

        self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
        time.sleep(2)
        self.operation_page.click_daily_report_list_menu()  # 点击日报管理页面菜单
        time.sleep(1)
        if company:
            self.operation_page.sel_query_company(company)  # 选择分公司
        else:
            pass
        self.operation_page.type_query_user_name(user_name)  # 输入员工姓名
        self.operation_page.type_query_begin_date(begin_date)  # 输入起始日期
        self.operation_page.type_query_end_date(end_date)  # 输入结束日期
        self.operation_page.click_query_btn()  # 点击查询按钮
        time.sleep(2)
        real_num = self.operation_page.get_query_result_list_num()
        screen_shot(self.driver, "日报查询.png")
        if real_num:
            self.assertEqual(real_num, int(expect_num))
            data_dic = self.operation_page.get_data_of_first()  # 获取查询结果第一行的数据
            self.assertEqual(user_name, data_dic['姓名'])
        else:
            self.fail("未查询到任何日报,请检查测试数据!")
    def test_disable_or_enable_user(self, operator_phone, operator_name, usr,
                                    expect1, expect2):
        """
         用户禁用和启用功能测试用例 。
        :param operator_phone: 操作者手机号
        :param operator_name: 操作者名称
        :param usr: 用户手机号或姓名
        :param expect1: 禁用成功预期值
        :param expect2: 启用成功预期值
        :return: None
        """

        self.user_page.change_user(operator_phone, operator_name)  # 切换到操作者账号
        time.sleep(2)
        self.user_page.click_user_list_menu()  # 点击账号列表菜单
        time.sleep(2)
        self.user_page.query_by_name_or_phone(usr)  # 查询出指定用户
        time.sleep(2)
        result_num = self.user_page.get_query_result_list_num()
        if result_num and result_num == 1:  # 判断结果列表不为空且只有1条数据,则进行禁用或启用操作
            if expect1:
                # 如果禁用按钮可见,则进行禁用操作,否则断言失败用户已处于禁用状态,
                if self.user_page.is_disable_btn_visible():
                    self.user_page.click_disable_btn()
                    time.sleep(2)
                    self.assertEqual(expect1,
                                     self.user_page.get_disable_ok_text())
                    self.assertFalse(self.user_page.is_disable_btn_visible())
                    screen_shot(self.driver, "禁用成功.png")
                else:
                    self.fail("该用户已被禁用,请检查测试数据!")

            elif expect2:
                # 如果禁用按钮可见,则断言失败用户已处于启用状态,否则进行启用操作
                if self.user_page.is_disable_btn_visible():
                    self.fail("该用户已被启用,请检查测试数据!")
                else:
                    self.user_page.click_enable_btn()
                    self.assertEqual(expect2,
                                     self.user_page.get_enable_ok_text())
                    self.assertTrue(self.user_page.is_disable_btn_visible())
                    screen_shot(self.driver, "启用成功.png")
            else:
                self.fail('没有预期值,无法进行断言,请检查测试数据!')
        else:
            screen_shot(self.driver, "禁用用户-用户列表.png")
            self.fail("没有查询到该用户,请检查测试数据!")