阳洁
2023-07-14 70e15e9cc6d9e789084d74f6b1e963631585ee6e
测评系统自动测试
3个文件已修改
1 文件已复制
1 文件已重命名
120 ■■■■ 已修改文件
elements/test_package_list_elements.py 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
po/test_package_list_page.py 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
testcase/test_jaq.py 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
testcase/test_maq.py 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
elements/test_package_list_elements.py
@@ -53,6 +53,12 @@
    add_hrTemplateLangType_option = (By.XPATH, "//select[@name='hrTemplateLangType']/../div/div/ul/li/a/span[2]")
    # add-报告模板
    add_reportTemplateId_select = (By.XPATH, "//select[@name='reportTemplateId']/../button")
    # add-要评价的岗位
    add_position_input = (By.XPATH, "//input[@name='position']")
    # add-职业大类
    add_professionalCategory_input = (By.XPATH, "//input[@name='professionalCategory']")
    # add-上级岗位
    add_superiorPosition_input = (By.XPATH, "//input[@name='superiorPosition']")
    # add-报告模板选项
    add_reportTemplateId_option = (By.XPATH, "//select[@name='reportTemplateId']/../div/div/ul/li/a/span[2]")
    # add-测试者接收报告
main.py
@@ -5,7 +5,7 @@
def run_testcases():
    pytest.main(['-vs', '--html=report/report.html', 'testcase/test_smoking.py'])
    pytest.main(['-vs', '--html=report/report.html', 'testcase/test_*.py'])
if __name__ == '__main__':
po/test_package_list_page.py
@@ -172,6 +172,30 @@
        # 再次点击下拉框
        self.click(PackageList.add_reportTemplateId_select)
    def position_input(self, text):
        """
        输入要评价的岗位
        :param text:
        :return:
        """
        self.send_text(text, PackageList.add_position_input)
    def professionalCategory_input(self, text):
        """
        输入职业大类
        :param text:
        :return:
        """
        self.send_text(text, PackageList.add_professionalCategory_input)
    def superiorPosition_input(self, text):
        """
        输入上级岗位
        :param text:
        :return:
        """
        self.send_text(text, PackageList.add_superiorPosition_input)
    def autoSendReport_checkbox(self):
        """
        点击测试者接收报告
@@ -260,6 +284,7 @@
        url = self.get_input_value_js(PackageList.share_url_input)
        # 退回上一层iframe
        self.switch_parent_iframe()
        time.sleep(1)
        # 点击关闭按钮
        self.click(PackageList.share_cancel_btn)
        return url
testcase/test_jaq.py
copy from testcase/test_smoking.py copy to testcase/test_jaq.py
File was copied from testcase/test_smoking.py
@@ -12,7 +12,7 @@
from comm.my_random import *
class TestSmoking:
class TestJAQ:
    driver = None
    test_package_name = "MAQ自动测试包-20230711151825"
@@ -22,8 +22,8 @@
        打开页面并进行登录测试
        :return:
        """
        TestSmoking.driver = webdriver.Chrome()
        driver = TestSmoking.driver
        TestJAQ.driver = webdriver.Chrome()
        driver = TestJAQ.driver
        login_page = LoginPage(driver)
        try:
            # 打开链接
@@ -43,8 +43,14 @@
                reload_btn.click()
                time.sleep(10)
            except:
                # 出现异常表示不存在刷新按钮,退出循环
                break
                # 出现异常表示不存在刷新按钮
                # 接着判断是否存在nginx error!
                try:
                    nginx_error = login_page.get_element((By.XPATH, "//strong[text() = 'nginx error!']"))
                    # 存在则睡眠10秒
                    time.sleep(10)
                except:
                    break
        login_page.login("admin", "ots@2021!!", "ots")
        time.sleep(2)
