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

Selenium62-使用POM的测试用例

时间:2023-01-07 14:04:31浏览次数:36  
标签: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

作者:暄总-tester



标签:division,divisionmanager,赛区,driver,测试用例,Selenium62,message,homepage,POM
From: https://blog.51cto.com/u_14911999/5995479

相关文章

  • Selenium61-POM的Page基类
    POM是什么页面对象模型(POM)是一种设计模式,用来管理维护一组web元素集的对象库。在POM下,应用程序的每一个页面都有一个对应的pageclass每一个pageclass维护着该web页的元......
  • pom里配置阿里云仓库
    <repositories><repository><id>nexus-aliyun</id><name>nexus-aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/publ......
  • 5.测试用例
    测试用例TestCase作用:为特定的目的而设计的一组测试输入、执行条件和预期结果的文档  测试用例八大要素用例编号用例标题所属项目用例级别预置条件测试......
  • 使用IDEA打包项目(jar包和war包) pom.xml
      介绍jar包假设将整个项目视为一堵墙,那么jar包就是砖块,将写好的类进行打包的过程就是烧制砖块的过程。jar包是class文件和部署文件的归档,不包含静态文件,它不仅用于......
  • Pomelo:网易开源基于 Node.js 的游戏服务端框架
    ​​Pomelo​​是基于Node.js的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑......
  • 回归测试用例选择方法
    1、回归测试就是修改完bug后对程序的新一轮测试。根据微软的统计,按照他们的经验,一般开发人员解决3~4个bug会衍生出一个新的bug,这就是必须作回归测试的原因。2......
  • 史上最全的 pom.xml 文件详解(扩展:Maven的三种项目打包方式——pom,jar,war的区别)
    史上最全的pom.xml文件详解https://blog.csdn.net/jk418756/article/details/87917776?spm=1001.2101.3001.6650.12&utm_medium=distribute.pc_relevant.none-task-blog......
  • Selenium62-使用POM的测试用例
    添加赛区脚本test_后台_双创_基础设置_赛区管理_添加赛区_case_v7.py导入各个网页对象改造to_division_manager导入各个网页对象导入各个网页对象:frompage.......
  • 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......