Exemple #1
0
class TestEventMaintenance:
    @allure.story("业务环节维护模块维护")  # 对应用例标题
    @pytest.mark.parametrize(
        'mattname,mattnodeno,mattnodename,opttimelmt,suscnt,taskcnt,nodedsc',
        NkData.TestEventMaintenance)
    @allure.title("业务环节维护模块新增")
    def test_EventMaintenance(self, login, mattname, mattnodeno, mattnodename,
                              opttimelmt, suscnt, taskcnt, nodedsc):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            # self.driver.click(level1menu, "子系统菜单")
            # if open1menu:
            #     self.driver.click(open1menu, "展开菜单")
            # else:
            #     pass
            # self.driver.click(level2menu, "业务规范设置管理菜单")
            self.driver.move(level3menu, "业务环节维护模块")
            self.driver.click(level3menu, "业务环节维护模块")
        with allure.step('界面使用iframe,转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "业务环节维护首页")
        with allure.step('查询并选择服务事项'):
            # 查询服务事项名称
            self.driver.send_keys(matt_name, mattname, "业务环节维护首页")
            self.driver.click(query_button, "业务环节维护首页")
            # 选择服务事项信息
            try:

                self.driver.click(information, "业务环节维护首页")
            except:

                self.driver.click(information1, "业务环节维护首页")
        with allure.step('点击新增'):
            # 点击新增
            self.driver.click(add_button, "业务环节维护首页")
        with allure.step('输入信息'):
            # 输入服务事项环节编号
            self.driver.send_keys(matt_node_no, mattnodeno, "服务事项环节信息表界面页")
            # 输入服务事项环节名称
            self.driver.send_keys(matt_node_name, mattnodename, "服务事项环节信息表界面页")
            # 点击经办时限
            self.driver.send_keys(opt_time_lmt, opttimelmt, "服务事项环节信息表界面页")
            # 输入每月要求处理疑点数量
            self.driver.send_keys(sus_cnt, suscnt, "服务事项环节信息表界面页")
            # 输入每月要求处理任务数量
            self.driver.send_keys(task_cnt, taskcnt, "服务事项环节信息表界面页")
            # 输入服务事项环节说明
            self.driver.send_keys(node_dsc, nodedsc, "服务事项环节信息表界面页")
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "服务事项环节信息表界面页")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result = self.driver.text(txt, "业务环节维护首页")
            assert "成功" in result
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "业务环节维护首页")
Exemple #2
0
class TestServiceMaintenance:
    @allure.story("服务事项维护")  # 对应allure报告用例标题
    # pytest参数化数据信息,前5个是模块需要的数据,NkData.TestServiceMaintenance是取NkData.py文件中的TestServiceMaintenance
    @pytest.mark.parametrize(
        'sermattno, sermattname, subsystemname, opttimelmt, sermattdesc',
        NkData.TestServiceMaintenance)
    @allure.title("服务事项维护新增")  # 对应allure报告title
    # login是传递登录信息,后边的是@pytest.mark.parametrize的参数数据信息
    def test_servicemaintenance(self, login, sermattno, sermattname,
                                subsystemname, opttimelmt, sermattdesc):
        driver = login  # 将登陆后获取的driver传递出来
        self.driver = BasePage(driver)  # 脚本需要用到 basepage.py中BasePage类的方法,
        # 故把带有登录信息的driver传递给BasePage在赋值给self.driver
        with allure.step('打开菜单'):  # 对应allure报告中测试步骤,固定写法
            self.driver.click(level1menu, "子系统菜单")
            # 点击菜单self.driver为上述引用固定写法,click为BasePage中方法,括号内为click方法中固定写法
            if open1menu:  # 如果医保局项目菜单未展开则点击展开
                self.driver.click(open1menu, "展开菜单")
            else:
                pass
            self.driver.click(level2menu, "业务规范设置管理菜单")
            self.driver.click(level3menu, "服务事项维护模块")
        with allure.step('界面使用iframe,转换成iframe进行定位'):
            self.driver.switch_frame(iframe, "服务事项维护首页")
        with allure.step('点击新增'):
            self.driver.click(add_button, "服务事项维护首页")
        with allure.step('输入信息'):
            # 输入服务事项编号
            self.driver.send_keys(ser_matt_no, sermattno, "服务事项信息界面页")
            # 输入服务事项名称
            self.driver.send_keys(ser_matt_name, sermattname, "服务事项信息界面页")
            # 点击子系统编号
            self.driver.click(sub_sys_id, "服务事项信息界面页")
            # 子系统信息界面,输入子系统名称
            self.driver.send_keys(sub_system_name, subsystemname, "子系统信息界面页")
            # 点击查询
            self.driver.click(query_button, "子系统信息界面页")
            # 选择信息
            try:
                self.driver.click(information, "子系统信息界面页")
            except:
                self.driver.click(information1, "子系统信息界面页")
            # 点击确认
            self.driver.click(confirm_button, "子系统信息界面页")
            # 输入经办时限
            self.driver.send_keys(opt_time_lmt, opttimelmt, "服务事项信息界面页")
            # 输入服务事项说明
            self.driver.send_keys(ser_matt_desc, sermattdesc, "服务事项信息界面页")
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "服务事项信息界面页")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result = self.driver.text(txt, "服务事项维护首页")
            assert "成功" in result

        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "服务事项维护首页")
