当前位置: 首页 > news >正文

企装网以下属于网站seo的内容是

企装网,以下属于网站seo的内容是,淘宝网站制作,企业官网网站模板下载本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22525 本文为霍格沃兹测试开发学社的学习经历分享,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 说明:本篇博客基于sel…

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22525
本文为霍格沃兹测试开发学社的学习经历分享,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~
说明:本篇博客基于selenium 4.1.0

什么是PO模式

PO模式的全称page object model(POM),有时候也叫做page object pattern。由马丁福勒提出,受到了selenium自动化测试框架的大力推广,因而成为一种非常主流的自动化测试设计模式
PO模式是在UI自动化测试过程当中使用非常频繁的一种设计模式,使用这种模式,可以有效的提升代码的复用能力,并且让自动化测试代码维护起来更加方便

PO模式设计

在PO模式中,使用类来表示每个UI页面,类中的属性表示页面的信息,类中的方法表示页面的行为和操作

在将页面抽象化为类时,需要注意PO模式的设计原则

  • 对于属性

    • 不要暴露页面内部的元素给外部
    • 不需要建模 UI 内的所有元素
  • 对于方法

    • 对于方法:用公共方法代表 UI 所提供的功能
    • 方法应该返回其他的 PageObject 或者返回用于断言的数据
    • 同样的行为不同的结果可以建模为不同的方法
    • 不要在方法内加断言

在这里插入图片描述

PO模式优点

  • 便于维护:每个页面对应一个类文件,前端页面被修改后只需要维护对应的类文件,不会影响其他代码,符合单一职责原则
  • 便于阅读:页面的操作都被以函数的形式封装起来了。函数名就具备注释的作用,其他人阅读代码时可以通过函数了解业务
  • 便于使用:编写用例时只需要关注测试步骤和测试结果。用例与用例间的相同操作,不用重复编写

代码示例

import yaml
import os
from selenium import webdriver
from selenium.webdriver.chrome.webdriver import WebDriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWaitclass PageBase:"""页面基类:处理页面公共业务、存放公共方法"""def __init__(self, driver: WebDriver):self.driver = driverclass PageLogin(PageBase):"""登录页面"""# 页面url地址_page_url = "https://work.weixin.qq.com/wework_admin/loginpage_wx"def goto_index(self):"""跳转到首页:return:"""self.driver.get(self._page_url)if not os.path.exists("resource"):os.mkdir("resource")if os.path.exists("resource/cookie.yaml"):cookie = yaml.safe_load(open("resource/cookie.yaml"))for i in cookie:self.driver.add_cookie(i)self.driver.get("https://work.weixin.qq.com/wework_admin/frame#index")else:# 扫码登录,等待页面加载WebDriverWait(self.driver, 60).until(expected_conditions.url_contains("wework_admin/frame"))# 存入cookiecookie = self.driver.get_cookies()with open("resource/cookie.yaml", "w") as f:yaml.safe_dump(cookie, f)# 返回首页实例对象return PageIndex(self.driver)class PageIndex(PageBase):"""首页"""# 页面url地址_page_url = "https://work.weixin.qq.com/wework_admin/frame#index"# 页面元素定位_path_contact = (By.ID, "menu_contacts")_path_addmember = (By.CSS_SELECTOR, '.ww_indexImg_AddMember')def goto_addmember(self):"""跳转添加成员页面:return:"""self.driver.find_element(*self._path_addmember).click()# 返回添加成员页面的实例对象return PageAddmember(self.driver)class PageAddmember(PageBase):"""添加成员页面"""# 页面url地址_page_url = "https://work.weixin.qq.com/wework_admin/frame#contacts"# 页面元素定位_path_name = (By.ID, "username")_path_id = (By.ID, "memberAdd_acctid")_path_tel = (By.ID, "memberAdd_phone")_path_finish = (By.CSS_SELECTOR, ".js_btn_save")_path_tips = (By.CSS_SELECTOR, ".ww_inputWithTips_WithErr")def add_member_success(self, member_name, member_id, member_tel):"""添加成员成功,跳转回通讯录页面:param member_name: 姓名:param member_id: 账号:param member_tel: 手机:return: 通讯录页面页面"""self.driver.find_element(*self._path_name).send_keys(member_name)self.driver.find_element(*self._path_id).send_keys(member_id)self.driver.find_element(*self._path_tel).send_keys(member_tel)self.driver.find_element(*self._path_finish).click()# 返回页面通讯录页面实例对象return PageContact(self.driver)class PageContact(PageBase):"""通讯录页面"""pass# 测试用例
class TestCookie:def setup(self):self.driver = webdriver.Chrome()self.driver.maximize_window()self.driver.implicitly_wait(3)def teardown(self):self.driver.quit()# 一个简单的添加成员用例def test_addmember_success(self):data = ('llbai', '9527', '13122223333')# 基于已有的页面类和方法,可以快速实现登录-进入页面-进入添加成员页面-添加成员PageLogin(self.driver).goto_index().goto_addmember().add_member_success(*data)

在这里插入图片描述

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

http://www.yayakq.cn/news/955277/

相关文章:

  • 沈阳德泰诺网站建设公司微商产品做网站
  • 郴州网站建设案例wordpress中文图片
  • 深圳网站建设优化排名1688如何搜索关键词排名
  • 做网站 创业 流程建站宝盒建网站
  • 临沂网站建设和轶件安装展示网站模版源码
  • 如何建设网站?建设网站的公司兴田德润怎么联系
  • 非法网站开发者刑事责任厦门APP开发网站开发公司
  • 网站导航营销步骤免费建站建设网站
  • 养殖类网站模板珠海 网站设计
  • 宁波网站建设设计公司排名wordpress twenty twelve数字
  • 深圳市龙华区属于哪个区seo网络推广软件
  • 网站 wap 插件怎么样注册一个网站
  • 网络推广网站推广方法肃北蒙古族自治县建设局网站
  • 泉州市城乡和住房建设网站企业做网站和开展电子商务的好处
  • 如何建设数据库搜索网站微信开发网站开发
  • 做物流运输网站电话东莞建网站服务
  • 江门百度网站快速优化开发公司与子公司合作协议
  • 没有网站怎么做排名优化网站建设奕网情深
  • 中文书店网站模板阿里云个人网站建设
  • 个人做网站需要备案吗缓存 wordpress 加速
  • 自己可以做开奖网站吗专业做视频的网站有哪些内容
  • 阿里巴巴网站怎样做的漂亮wordpress做视频网站
  • 网站被墙查询网站排名优化技巧
  • 企业建站方案免费制作游戏app软件
  • 企业型网站有哪些特点百度怎么发布网站
  • 进入网站自动全屏怎么做wordpress in_tag
  • 网站建设需要哪些企业资料网红营销案例
  • 湖南火电建设有限公司招标网站php网站开发招聘
  • 贵阳建设银行网站管理学精品课程网站
  • 制作网站的技术图片在线处理工具