首页 > 其他分享 >Selenium62-使用POM的测试用例

Selenium62-使用POM的测试用例

时间:2022-12-31 14:34:08浏览次数:35  
标签:division divisionmanager 赛区 driver 测试用例 Selenium62 message homepage POM

添加赛区脚本

  • test_后台_双创_基础设置_赛区管理_添加赛区_case_v7.py
    • 导入各个网页对象
    • 改造to_division_manager

导入各个网页对象

  • 导入各个网页对象:
from page.后台_主页_page_v1 import BgHomePage
from page.后台_双创_基础设置_添加赛区_page_v1 import BgAddDivisionPage
from page.后台_双创_基础设置_赛区管理_page_v1 import BgDivisionManagerPage
    # 改造to_division_manager
    @pytest.fixture(scope='class', autouse=True)
    def to_division_manager(login_and_logout):
        driver = login_and_logout
        homepage=BgHomePage(driver)
        # 展开基础设置
        homepage.open_basic_setting()
        # 等待基础设置被打开
        homepage.wait_basic_setting_opened()
        # 进入赛区管理
        homepage.to_division_manager()
        # 切换到赛区管理子网页
        homepage.switch_to_division_manager_frame()
        # 等待加载完毕
        BgDivisionManagerPage(driver).wait_for_loaded()
        yield driver
        driver.switch_to.default_content()
    # 改造test_add_division
    @pytest.mark.parametrize("division_name,message",rd.get_data("测试用例_AISE_后台_双创_基础设置_赛区管理_添加赛区.csv"))
    def test_add_division(self,to_division_manager,division_name,message):
        driver = to_division_manager
        divisionmanager = BgDivisionManagerPage(driver)
        if message=="赛区信息保存成功": # 有效
            # 用赛区名称查询
            divisionmanager.search(division_name)
                sleep(2)
            # 判断查询结果里是否存在等于目标赛区名称的记录
            if divisionmanager.is_division_exist(division_name):
                # 删除后确定
                divisionmanager.delete_and_confirm(division_name)
                sleep(3)
            # 添加赛区
            divisionmanager.to_add_division()
            # 等待加载完毕
            divisionmanager.wait_for_loaded()
            # 切换到添加赛区子网页
            divisionmanager.switch_to_add_page()
            adddivision = BgAddDivisionPage(driver)
            if message=="不能为空":
                # 获得浮动提示
                assert adddivision.get_tooltip()=="该输入项为必输项"
            # 输入赛区名称
            adddivision.input_division_name(division_name)
            driver.switch_to.default_content()
            # 滚动条滑动到底部
            homepage=BgHomePage(driver)
            homepage.to_bottom()
            # 切换到赛区管理子网页
            homepage.switch_to_division_manager_frame()
            # 切换到添加赛区子网页
            BgDivisionManagerPage(driver).switch_to_add_page()
            sleep(2)
            # 提交
            BgAddDivisionPage(driver).submit()
            sleep(1)
            driver.switch_to.parent_frame()    
            # 检查提示信息是否出现
            divisionmanager=BgDivisionManagerPage(driver)
            assert divisionmanager.is_message_exist(message)
            # 等待提示信息消失
            divisionmanager.wait_message_dispear(message)
            if message!="赛区信息保存成功":
                # 切换到添加赛区子网页
                divisionmanager.switch_to_add_page()            
                BgAddDivisionPage(driver).cancel()# 取消
            driver.switch_to.default_content()
            # 滚动条滑动到顶部
            homepage=BgHomePage(driver)
            homepage.to_top()
            # 切换到赛区管理子网页
            homepage.switch_to_division_manager_frame()
            divisionmanager=BgDivisionManagerPage(driver)
            # 等待加载完毕
            divisionmanager.wait_for_loaded()   
                if message=="赛区信息保存成功": # 有效
                # 用赛区名称查询
                divisionmanager.search(division_name)
                sleep(2)
                # 检查查询结果里存在等于目标赛区名称的记录
                assert divisionmanager.is_division_exist(division_name)
            sleep(3)

运行,查看结果

========= test session starts =====================
platform win32 -- Python 3.9.5, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
sensitiveurl: .*
rootdir: D:\PycharmProjects\aiseProject2\testcasecode
collected 10 items
test_后台_双创_基础设置_赛区管理_添加赛区_case_v7.py ..........
=========== 10 passed in 637.78s (0:10:37) ============
Process finished with exit code 0

标签:division,divisionmanager,赛区,driver,测试用例,Selenium62,message,homepage,POM
From: https://www.cnblogs.com/sean-test/p/17016621.html

相关文章

  • Selenium61-POM的Page基类
    POM是什么页面对象模型(POM)是一种设计模式,用来管理维护一组web元素集的对象库。在POM下,应用程序的每一个页面都有一个对应的pageclass每一个pageclass维护着该web......
  • 配置YUM源出现Errno 14 Could not open/read repomd.xml 或者 "Couldn't open file /m
    报错信息:[[email protected]]#yummakecacheLoadedplugins:fastestmirrorLoadingmirrorspeedsfromcachedhostfilefile:///mnt/cdrom/repoda......
  • 'parent.relativePath' of POM com.qbb:log_record_elegant:1.0-SNAPSHOT points at
    完整的错误:'parent.relativePath'ofPOMcom.qbb:log_record_elegant:1.0-SNAPSHOT(F:\QbbCode\qiu_code\log_record_elegant\pom.xml)pointsatcom.qbb:qiu_codein......
  • Selenium25-TestCase(测试用例)
    TestCase(测试用例)#导入unittest包importunittest#测试类(名称自定义)只要继承unittest模块中TestCase类即可classMyTestCase(unittest.TestCase):#书写测......
  • 测试用例设计指南(五)
    画出其对应的控制流图如下:​​​​逐一:如果在程序中遇到复合条件,例如条件语句中的多个布尔运算符(逻辑OR、AND)时,为每一个条件创建一个独立的节点,包含条件的节点称为判定节点......
  • 测试用例如何评审,看完这篇就会了
    转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.top/90b47990.html你好,我是测试蔡坨坨。众所周知,对于测试同学来说,在软件研发流程中有两个重要的会议,一个是需求评......
  • 接口测试用例的设计方法是什么?
    接口测试用例的设计方法其实和功能测试用例的设计方法是类似的,因为接口是需要满足需求的,而接口测试所依赖的也是需求说明书,但是,因为接口测试毕竟是通过代码去测试代码,......
  • pom.xml文件详解
    <projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0h......
  • 常用插件之分布式执行测试用例 pytest-xdist
    原则:用例之间是独立的,用例之间没有依赖关系,用例可以完全独立运行【独立运行】用例执行没有顺序,随机顺序都能正常执行【随机执行】每个用例都能重复运行,运行结果不......
  • SpringBoot2.x系列教程08--新纪元之SpringBoot中编写测试用例
    SpringBoot系列教程08--新纪元之SpringBoot中编写测试用例作者:一一哥我们在上一个案例的基础之上,添加spring-boot-starter-test依赖,看看在SpringBoot中如何实现测试用例的......