阳洁
2023-07-18 a2f76fffa276389b5cab789194d0ce84416c4e6f
testcase/test_jaq.py
@@ -8,16 +8,17 @@
from po.home_page import HomePage
from po.test_package_list_page import TestPackageListPage
from po.share_add_page import ShareAddPage
from po.answer_page import AnswerPage
from po.jaq_answer_page import JAQAnswerPage
from comm.my_random import *
class TestJAQ:
    driver = None
    test_package_name = "MAQ自动测试包-20230711151825"
    test_package_name = None
    def test_login(self):
    @pytest.mark.parametrize('data_read', ["login"], indirect=True)
    def test_login(self, data_read: dict):
        """
        打开页面并进行登录测试
        :return:
@@ -27,7 +28,7 @@
        login_page = LoginPage(driver)
        try:
            # 打开链接
            driver.get("http://161.117.57.194/login?lang=zh_CN")
            driver.get(data_read["url"])
        except:
            # 链接打开出现异常说明链接无法访问,捕获异常但不做处理
            pass
@@ -52,11 +53,12 @@
                except:
                    break
        login_page.login("admin", "ots@2021!!", "ots")
        login_page.login(data_read["username"], data_read["password"], data_read["code"])
        time.sleep(2)
        assert login_page.is_login_success()
    def test_create_package(self):
    @pytest.mark.parametrize('data_read', ["JAQ"], indirect=True)
    def test_create_package(self, data_read: dict):
        """
        创建测试包
        :return:
@@ -66,8 +68,7 @@
        # 创建home页面的对象
        home_page = HomePage(driver)
        # 点击左侧菜单进入页面
        home_page.menu_select("测试包管理/测试包列表")
        home_page.menu_select(data_read["menu"])
        # 创建测试包列表页面的对象
        test_package_list = TestPackageListPage(driver)
        # 点击创建按钮
@@ -81,66 +82,46 @@
        test_package_name = "JAQ自动测试包-" + time_str
        # 设置测试包名称为类变量
        TestJAQ.test_package_name = test_package_name
        # 报告企业名称
        report_company_name = "TAI测试"
        # 测试包类型
        test_package_type = "工作分析包"
        # 产品包
        prod_name = "JAQ"
        # HR邮箱
        hr_email = "2077506045@qq.com"
        # 有效期
        invalid_time = "2024-01-01 00:00:00"
        # 测试者邀请邮件语言类型
        test_email_lang_type = "中文"
        # hr报告邮件语言类型
        hr_report_email_lang_type = "中文"
        # 报告模板
        report_template = "JAQ-Complete-Chinese"
        # 要评价的岗位
        position = "主管"
        # 职业大类
        professional_category = "管理"
        # 上级岗位
        superior_position = "总经理"
        # 测试者报告邮件语言类型
        member_report_email_lang_type = "中文"
        # 获取创建测试包的数据
        create_data = data_read["add"]
        # 填写测试包名称
        test_package_list.testPackageName_input(test_package_name)
        # 填写报告企业名称
        test_package_list.reportCompanyName_input(report_company_name)
        test_package_list.reportCompanyName_input(create_data["company"])
        # 选择测试包类型
        test_package_list.testPackageType_select(test_package_type)
        test_package_list.testPackageType_select(create_data["type"])
        # 选择产品包
        test_package_list.prodTree_select(prod_name)
        test_package_list.prodTree_select(create_data["product"])
        # 输入hr邮箱
        test_package_list.hrReportEmail_input(hr_email)
        test_package_list.hrReportEmail_input(create_data["hrEmail"])
        # 输入有效期
        test_package_list.invalidTime_input(invalid_time)
        test_package_list.invalidTime_input(create_data["invalid"])
        # 选择邀请邮件语言类型
        test_package_list.testTemplateLangType_select(test_email_lang_type)
        test_package_list.testTemplateLangType_select(create_data["memberLang"])
        # 选择HR邮件语言类型
        test_package_list.hrTemplateLangType_select(hr_report_email_lang_type)
        test_package_list.hrTemplateLangType_select(create_data["hrReportLang"])
        # 选择报告模板
        test_package_list.reportTemplate_select(report_template)
        test_package_list.reportTemplate_select(create_data["reportTemplate"])
        # 输入要评价的岗位
        test_package_list.position_input(position)
        test_package_list.position_input(create_data["position"])
        # 输入职业大类
        test_package_list.professionalCategory_input(professional_category)
        test_package_list.professionalCategory_input(create_data["professionalCategory"])
        # 输入上级岗位
        test_package_list.superiorPosition_input(superior_position)
        test_package_list.superiorPosition_input(create_data["superiorPosition"])
        # 点击测试者接收报告
        test_package_list.autoSendReport_checkbox()
        # 选择测试者报告邮箱语言类型
        test_package_list.memberReportLangType_select(member_report_email_lang_type)
        test_package_list.memberReportLangType_select(create_data["memberReportLang"])
        # 点击确认按钮
        test_package_list.add_confirm()
        time.sleep(2)
        # 判断是否成功创建
        assert test_package_list.is_create_success(test_package_name)
        time.sleep(5)
    def test_open_url(self):
    @pytest.mark.parametrize('data_read', ["JAQ"], indirect=True)
    def test_open_url(self, data_read: dict):
        """
        打开分享链接
        :return:
@@ -163,30 +144,32 @@
        name = random_string(8)
        email = name + "@gmail.com"
        test_url = share_add.page_default_operation(name, email)
        # test_url = "http://161.117.57.194/exam-stu/#/ots/94830ada-8f6c-44c0-8946-79c43267d9c1/login"
        # 当前页面打开链接
        driver.get(test_url)
        # 点击提交按钮
        share_add.submit_btn()
        # 获取数据
        info = data_read["info"]
        # 填写基本信息并提交
        share_add.fill_info(email, "职员", "人事部")
        # 点击开始测试
        share_add.submit_btn()
        share_add.fill_info(email, info["position"], info["dept"])
        time.sleep(5)
    def test_answer(self):
        # 获取driver
        driver = TestJAQ.driver
        # 创建answer对象
        answer_page = AnswerPage(driver)
        answer_page = JAQAnswerPage(driver)
        # 点击开始测试
        answer_page.start_btn()
        # 开始答题
        # flag = answer_page.answer_MAQ()
        # if not flag:
        #     assert flag
        #     return
        flag = answer_page.answer()
        # 答完题关闭当前标签页
        driver.close()
        # 切换到第一个标签页
        answer_page.switch_window(0)
        if flag is not None or not flag:
            assert flag
            return
    def test_delete_package(self):
        # 获取driver