web自动化6-pytest③实践测试用例-回归用例web自动化

在这里插入图片描述

# -*- coding: utf-8 -*-
"""
lemut_select - 业务受理
Author: duxiaowei
Date: 2024/7/17
"""
import time

import allure
import pytest
from selenium.webdriver.common.by import By


# 业务受理
@allure.feature("业务受理")
class Test_业务受理:

    @pytest.fixture(scope="function", autouse=True)
    def setup(self, web_start):
        self.driver = web_start
        time.sleep(1)
        self.driver.find_element(By.XPATH, '//div/span[text()="业务受理"]').click()
        time.sleep(2)
        yield
        time.sleep(1)
        # 关闭当前页签,打开-业务查询页签
        self.driver.find_element(By.XPATH, '//div/span[text()="业务受理"]').click()

    # 客满维护
    @allure.title("客满维护")
    @pytest.mark.parametrize('HIC信息单号,开始天,结束天', [("YT02407120021805", "2024-07-11", "2024-07-12")])
    def test_客满维护(self, HIC信息单号, 开始天, 结束天):
        self.driver.find_element(By.XPATH, '//ul/li[text()="客满维护"]').click()
        time.sleep(2)
        try:
            self.driver.find_element(By.XPATH, '//label[text()="HIC信息单号:"]/following-sibling::div/div/input').send_keys(
                HIC信息单号)
            time.sleep(1)
            # 时间框
            self.driver.find_element(By.XPATH, '//label[text()="挂机时间:"]/following-sibling::div/div/input').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]').clear()
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]').send_keys(
                开始天)
            time.sleep(1)
            self.driver.find_elements(By.XPATH,
                                      '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]')[
                2].clear()
            self.driver.find_elements(By.XPATH,
                                      '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]')[
                2].send_keys(结束天)
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div[@class="el-picker-panel__footer"]/button[2]/span').click()

            time.sleep(1)  # 查询
            self.driver.find_element(By.XPATH, '//span[text()="查询"]').click()
            time.sleep(2)
            text = self.driver.find_element(By.XPATH,
                                            '//div[@class!="el-table__fixed"]/div/table/tbody/tr/td[3]/div/span[text()="' + HIC信息单号 + '"]').text
            print(text)
            # 导出
            self.driver.find_element(By.XPATH,
                                     '//div[@id="clientSatList"]/div/form/div[2]/div/div[2]/button/span').click()
            time.sleep(2)
            assert text == HIC信息单号
        finally:
            self.driver.find_element(By.XPATH, '//span[contains(text(),"客户满意度")]/i').click()

    # 电商督办
    @allure.title("电商督办")
    @pytest.mark.parametrize('信息单号,开始天,结束天', [("YT02407120020689", "2024-07-05", "2024-07-12")])
    def test_电商督办(self, 信息单号, 开始天, 结束天):
        self.driver.find_element(By.XPATH, '//ul/li[text()="电商督办"]').click()
        try:
            time.sleep(2)
            self.driver.find_element(By.XPATH, '//label[text()="信息单号:"]/following-sibling::div/div/input').send_keys(
                信息单号)
            time.sleep(1)
            # 时间框
            self.driver.find_element(By.XPATH, '//label[text()="录入时间:"]/following-sibling::div/div/input').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]').clear()
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]').send_keys(
                开始天)
            time.sleep(1)
            self.driver.find_elements(By.XPATH,
                                      '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]')[
                2].clear()
            self.driver.find_elements(By.XPATH,
                                      '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]')[
                2].send_keys(结束天)
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div[@class="el-picker-panel__footer"]/button[2]/span').click()

            time.sleep(1)  # 查询
            self.driver.find_element(By.XPATH, '//span[text()="查询"]').click()
            time.sleep(2)  # 详情页
            self.driver.find_element(By.XPATH,
                                     '//div[@class!="el-table__fixed"]/div/table/tbody/tr/td/div/span/button/span[text()="详情"]').click()
            time.sleep(2)
            text = self.driver.find_element(By.XPATH,
                                            '//th[contains(text(),"信息单号:")]/following-sibling::td/span').text
            print(text)
            # 进入详情页
            assert text == 信息单号
            # 关闭
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/button[@aria-label="Close"]/i').click()
        finally:
            # 关闭
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[contains(text(),"电商督办")]/i').click()

    # 电商邀评
    @allure.title("电商邀评")
    @pytest.mark.parametrize('订单编号,开始天,结束天', [("3949535376648537739", "2024-07-05", "2024-07-13")])
    def test_电商邀评(self, 订单编号, 开始天, 结束天):
        self.driver.find_element(By.XPATH, '//ul/li[text()="电商邀评"]').click()
        try:
            time.sleep(2)
            self.driver.find_element(By.XPATH, '//label[text()="订单编号:"]/following-sibling::div/div/input').send_keys(
                订单编号)
            time.sleep(1)
            # 时间框
            self.driver.find_element(By.XPATH,
                                     '//i[@class="el-input__icon el-range__close-icon"]').click()
            self.driver.find_element(By.XPATH, '//label[text()="邀评新增时间:"]/following-sibling::div/div/input').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//label[text()="邀评新增时间:"]/following-sibling::div/div/input').send_keys(
                开始天)
            self.driver.find_elements(By.XPATH,
                                      '//label[text()="邀评新增时间:"]/following-sibling::div/div/input')[
                1].send_keys(结束天)
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[text()="查询"]').click()
            # 导出
            self.driver.find_element(By.XPATH,
                                     '//span[text()="评价导入"]/parent::button/parent::div/following-sibling::div/button/span').click()
            time.sleep(2)
            # 进入详情页
            self.driver.find_element(By.XPATH,
                                     '//div[@class!="el-table__fixed"]/div/table/tbody/tr/td/div/span/button/span[text()="闭环"]').click()
            time.sleep(2)
            text = self.driver.find_element(By.XPATH,
                                            '//*[@id="reviewUserInfo"]/div[1]/div[2]/table/tbody[1]/tr/td[1]/div/input').get_attribute(
                'value')
            # 判断值是否正确
            assert text == 订单编号
            # 关闭
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[contains(text(),"邀评客户信息")]/i').click()
        finally:
            # 关闭
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[contains(text(),"电商邀评")]/i').click()

    # 工贸督办
    @allure.title("工贸督办")
    @pytest.mark.parametrize('信息单号,开始天,结束天', [("JN02407120022700", "2024-07-05", "2024-07-13")])
    def test_工贸督办(self, 信息单号, 开始天, 结束天):
        self.driver.find_element(By.XPATH, '//ul/li[text()="工贸督办"]').click()
        try:
            time.sleep(2)
            self.driver.find_element(By.XPATH, '//label[text()="信息单号:"]/following-sibling::div/div/input').send_keys(
                信息单号)
            time.sleep(1)
            # 时间框
            self.driver.find_element(By.XPATH, '//label[text()="入库时间:"]/following-sibling::div/div/input').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]').clear()
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]').send_keys(
                开始天)
            time.sleep(1)
            self.driver.find_elements(By.XPATH,
                                      '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]')[
                2].clear()
            self.driver.find_elements(By.XPATH,
                                      '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]')[
                2].send_keys(结束天)
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div[@class="el-picker-panel__footer"]/button[2]/span').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[text()="查询"]').click()

            time.sleep(2)
            # 进入详情页
            self.driver.find_element(By.XPATH,
                                     '//div[@class!="el-table__fixed"]/div/table/tbody/tr/td/div/span/button/span[text()="查看详情"]').click()
            time.sleep(2)
            text = self.driver.find_element(By.XPATH,
                                            '//*[@id="industrySuperviseDetail"]/div[1]/div[2]/table/tbody[2]/tr/td[3]/div/input').get_attribute(
                'value')
            # 判断值是否正确
            assert text == 信息单号
            # 关闭
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[contains(text(),"督办详情")]/i').click()
        finally:
            # 关闭
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[contains(text(),"工贸督办")]/i').click()

    # 抱怨信息督办库
    @allure.title("抱怨信息督办库")
    @pytest.mark.parametrize('信息单号,开始天,结束天', [("JH02407120022611", "2024-07-05", "2024-07-13")])
    def test_抱怨信息督办库(self, 信息单号, 开始天, 结束天, web_start):
        self.driver.find_element(By.XPATH, '//ul/li[text()="抱怨信息督办库"]').click()
        try:
            time.sleep(2)
            self.driver.find_element(By.XPATH, '//label[text()="信息单号:"]/following-sibling::div/div/input').clear()
            self.driver.find_element(By.XPATH, '//label[text()="信息单号:"]/following-sibling::div/div/input').send_keys(
                信息单号)
            time.sleep(1)
            # 时间框
            self.driver.find_element(By.XPATH, '//label[text()="录单时间(起):"]/following-sibling::div/div/input').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div[@class="el-picker-panel__body"]/div[1]/span[1]/div/input').clear()
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div[@class="el-picker-panel__body"]/div[1]/span[1]/div/input').send_keys(
                开始天)
            time.sleep(2)
            # 时间框-确定
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]//div[2]/button[2]/span').click()
            # 时间框
            self.driver.find_element(By.XPATH, '//label[text()="录单时间(止):"]/following-sibling::div/div/input').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div[@class="el-picker-panel__body"]/div[1]/span[1]/div/input').clear()
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div[@class="el-picker-panel__body"]/div[1]/span[1]/div/input').send_keys(
                结束天)
            time.sleep(1)
            # 时间框-确定
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]//div[2]/button[2]/span').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[text()="查询"]').click()

            time.sleep(1)
            text = self.driver.find_element(By.XPATH,
                                            '//*[@id="complainInfoDatabase"]/div[2]/div[1]/div[3]//tr/td[3]').text
            assert text == 信息单号
        finally:
            # 关闭
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[contains(text(),"抱怨信息督办库")]/i').click()

    # 小海跳闸审核查询
    @allure.title("小海跳闸审核查询")
    @pytest.mark.parametrize('信息单号,开始天,结束天', [("DL02407120002842", "2024-07-05", "2024-07-13")])
    def test_小海跳闸审核查询(self, 信息单号, 开始天, 结束天, web_start):
        self.driver.find_element(By.XPATH, '//ul/li[text()="小海跳闸审核查询"]').click()
        try:
            time.sleep(2)
            self.driver.find_element(By.XPATH, '//label[text()="信息单号:"]/following-sibling::div/div/input').clear()
            self.driver.find_element(By.XPATH, '//label[text()="信息单号:"]/following-sibling::div/div/input').send_keys(
                信息单号)
            time.sleep(1)
            # 时间框
            self.driver.find_element(By.XPATH, '//label[text()="登记开始时间:"]/following-sibling::div/div/input').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div[@class="el-picker-panel__body"]/div[1]/span[1]/div/input').clear()
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div[@class="el-picker-panel__body"]/div[1]/span[1]/div/input').send_keys(
                开始天)
            time.sleep(1)
            # 时间框-确定
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]//div[2]/button[2]/span').click()
            time.sleep(1)
            # 时间框
            self.driver.find_element(By.XPATH, '//label[text()="登记结束时间:"]/following-sibling::div/div/input').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div[@class="el-picker-panel__body"]/div[1]/span[1]/div/input').clear()
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div[@class="el-picker-panel__body"]/div[1]/span[1]/div/input').send_keys(
                结束天)
            time.sleep(1)
            # 时间框-确定
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]//div[2]/button[2]/span').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[text()="查询"]').click()

            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//*[@id="tripList"]/div[2]/div[1]/div[3]/table/tbody/tr/td[2]/div/span/button').click()
            time.sleep(2)
            text = self.driver.find_element(By.XPATH,
                                            '//*[@id="tripDetail"]/div[1]/div[2]/table/tbody[1]/tr/td[1]/div/input').get_attribute(
                'value')
            # 判断值是否正确
            assert text == 信息单号
            # 关闭
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[contains(text(),"小海跳闸审核查询详情")]/i').click()
            time.sleep(1)
        finally:
            self.driver.find_element(By.XPATH, '//span[contains(text(),"小海跳闸审核查询")]/i').click()

    # 舆情工单处理
    @allure.title("舆情工单处理")
    @pytest.mark.parametrize('舆情工单号,开始天,结束天', [("202407120115", "2024-07-05", "2024-07-13")])
    def test_舆情工单处理(self, 舆情工单号, 开始天, 结束天):
        self.driver.find_element(By.XPATH, '//ul/li[text()="舆情工单处理"]').click()
        try:
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[contains(text(),"高级查询")]').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//label[text()="舆情工单号:"]/following-sibling::div/div/input').send_keys(
                舆情工单号)
            time.sleep(1)
            # 创建时间
            self.driver.find_element(By.XPATH, '//label[text()="创建时间:"]/following-sibling::div/div/input').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]').clear()
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]').send_keys(
                开始天)
            time.sleep(1)
            self.driver.find_elements(By.XPATH,
                                      '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]')[
                2].clear()
            self.driver.find_elements(By.XPATH,
                                      '//div[not(contains(@style,"display"))]/div/div/div/span/span/div/input[@class="el-input__inner"]')[
                2].send_keys(结束天)
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div[@class="el-picker-panel__footer"]/button[2]/span').click()
            time.sleep(1)
            self.driver.find_element(By.XPATH, '//span[text()="查询"]').click()
            time.sleep(1)
            # 鼠标-滑动到浏览器底部
            self.driver.execute_script("window.scrollTo(0, document.body.clientHeight)")
            # 详情
            time.sleep(1)
            self.driver.find_element(By.XPATH,
                                     '//*[@id="industrySupervise"]/div[2]/div[1]/div[3]/table/tbody/tr/td[2]/div/span/button[1]/span').click()
            time.sleep(2)
            text = self.driver.find_element(By.XPATH,
                                            '//*[@id="industrySupervise"]/div[3]/div/div[2]/div/div[1]/form/div[2]/div[1]/div/div').text
            # 判断值是否正确
            assert text == 舆情工单号

            # 关闭
            time.sleep(1)
            # 关闭
            self.driver.find_element(By.XPATH,
                                     '//div[not(contains(@style,"display"))]/div/div/button[@aria-label="Close"]/i').click()
            time.sleep(1)
        finally:
            self.driver.execute_script("window.scrollTo(0, 0)")
            self.driver.find_element(By.XPATH, '//span[contains(text(),"舆情工单处理")]/i').click()

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
可以根据以下场景编写pytest自动化测试用例: 1. 测试两个正整数相加的结果是否正确; 2. 测试两个负整数相加的结果是否正确; 3. 测试一个正整数和一个负整数相加的结果是否正确; 4. 测试两个小数相加的结果是否正确; 5. 测试一个整数和一个小数相加的结果是否正确; 6. 测试两个大数相加的结果是否正确; 7. 测试输入非数字字符时是否会抛出异常; 8. 测试输入为空时是否会抛出异常; 9. 测试输入超过两个数字时是否会抛出异常; 10. 测试输入为科学计数法时是否会正确计算。 以下是一个示例的pytest自动化测试用例: ```python import pytest from calculator import add def test_add_positive_numbers(): assert add(2, 3) == 5 def test_add_negative_numbers(): assert add(-2, -3) == -5 def test_add_positive_and_negative_numbers(): assert add(2, -3) == -1 def test_add_decimal_numbers(): assert add(2.5, 3.7) == 6.2 def test_add_integer_and_decimal_numbers(): assert add(2, 3.7) == 5.7 def test_add_large_numbers(): assert add(99999999999999999999999999999999999999999999999999999999999, 1) == 100000000000000000000000000000000000000000000000000000000000 def test_add_non_numeric_input(): with pytest.raises(TypeError): add("2", "3") def test_add_empty_input(): with pytest.raises(ValueError): add("", "") def test_add_more_than_two_numbers(): with pytest.raises(ValueError): add(1, 2, 3) def test_add_scientific_notation_numbers(): assert add(1e5, 2e-3) == 100.002 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值