yj
2024-07-25 c0dc1bc9676d0bc15355cfd16e9bb92a31518aa8
testcase/test_ciaq.py
@@ -16,47 +16,6 @@
    driver = None
    test_package_name = "CIAQ自动测试包-20230718171809"
    @pytest.mark.parametrize('data_read', ["login"], indirect=True)
    def test_login(self, data_read: dict):
        """
        打开页面并进行登录测试
        :param data_read: 执行数据读取的函数并获取到返回值
        :return:
        """
        TestCIAQ.driver = webdriver.Chrome()
        driver = TestCIAQ.driver
        login_page = LoginPage(driver)
        try:
            # 打开链接
            driver.get(data_read["url"])
        except:
            # 链接打开出现异常说明链接无法访问,捕获异常但不做处理
            pass
        # 浏览器窗口最大化
        driver.maximize_window()
        # 获取到刷新按钮并每10秒点击一次,知道刷新按钮消失
        while True:
            try:
                # 判断打开的页面是否存在刷新按钮
                reload_btn = login_page.get_element((By.XPATH, "//div[@id='buttons']/div/button[@id='reload-button']"))
                # 点击刷新按钮
                reload_btn.click()
                time.sleep(10)
            except:
                # 出现异常表示不存在刷新按钮
                # 接着判断是否存在nginx error!
                try:
                    nginx_error = login_page.get_element((By.XPATH, "//strong[text() = 'nginx error!']"))
                    # 存在则睡眠10秒
                    time.sleep(10)
                except:
                    break
        login_page.login(data_read["username"], data_read["password"], data_read["code"])
        time.sleep(2)
        assert login_page.is_login_success()
    @pytest.mark.parametrize('data_read', ["CIAQ"], indirect=True)
    def test_create_package(self, data_read: dict):
        """
@@ -73,46 +32,48 @@
        # 创建测试包列表页面的对象
        test_package_list = TestPackageListPage(driver)
        # 点击创建按钮
        test_package_list.create_btn()
        test_package_list.click(test_package_list.es.create_btn)
        # 获取当前时间
        current_time = datetime.now()
        # 转换为字符串
        time_str = current_time.strftime("%Y%m%d%H%M%S")
        # 创建测试包填写的参数
        # 测试包名称
        test_package_name = "CIAQ自动测试包-" + time_str
        # 设置测试包名称为类变量
        TestCIAQ.test_package_name = test_package_name
        # 获取创建测试包的数据
        create_data = data_read["add"]
        # 填写测试包名称
        test_package_list.testPackageName_input(test_package_name)
        test_package_list.fill(test_package_list.es.add_testPackageName_input, test_package_name)
        # 填写报告企业名称
        test_package_list.reportCompanyName_input(create_data["company"])
        test_package_list.fill(test_package_list.es.add_reportCompanyName_input, create_data["company"])
        # 选择测试包类型
        test_package_list.testPackageType_select(create_data["type"])
        test_package_list.select(test_package_list.es.add_testPackageType_select, test_package_list.es.add_testPackageType_option, create_data["type"])
        # 选择产品包
        test_package_list.prodTree_select(create_data["product"])
        # 输入hr邮箱
        test_package_list.hrReportEmail_input(create_data["hrEmail"])
        test_package_list.fill(test_package_list.es.add_hrEmail_input, create_data["hrEmail"])
        # 输入有效期
        test_package_list.invalidTime_input(create_data["invalid"])
        test_package_list.fill(test_package_list.es.add_invalidTime, create_data["invalid"])
        # 选择邀请邮件语言类型
        test_package_list.testTemplateLangType_select(create_data["memberLang"])
        test_package_list.select(test_package_list.es.add_templateLangType_select, test_package_list.es.add_templateLangType_option, create_data["memberLang"])
        # 选择HR邮件语言类型
        test_package_list.hrTemplateLangType_select(create_data["hrReportLang"])
        test_package_list.select(test_package_list.es.add_hrTemplateLangType_select, test_package_list.es.add_hrTemplateLangType_option, create_data["hrReportLang"])
        # 选择报告模板
        test_package_list.reportTemplate_select(create_data["reportTemplate"])
        test_package_list.select(test_package_list.es.add_reportTemplateId_select, test_package_list.es.add_reportTemplateId_option, create_data["reportTemplate"])
        # 点击测试者接收报告
        test_package_list.autoSendReport_checkbox()
        test_package_list.click(test_package_list.es.add_autoSendReport_checkbox)
        # 选择测试者报告邮箱语言类型
        test_package_list.memberReportLangType_select(create_data["memberReportLang"])
        test_package_list.select(test_package_list.es.add_memberReportLangType_select, test_package_list.es.add_memberReportLangType_option, create_data["memberReportLang"])
        # 选择人口学编码
        test_package_list.select_code_checkbox(create_data["checkCode"], create_data["uncheckCode"])
        # 点击确认按钮
        test_package_list.add_confirm()
        test_package_list.click(test_package_list.es.add_confirm_btn)
        time.sleep(2)
        # 判断是否成功创建
        assert test_package_list.is_create_success(test_package_name)
@@ -128,24 +89,21 @@
        driver = TestCIAQ.driver
        # 创建测试包列表页面的对象
        test_package_list = TestPackageListPage(driver)
        # 勾选新创建的测试包
        test_package_list.click_package_checkbox(TestCIAQ.test_package_name)
        # 点击生成分享链接按钮
        test_package_list.click_share_1_btn()
        # 获取到url
        url = test_package_list.get_share_url()
        url = test_package_list.get_share_url(TestCIAQ.test_package_name)
        # 打开新标签页加载url
        test_package_list.open_new_table_to_url(url)
        test_package_list.goto_new_table(url)
        # 创建分享页面对象
        share_add = ShareAddPage(driver)
        # 填写信息提交并获取测试链接
        name = random_string(8)
        email = name + "@gmail.com"
        test_url = share_add.page_default_operation(name, email)
        # 填写信息
        test_url = share_add.get_test_url(name, email)
        # 当前页面打开链接
        driver.get(test_url)
        # 点击提交按钮
        share_add.submit_btn()
        share_add.click(share_add.es.submit_btn)
        # 获取数据
        info = data_read["info"]
        # 填写基本信息并提交
@@ -175,7 +133,7 @@
        # 创建测试包列表页面的对象
        test_package_list = TestPackageListPage(driver)
        # 删除测试包
        test_package_list.delete_package()
        test_package_list.delete_package(TestCIAQ.test_package_name)
        time.sleep(5)
        # 关闭
        driver.quit()