Exemple #3
0
class TestEventRuleMaintenance():
    @allure.story("业务环节经办规则维护")  # 对应用例标题
    @pytest.mark.parametrize("mattname, chkrulename, chkrulenode",
                             NkData.TestEventRuleMaintenance)
    @allure.title("业务环节经办规则维护模块新增")
    def test_EventRuleMaintenance(self, login, mattname, chkrulename,
                                  chkrulenode):
        driver = login
        self.driver = BasePage(driver)
        with allure.step("打开菜单"):
            # self.driver.click(level1menu, "子系统菜单")
            # if open1menu:
            #     self.driver.click(open1menu, "展开菜单")
            # else:
            #     pass
            # self.driver.click(level2menu, "业务规范设置管理菜单")
            self.driver.move(level3menu, "业务环节经办规则维护模块")
            self.driver.click(level3menu, "业务环节经办规则维护模块")
        # 内控弹框点掉
        # try:
        #     js = 'document.querySelector' \
        #          '("body > div.el-dialog__wrapper > div > div.el-dialog__body > div.confirm-button").click();'
        #     self.driver.execute_script(js)
        #     self.logger.info('点击内控弹框')
        # except:
        #     self.logger.info('没有内控弹框')
        with allure.step("界面使用iframe,转换成iframe进行定位"):
            self.driver.switch_frame(iframe, "业务环节经办规则维护首页")
        with allure.step('查询并选择服务事项'):
            # 查询服务事项名称
            self.driver.send_keys(matt_name, mattname, "业务环节经办规则维护首页")
            self.driver.click(query_button, "业务环节经办规则维护首页")
            # 选择服务事项信息--自用
            try:
                self.driver.click(information, "业务环节经办规则维护首页")
            except:
                self.driver.click(information1, "业务环节经办规则维护首页")
        with allure.step('点击新增'):
            # 点击新增
            self.driver.click(add_button, "业务环节经办规则维护首页")
        with allure.step('输入信息'):
            # 输入经办规则编号
            # self.driver.send_keys(chk_rule_id, chkruleid, "服务事项环节校验信息表")
            # 输入经办规则名称
            self.driver.send_keys(chk_rule_name, chkrulename, "服务事项环节校验信息表")
            # 输入经办规则说明
            self.driver.send_keys(chk_rule_node, chkrulenode, "服务事项环节校验信息表")
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "服务事项环节校验信息表")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result = self.driver.text(txt, "业务环节经办规则维护首页")
            assert "成功" in result
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "业务环节经办规则维护首页")
class TestControlledModuleApproval():
    @allure.story("受控模块审批")  # 对应allure报告用例标题
    # pytest参数化数据信息
    @pytest.mark.parametrize('skname, approvalopinion',
                             NkData.TestControlledModuleApproval)
    @allure.title("受控模块审批")  # 对应allure报告
    def test_ControlledModuleApproval(self, login, skname, approvalopinion):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            # self.driver.click(level1menu, "子系统菜单")
            # if open1menu:
            #     self.driver.click(open1menu, "展开菜单")
            # else:
            #     pass
            # self.driver.move(level2menu, "内控功能模块管理")
            # self.driver.click(level2menu, "内控功能模块管理")
            self.driver.move(level3menu, "受控模块审批模块")
            self.driver.click(level3menu, "受控模块审批模块")
        with allure.step('转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "受控模块审批首页")
        with allure.step('查询信息'):
            # 查询受控模块信息
            self.driver.send_keys(name, skname, "受控模块审批首页")
            self.driver.click(query_button, "受控模块审批首页")
        with allure.step('点击审批'):
            # 点击审批
            try:
                self.driver.click(information, "受控模块审批首页")
            except:
                self.driver.click(information1, "受控模块审批首页")
            # 点击审批--软集
            # approval = self.driver.find_elements(By.XPATH, '//button[@title="审批"]/i')[0]
            # self.driver.execute_script("arguments[0].click();", approval)
        with allure.step('输入审批结果'):
            # 点击审批结果
            self.driver.click(apply_result, "审批信息页")
            # 选择审批结果
            self.driver.click(apply_result_list, "审批信息页")
            # 输入审批意见
            self.driver.send_keys(approval_opinion, approvalopinion, "审批信息页")
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "审批信息页")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result1 = self.driver.text(txt1, "审批信息页")
            assert "成功" in result1
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "审批信息页")
Exemple #5
0
class TestRiskRulesApproval():
    @allure.story("内控风险规则审批")  # 对应用例标题
    @pytest.mark.parametrize("rulename, appopinion",
                             NkData.TestRiskRulesApproval)
    @allure.title("打开内控风险规则审批模块")
    def test_RiskRulesApproval(self, login, rulename, appopinion):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            # self.driver.click(level1menu, "子系统菜单")
            # if open1menu:
            #     self.driver.click(open1menu, "展开菜单")
            # else:
            #     pass
            # self.driver.click(level2menu, "内控规则管理流程菜单")
            self.driver.move(level3menu, "内控风险规则审批模块")
            self.driver.click(level3menu, "内控风险规则审批模块")
        with allure.step('界面使用iframe,转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "内控风险规则审批首页")
        with allure.step('查询内控规则信息'):
            # 查询内控规则信息
            self.driver.send_keys(rule_name, rulename, '内控风险规则审批首页')
            self.driver.click(query_button, '内控风险规则审批首页')
        with allure.step('点击审批'):
            # 点击审批按钮
            try:
                self.driver.click(button, '内控风险规则审批首页')
            except:
                self.driver.click(button1, '内控风险规则审批首页')
            # 点击审批按钮--软集
            # button = self.driver.find_elements(By.XPATH, '//button[@type="button"and@title="审批"]')[0]
            # self.driver.execute_script("arguments[0].click();", button)
        with allure.step('填写审批结果'):
            # 点击审批结果
            self.driver.click(app_result, "审批界面")
            # 选择审批结果
            self.driver.click(app_result_list, "审批界面")
            # 输入审批意见
            self.driver.send_keys(app_opinion, appopinion, "审批界面")
        with allure.step('保存审批结果'):
            # 点击审批
            self.driver.click(approval_button, "审批界面")
        with allure.step('获取提示结果信息'):
            # 获取提示结果继续操作
            result1 = self.driver.text(txt1, '内控风险规则审批首页')
            assert "成功" in result1
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, '内控风险规则审批首页')
Exemple #6
0
class TestArchivesStandardMaintenance():
    @allure.story("档案规范维护模块新增")  # 对应用例标题
    @pytest.mark.parametrize("mattname, filename, filecnt, filedescribe",
                             NkData.TestArchivesStandardMaintenance)
    @allure.title("打开档案规范维护模块")
    def test_ArchivesStandardMaintenance(self, login, mattname, filename,
                                         filecnt, filedescribe):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            # self.driver.click(level1menu, "子系统菜单")
            # if open1menu:
            #     self.driver.click(open1menu, "展开菜单")
            # else:
            #     pass
            # self.driver.click(level2menu, "业务规范设置管理菜单")
            self.driver.move(level3menu, "档案规范维护模块")
            self.driver.click(level3menu, "档案规范维护模块")
        with allure.step('界面使用iframe,转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "档案规范维护首页")
        with allure.step('查询服务事项信息'):
            # 查询服务事项信息
            self.driver.send_keys(matt_name, mattname, "档案规范维护首页")
            self.driver.click(query_button, "档案规范维护首页")
        with allure.step('点击编辑'):
            # 点击编辑
            try:
                self.driver.click(information, "档案规范维护首页")
            except:
                self.driver.click(information1, "档案规范维护首页")
        with allure.step('点击新增'):
            # 点击新增
            self.driver.click(add_button, "服务事项环节档案规范信息表")
            # 输入档案材料名称
            self.driver.send_keys(file_name, filename, "服务事项环节档案规范信息表")
            # 输入档案材料数量
            self.driver.send_keys(file_cnt, filecnt, "服务事项环节档案规范信息表")
            # 输入档案材料说明
            self.driver.send_keys(file_describe, filedescribe, "服务事项环节档案规范信息表")
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "服务事项环节档案规范信息表")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result = self.driver.text(txt, "服务事项环节档案规范信息表")
            assert "成功" in result
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "档案规范维护首页")
Exemple #7
0
class TestControlledModuleEffective():
    @allure.story("受控模块生效申请维护")  # 对应allure报告用例标题
    # pytest参数化数据信息
    @pytest.mark.parametrize('menuname, applydesc',
                             NkData.TestControlledModuleEffective)
    @allure.title("受控模块生效申请")  # 对应allure报告
    def test_ControlledModuleEffective(self, login, menuname, applydesc):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            # self.driver.click(level1menu, "子系统菜单")
            # if open1menu:
            #     self.driver.click(open1menu, "展开菜单")
            # else:
            #     pass
            # self.driver.move(level2menu, "内控功能模块管理")
            # self.driver.click(level2menu, "受控模块登记模块")
            self.driver.move(level3menu, "受控模块登记模块")
            self.driver.click(level3menu, "受控模块登记模块")
        with allure.step('转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "受控模块生效申请首页")
        with allure.step('查询信息'):
            # 查询子系统信息
            self.driver.send_keys(menu_name, menuname, "受控模块生效申请首页")
            self.driver.click(query_button, "受控模块生效申请首页")
        with allure.step('点击提交申请'):
            # 点击提交申请
            try:
                self.driver.click(information, "受控模块生效申请首页")
            except:
                self.driver.click(information1, "受控模块生效申请首页")
            # 点击提交申请--软集
            # submit = self.driver.find_elements(By.XPATH, '//button[@title="提交申请"]/i')[0]
            # self.driver.execute_script("arguments[0].click();", title)
        with allure.step('输入申请原因'):
            # 输入申请原因
            self.driver.send_keys(apply_describe, applydesc, "生效申请信息页")
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "生效申请信息页")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result1 = self.driver.text(txt1, "受控模块生效申请首页")
            assert "成功" in result1
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "受控模块生效申请首页")
class TestRiskControlParameters():
    @allure.story("内控参数设置维护")  # 对应allure报告用例标题
    # pytest参数化数据信息
    @pytest.mark.parametrize('rulename, paracode, paraname, paraval, paradesc',
                             NkData.TestRiskControlParameters)
    @allure.title("内控参数设置")  # 对应allure报告
    def test_RiskControlParameters(self, login, rulename, paracode, paraname,
                                   paraval, paradesc):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            # self.driver.click(level1menu, "子系统菜单")
            # if open1menu:
            #     self.driver.click(open1menu, "展开菜单")
            # else:
            #     pass
            # self.driver.move(level2menu, "内控功能模块管理")
            # self.driver.click(level2menu, "内控功能模块管理")
            self.driver.move(level3menu, "受控模块审批模块")
            self.driver.click(level3menu, "受控模块审批模块")
        with allure.step('内控弹框点掉'):
            # 内控弹框点掉
            try:
                js = (
                    By.XPATH,
                    '//div[@id="app"]/following-sibling::div[@class="el-dialog__wrapper"]//*[text()="我已阅读并知晓"]'
                )
                self.driver.execute_script(js, "内控参数设置首页")
            except:
                pass
        with allure.step('转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "内控参数设置首页")

        with allure.step('内控弹框点掉'):
            # 查询受内控规则
            self.driver.send_keys(rule_name, rulename, "内控参数设置首页")
            self.driver.click(query_button, "内控参数设置首页")
        with allure.step('点击维护'):
            # 点击维护--自用
            try:
                self.driver.click(information, "内控参数设置首页")
            except:
                self.driver.click(information1, "内控参数设置首页")
            # 点击维护--软集
            # maintenance = self.driver.find_elements(By.XPATH, '//button[@title="维护"]/i')[0]
            # self.driver.execute_script("arguments[0].click();", maintenance)
        with allure.step('点击新增'):
            # 点击新增
            self.driver.click(add_button, "规则参数信息页")
        with allure.step('内控弹框点掉'):
            # 输入参数编码
            self.driver.send_keys(para_code, paracode, '参数信息')
            # 输入参数名称
            self.driver.send_keys(para_name, paraname, '参数信息')
            # 点击参数类型
            self.driver.click(para_type, '参数信息')
            # 选择参数类型
            self.driver.click(para_type_list, '参数信息')
            # 输入参数值
            self.driver.send_keys(para_val, paraval, '参数信息')
            # 输入参数描述
            self.driver.send_keys(para_desc, paradesc, '参数信息')
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, '参数信息')
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result1 = self.driver.text(txt1, "规则参数信息页")
            assert "成功" in result1
        with allure.step('内控弹框点掉'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "内控参数设置首页")
