毕业生对于网站建设感受国外网站建设公司
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:07
当前位置: 首页 > news >正文
毕业生对于网站建设感受,国外网站建设公司,北京小学大兴网站建设,凡科互动app本文转自测试人社区#xff0c;原文链接#xff1a;https://ceshiren.com/t/topic/22525 本文为霍格沃兹测试开发学社的学习经历分享#xff0c;写出来分享给大家#xff0c;希望有志同道合的小伙伴可以一起交流技术#xff0c;一起进步~ 说明#xff1a;本篇博客基于sel… 本文转自测试人社区原文链接https://ceshiren.com/t/topic/22525 本文为霍格沃兹测试开发学社的学习经历分享写出来分享给大家希望有志同道合的小伙伴可以一起交流技术一起进步~ 说明本篇博客基于selenium 4.1.0 什么是PO模式
PO模式的全称page object modelPOM有时候也叫做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_wxdef 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 做接口测试从入门到实战/ 接口抓包最新最全教程
- 上一篇: 毕业设计做系统网站云服务器做淘客网站
- 下一篇: 闭站保护对网站影响农村电商网站建设ppt
相关文章
-
毕业设计做系统网站云服务器做淘客网站
毕业设计做系统网站云服务器做淘客网站
- 技术栈
- 2026年03月21日
-
毕业设计做系统网站好什么情况下需要建设网站
毕业设计做系统网站好什么情况下需要建设网站
- 技术栈
- 2026年03月21日
-
毕业设计做系统好还是网站好上网站建设公司
毕业设计做系统好还是网站好上网站建设公司
- 技术栈
- 2026年03月21日
-
闭站保护对网站影响农村电商网站建设ppt
闭站保护对网站影响农村电商网站建设ppt
- 技术栈
- 2026年03月21日
-
哔哩哔哩网站怎么做视频河南睢县筑宇建设网站
哔哩哔哩网站怎么做视频河南睢县筑宇建设网站
- 技术栈
- 2026年03月21日
-
编程代码网站四川建设厅网上查询网站
编程代码网站四川建设厅网上查询网站
- 技术栈
- 2026年03月21日






