| | |
| | | driver = None |
| | | test_package_name = None |
| | | |
| | | @pytest.mark.parametrize('data_read', ["login"], indirect=True) |
| | | def test_login(self, data_read: dict): |
| | | """ |
| | | 打开页面并进行登录测试 |
| | | :return: |
| | | """ |
| | | TestJAQ.driver = webdriver.Chrome() |
| | | driver = TestJAQ.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', ["JAQ"], indirect=True) |
| | | def test_create_package(self, data_read: dict): |
| | | """ |
| | |
| | | create_data = data_read["add"] |
| | | |
| | | # 填写测试包名称 |
| | | test_package_list.testPackageName_input(test_package_name) |
| | | test_package_list.reportCompanyName_input(create_data["company"]) |
| | | test_package_list.fill(test_package_list.es.add_testPackageName_input, test_package_name) |
| | | # 填写报告企业名称 |
| | | 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.position_input(create_data["position"]) |
| | | test_package_list.fill(test_package_list.es.add_position_input, create_data["position"]) |
| | | # 输入职业大类 |
| | | test_package_list.professionalCategory_input(create_data["professionalCategory"]) |
| | | test_package_list.fill(test_package_list.es.add_professionalCategory_input, create_data["professionalCategory"]) |
| | | # 输入上级岗位 |
| | | test_package_list.superiorPosition_input(create_data["superiorPosition"]) |
| | | test_package_list.fill(test_package_list.es.add_superiorPosition_input, create_data["superiorPosition"]) |
| | | # 点击测试者接收报告 |
| | | 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.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) |
| | |
| | | driver = TestJAQ.driver |
| | | # 创建测试包列表页面的对象 |
| | | test_package_list = TestPackageListPage(driver) |
| | | # 勾选新创建的测试包 |
| | | test_package_list.click_package_checkbox(TestJAQ.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(TestJAQ.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"] |
| | | # 填写基本信息并提交 |
| | |
| | | # 点击开始测试 |
| | | answer_page.start_btn() |
| | | # 开始答题 |
| | | flag = answer_page.answer_MAQ() |
| | | flag = answer_page.answer() |
| | | # 答完题关闭当前标签页 |
| | | driver.close() |
| | | # 切换到第一个标签页 |
| | |
| | | # 创建测试包列表页面的对象 |
| | | test_package_list = TestPackageListPage(driver) |
| | | # 删除测试包 |
| | | test_package_list.delete_package() |
| | | test_package_list.delete_package(TestJAQ.test_package_name) |
| | | time.sleep(5) |
| | | # 关闭 |
| | | driver.quit() |