class TestItemEventMaintenance():
    @allure.story("事项事件维护模块新增")  # 对应用例标题
    @pytest.mark.parametrize("mattname, evtno, evtname, evtdescribe",
                             NkData.TestItemEventMaintenance)
    @allure.title("打开事项事件维护模块")
    def test_ItemEventMaintenance(self, login, mattname, evtno, evtname,
                                  evtdescribe):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            self.driver.click(level1menu, "子系统菜单")
            if open1menu:
                self.driver.click(open1menu, "展开菜单")
            else:
                pass
            self.driver.click(level2menu, "业务规范设置管理菜单")
            self.driver.move(level3menu, "事项事件维护模块")
            self.driver.click(level3menu, "事项事件维护模块")
        # with allure.step('内控弹框点掉'):
        # 内控弹框点掉
        # try:
        #     js = 'document.querySelector' \
        #          '("body > div.el-dialog__wrapper > div > div.el-dialog__body > div.confirm-button").click();'
        #     self.driver.execute_script(js)
        #     self.logger.info('点击内控弹框')
        # except:
        #     self.logger.info('没有内控弹框')
        with allure.step('界面使用iframe,转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "事项事件维护首页")
        with allure.step('查询并选择服务事项'):
            # 查询服务事项信息
            self.driver.send_keys(matt_name, mattname, '事项事件维护首页')
            self.driver.click(query_button, '事项事件维护首页')
            # 选择查询服务事项信息
            try:
                self.driver.click(information, '事项事件维护首页')
            except:
                self.driver.click(information1, '事项事件维护首页')
            # 选择查询服务事项信息--软集
            # radio = self.driver.find_elements(By.XPATH, '//input[@type="radio"and@class="el-radio__original"]')[0]
            # self.driver.execute_script("arguments[0].click();", radio)
        with allure.step('点击新增'):
            # 点击新增
            self.driver.click(add_button, '事项事件维护首页')
        with allure.step('输入信息'):
            # 输入事件编号
            self.driver.send_keys(evt_no, evtno, "服务事项事件信息表")
            # 输入事件名称
            self.driver.send_keys(evt_name, evtname, "服务事项事件信息表")
            # 输入事件描述
            self.driver.send_keys(evt_describe, evtdescribe, "服务事项事件信息表")
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "服务事项事件信息表")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result = self.driver.text(txt, "事项事件维护首页")
            assert "成功" in result
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "事项事件维护首页")
Exemple #10
0
class TestPolicyInformationMaintenance():
    @allure.story("政策信息维护模块新增")  # 对应用例标题
    @pytest.mark.parametrize(
        "polno, yeardata, indxdata, ttldata, reguldata, pfzdata, sbjwdata, regulcontdata",
        NkData.TestPolicyInformationMaintenance)
    @allure.title("打开政策信息维护模块")
    def test_PolicyInformationMaintenance(self, login, polno, yeardata,
                                          indxdata, ttldata, reguldata,
                                          pfzdata, sbjwdata, regulcontdata):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            # self.driver.click(level1menu, "子系统菜单")
            # if open1menu:
            #     self.driver.click(open1menu, "展开菜单")
            # else:
            #     pass
            # self.driver.click(level2menu, "业务规范设置管理菜单")
            self.driver.move(level3menu, "政策信息维护模块")
            self.driver.click(level3menu, "政策信息维护模块")
        # with allure.step('内控弹框点掉'):
        # 内控弹框点掉
        # try:
        #     js = 'document.querySelector' \
        #          '("body > div.el-dialog__wrapper > div > div.el-dialog__body > div.confirm-button").click();'
        #     self.driver.execute_script(js)
        #     self.logger.info('点击内控弹框')
        # except:
        #     self.logger.info('没有内控弹框')
        with allure.step('界面使用iframe,转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "政策信息维护首页")
        with allure.step('点击新增'):
            # 点击新增
            self.driver.click(add_button, "政策信息维护首页")
        with allure.step('输入信息'):
            # 输入政策法规编号
            self.driver.send_keys(pol_no, polno, "政策法规信息表")
            # 输入年份
            self.driver.send_keys(year, yeardata, "政策法规信息表")
            self.driver.send_keys(year, Keys.ENTER, "政策法规信息表")
            # 输入索引号
            self.driver.send_keys(indx, indxdata, "政策法规信息表")
            # # 输入发布日期
            # rls_date = (By.XPATH, '//label[@for="rlsDate"]/..//input')
            # self.driver.send_keys(rls_date, "2020-05-01", "政策法规信息表")
            # 输入标题
            self.driver.send_keys(ttl, ttldata, "政策法规信息表")
            # 输入政策法规来源
            self.driver.send_keys(regulations_sources, reguldata, "政策法规信息表")
            # 输入发文字号
            self.driver.send_keys(post_fonts_z, pfzdata, "政策法规信息表")
            # 输入主题词
            self.driver.send_keys(sbjwd, sbjwdata, "政策法规信息表")
            # 输入法规摘要
            self.driver.send_keys(regulations_cont, regulcontdata, "政策法规信息表")
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "政策法规信息表")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result = self.driver.text(txt, "政策信息维护首页")
            assert "成功" in result
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "政策信息维护首页")
class TestIncompatibleRoleMaintenance():
    @allure.story("不相容角色维护模块新增")  # 对应用例标题
    @pytest.mark.parametrize("rolename, businname, busin2name, roledesc",
                             NkData.TestIncompatibleRoleMaintenance)
    @allure.title("打开不相容角色维护模块")
    def test_IncompatibleRoleMaintenance(self, login, rolename, businname,
                                         busin2name, roledesc):
        driver = login
        self.driver = BasePage(driver)
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            # self.driver.click(level1menu, "子系统菜单")
            # if open1menu:
            #     self.driver.click(open1menu, "展开菜单")
            # else:
            #     pass
            # self.driver.click(level2menu, "业务规范设置管理菜单")
            self.driver.move(level3menu, "不相容角色维护模块")
            self.driver.click(level3menu, "不相容角色维护模块")
        with allure.step('转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, '不相容角色维护首页')
        with allure.step('点击新增'):
            # 点击新增
            self.driver.click(add_button, '不相容角色维护首页')
        with allure.step('输入信息'):
            # 输入互斥角色规范名称
            self.driver.send_keys(role_name, rolename, "互斥规范页面")
            # 点击角色1编号
            self.driver.click(role1_no)
            # 查询业务角色名称
            self.driver.send_keys(business_role_name, businname, '业务角色信息界面')
            self.driver.click(quer_button, "业务角色信息界面")
            # 选择业务角色信息
            try:
                self.driver.click(informatio, "业务角色信息界面")
            except:
                self.driver.click(informatio1, "业务角色信息界面")
            # 选择信息--软集
            # radio = self.driver.find_elements(By.XPATH, '//input[@type="radio"and@class="el-radio__original"]')[0]
            # self.driver.execute_script("arguments[0].click();", radio)
            # 点击确定
            self.driver.click(confirm_button_1, "业务角色信息界面")
            # 点击角色2编号
            self.driver.click(role2_no, "互斥规范页面")
            # 查询业务角色2名称
            self.driver.send_keys(business_role2_name, busin2name, "业务角色信息界面")
            self.driver.click(query_button, "业务角色信息界面")
            # 选择业务角色信息
            try:
                self.driver.click(information, "业务角色信息界面")
            except:
                self.driver.click(information1, "业务角色信息界面")
            # 选择信息--软集
            # radio = self.driver.find_elements(By.XPATH, '//input[@type="radio"and@class="el-radio__original"]')[0]
            # self.driver.execute_script("arguments[0].click();", radio)
            # 点击确定
            self.driver.click(confirm_button, "业务角色信息界面")
            # 输入互斥原因
            self.driver.send_keys(role_describe, roledesc, "互斥规范页面")
            # 点击保存
            self.driver.click(save_button, "互斥规范页面")
            # 获取提示结果继续操作
            result = self.driver.text(txt, '不相容角色维护首页')
            assert "成功" in result
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, '不相容角色维护首页')
class TestRiskControlRules():

    @allure.story("内控风险规则登记模块新增")  # 对应用例标题
    @pytest.mark.parametrize(
        "mattname, mattnodename, rulecode, rulename, ctrlruledesc, msgContdesc, sermattname", NkData.TestRiskControlRules)
    @allure.title("打开内控风险规则登记模块")
    def test_RiskControlRules(
            self, login, mattname, mattnodename, rulecode, rulename, ctrlruledesc,msgContdesc, sermattname):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            self.driver.click(level1menu, "子系统菜单")
            if open1menu:
                self.driver.click(open1menu, "展开菜单")
            else:
                pass
            self.driver.click(level2menu, "内控规则管理流程菜单")
            self.driver.click(level3menu, "内控风险规则登记模块")
        with allure.step('界面使用iframe,转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "内控风险规则登记首页")
        with allure.step('点击新增'):
            # 点击新增
            self.driver.click(add_button, "内控风险规则登记首页")
        with allure.step('输入信息'):
            # 点击服务事项编号
            self.driver.click(matt_no, "维护信息界面")
            # 查询服务事项信息
            self.driver.send_keys(matt_name, mattname, '服务事项信息界面')
            self.driver.click(risk_querybutton, '服务事项信息界面')
            # 选择服务事项信息
            try:
                self.driver.click(risk_information, '服务事项信息界面')
            except:
                self.driver.click(risk_information1, '服务事项信息界面')
            # 选择信息--软集
            # radio = self.driver.find_elements(By.XPATH, '//input[@type="radio"and@class="el-radio__original"]')[0]
            # self.driver.execute_script("arguments[0].click();", radio)
            # 点击确定
            self.driver.click(confirm_button, '服务事项信息界面')
            # 点击业务环节编号
            self.driver.click(matt_node_no, "维护信息界面")
            # 查询子系统信息
            self.driver.send_keys(matt_node_name, mattnodename, '服务事项环节信息界面')
            self.driver.click(query_button, '服务事项环节信息界面')
            # 选择服务事项环节信息
            try:
                self.driver.click(information, '服务事项环节信息界面')
            except:
                self.driver.click(information1, '服务事项环节信息界面')
            # 选择服务事项环节信息--软集
            # radio = self.driver.find_elements(By.XPATH, '//input[@type="radio"and@class="el-radio__original"]')[0]
            # self.driver.execute_script("arguments[0].click();", radio)
            # 点击确定
            self.driver.click(confirm_button1, '服务事项环节信息界面')
            # 输入内控规则编号
            self.driver.send_keys(rule_code, rulecode, "维护信息界面")
            # 输入内控规则名称
            self.driver.send_keys(rule_name, rulename, "维护信息界面")
            # 点击内控程度
            self.driver.click(ctrl_degree, "维护信息界面")
            # 选择内控程度
            self.driver.click(ctrl_degree_list, "维护信息界面")
            # 点击规则类别
            self.driver.click(ctrl_rule_type, "维护信息界面")
            # 选择规则类别
            self.driver.click(ctrl_rule_type_list, "维护信息界面")
            # 输入内控规则描述
            self.driver.send_keys(ctrl_rule_describe, ctrlruledesc, "维护信息界面")
            # 输入消息内容
            self.driver.send_keys(msgCont, msgContdesc, "维护信息界面")
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "维护信息界面")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result = self.driver.text(txt, "内控风险规则登记首页")
            assert "成功" in result
            # time.sleep(3)
        with allure.step('首页界面查询框点击查询'):
            # 首页界面查询框点击查询
            self.driver.send_keys(ser_matt_name, sermattname, "内控风险规则登记首页")
            self.driver.click(query_button1, "内控风险规则登记首页")
        with allure.step('点击提交'):
            # 点击提交
            try:
                self.driver.click(submit, "内控风险规则登记首页")
            except:
                self.driver.click(submit1, "内控风险规则登记首页")
            # 点击提交
            # submit = self.driver.find_elements(By.XPATH, '//button[@type="button"and@title="提交"]')[0]
            # self.driver.execute_script("arguments[0].click();", submit)
            # 点击确定
            self.driver.click(confirm_button2, "内控风险规则登记首页")
            # 获取提示结果继续操作
            result1 = self.driver.text(txt1, "内控风险规则登记首页")
            assert "成功" in result1
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "内控风险规则登记首页")
class TestControlledModuleRegistration():
    @allure.story("受控模块登记模块维护")  # 对应allure报告用例标题
    # pytest参数化数据信息
    @pytest.mark.parametrize('mattnodename, menuname, warncont',
                             NkData.TestControlledModuleRegistration)
    @allure.title("受控模块登记")  # 对应allure报告
    def test_ControlledModuleRegistration(self, login, mattnodename, menuname,
                                          warncont):
        driver = login
        self.driver = BasePage(driver)
        with allure.step('打开菜单'):
            self.driver.click(level1menu, "子系统菜单")
            if open1menu:
                self.driver.click(open1menu, "展开菜单")
            else:
                pass
            self.driver.move(level2menu, "内控功能模块管理")
            self.driver.click(level2menu, "内控功能模块管理")
            self.driver.move(level3menu, "内控功能模块管理")
            self.driver.click(level3menu, "受控模块登记模块")
        with allure.step('转换成iframe进行定位'):
            # 界面使用iframe,转换成iframe进行定位
            self.driver.switch_frame(iframe, "受控模块登记模块首页")
        with allure.step('点击新增'):
            # 点击新增
            self.driver.click(add_button, "受控模块登记模块首页")
        with allure.step('输入新增信息'):
            # 点击业务环节名称
            self.driver.click(servMattNodeName, "受控模块登记界面")
            # 查询业务环节名称
            self.driver.send_keys(matt_node_name, mattnodename, "服务事项环节选择界面")
            # 点击查询
            self.driver.click(query_button, "服务事项环节选择界面")
            # 点击选择
            try:
                self.driver.click(information1, "服务事项环节选择界面")
            except:
                self.driver.click(information, "服务事项环节选择界面")
            # 选择业务环节信息--软集
            # radio = self.driver.find_elements(By.XPATH, '//button[@title="选择"]/i')[0]
            # self.driver.execute_script("arguments[0].click();", radio)
            # 点击菜单编码
            self.driver.click(menu_no, "受控模块登记界面")
            # 查询菜单信息
            self.driver.send_keys(menu_name, menuname, "菜单选择界面")
            self.driver.click(menu_query_button, "菜单选择界面")
            # 选择菜单信息
            try:
                self.driver.click(skmkinf, "菜单选择界面")
            except:
                self.driver.click(skmkinf1, "菜单选择界面")
            # 选择菜单信息--软集
            # radio = self.driver.find_elements(By.XPATH, '//button[@title="选择"]/i')[0]
            # self.driver.execute_script("arguments[0].click();", radio)
            # 点击事前提醒
            self.driver.click(warn, "受控模块登记界面")
            # 选择是否提醒
            self.driver.click(warn_list, "受控模块登记界面")
            # 输入提醒内容
            self.driver.send_keys(warn_cont, warncont, "受控模块登记界面")
            # 点击事中记录
            self.driver.click(rcd, "受控模块登记界面")
            # 选择是否记录
            self.driver.click(rcd_list, "受控模块登记界面")
            # 选择规则信息
            try:
                self.driver.click(SERVMATinf, "受控模块登记界面")
            except:
                self.driver.click(SERVMATinf1, "受控模块登记界面")
            # 选择规则信息--软集
            # checkbox = self.driver.find_elements(By.XPATH, '//input[@type="checkbox"and@class="el-checkbox__inner"]')[0]
            # self.driver.execute_script("arguments[0].click();", checkbox)
        with allure.step('点击保存'):
            # 点击保存
            self.driver.click(save_button, "受控模块登记界面")
        with allure.step('获取提示结果继续操作'):
            # 获取提示结果继续操作
            result1 = self.driver.text(txt1, "受控模块登记模块首页")
            assert "成功" in result1
        with allure.step('关闭模块'):
            # 关闭模块
            self.driver.switch_back()
            self.driver.click(close, "受控模块登记模块首页")