@@ -56,7 +62,7 @@
        :return:
        """
        # 获取driver
        driver = TestSmoking.driver
        driver = TestJAQ.driver
        # 创建home页面的对象
        home_page = HomePage(driver)
        # 点击左侧菜单进入页面
@@ -72,15 +78,15 @@
        time_str = current_time.strftime("%Y%m%d%H%M%S")
        # 创建测试包填写的参数
        # 测试包名称
        test_package_name = "MAQ自动测试包-" + time_str
        test_package_name = "JAQ自动测试包-" + time_str
        # 设置测试包名称为类变量
        TestSmoking.test_package_name = test_package_name
        TestJAQ.test_package_name = test_package_name
        # 报告企业名称
        report_company_name = "TAI测试"
        # 测试包类型
        test_package_type = "人格测试包"
        test_package_type = "工作分析包"
        # 产品包
        prod_name = "MAQV2"
        prod_name = "JAQ"
        # HR邮箱
        hr_email = "2077506045@qq.com"
        # 有效期
@@ -90,7 +96,13 @@
        # hr报告邮件语言类型
        hr_report_email_lang_type = "中文"
        # 报告模板
        report_template = "MAQV2-Complete-Chinese"
        report_template = "JAQ-Complete-Chinese"
        # 要评价的岗位
        position = "主管"
        # 职业大类
        professional_category = "管理"
        # 上级岗位
        superior_position = "总经理"
        # 测试者报告邮件语言类型
        member_report_email_lang_type = "中文"
@@ -112,6 +124,12 @@
        test_package_list.hrTemplateLangType_select(hr_report_email_lang_type)
        # 选择报告模板
        test_package_list.reportTemplate_select(report_template)
        # 输入要评价的岗位
        test_package_list.position_input(position)
        # 输入职业大类
        test_package_list.professionalCategory_input(professional_category)
        # 输入上级岗位
        test_package_list.superiorPosition_input(superior_position)
        # 点击测试者接收报告
        test_package_list.autoSendReport_checkbox()
        # 选择测试者报告邮箱语言类型
@@ -128,15 +146,11 @@
        :return:
        """
        # 获取driver
        driver = TestSmoking.driver
        # 创建home页面的对象
        # home_page = HomePage(driver)
        # 点击左侧菜单进入页面
        # home_page.menu_select("测试包管理/测试包列表")
        driver = TestJAQ.driver
        # 创建测试包列表页面的对象
        test_package_list = TestPackageListPage(driver)
        # 勾选新创建的测试包
        test_package_list.click_package_checkbox(TestSmoking.test_package_name)
        test_package_list.click_package_checkbox(TestJAQ.test_package_name)
        # 点击生成分享链接按钮
        test_package_list.click_share_1_btn()
        # 获取到url
@@ -161,7 +175,7 @@
    def test_answer(self):
        # 获取driver
        driver = TestSmoking.driver
        driver = TestJAQ.driver
        # 创建answer对象
        answer_page = AnswerPage(driver)
        # 开始答题
@@ -173,6 +187,10 @@
        driver.close()
        # 切换到第一个标签页
        answer_page.switch_window(0)
    def test_delete_package(self):
        # 获取driver
        driver = TestJAQ.driver
        # 创建测试包列表页面的对象
        test_package_list = TestPackageListPage(driver)
        # 删除测试包
testcase/test_maq.py
File was renamed from testcase/test_smoking.py
@@ -12,7 +12,7 @@
from comm.my_random import *
class TestSmoking:
class TestMAQ:
    driver = None
    test_package_name = "MAQ自动测试包-20230711151825"
@@ -22,8 +22,8 @@
        打开页面并进行登录测试
        :return:
        """
        TestSmoking.driver = webdriver.Chrome()
        driver = TestSmoking.driver
        TestMAQ.driver = webdriver.Chrome()
        driver = TestMAQ.driver
        login_page = LoginPage(driver)
        try:
            # 打开链接
@@ -56,7 +56,7 @@
        :return:
        """
        # 获取driver
        driver = TestSmoking.driver
        driver = TestMAQ.driver
        # 创建home页面的对象
        home_page = HomePage(driver)
        # 点击左侧菜单进入页面
@@ -74,7 +74,7 @@
        # 测试包名称
        test_package_name = "MAQ自动测试包-" + time_str
        # 设置测试包名称为类变量
        TestSmoking.test_package_name = test_package_name
        TestMAQ.test_package_name = test_package_name
        # 报告企业名称
        report_company_name = "TAI测试"
        # 测试包类型
@@ -128,15 +128,11 @@
        :return:
        """
        # 获取driver
        driver = TestSmoking.driver
        # 创建home页面的对象
        # home_page = HomePage(driver)
        # 点击左侧菜单进入页面
        # home_page.menu_select("测试包管理/测试包列表")
        driver = TestMAQ.driver
        # 创建测试包列表页面的对象
        test_package_list = TestPackageListPage(driver)
        # 勾选新创建的测试包
        test_package_list.click_package_checkbox(TestSmoking.test_package_name)
        test_package_list.click_package_checkbox(TestMAQ.test_package_name)
        # 点击生成分享链接按钮
        test_package_list.click_share_1_btn()
        # 获取到url
@@ -161,18 +157,22 @@
    def test_answer(self):
        # 获取driver
        driver = TestSmoking.driver
        driver = TestMAQ.driver
        # 创建answer对象
        answer_page = AnswerPage(driver)
        # 开始答题
        # flag = answer_page.answer_MAQ()
        # if not flag:
        #     assert flag
        #     return
        flag = answer_page.answer_MAQ()
        if flag is None or not flag:
            assert flag
            return
        # 答完题关闭当前标签页
        driver.close()
        # 切换到第一个标签页
        answer_page.switch_window(0)
    def test_delete_package(self):
        # 获取driver
        driver = TestMAQ.driver
        # 创建测试包列表页面的对象
        test_package_list = TestPackageListPage(driver)
        # 删除测试包
@@ -182,5 +182,6 @@
        driver.quit()
if __name__ == '__main__':
    pytest.main(["-s", __file__])