96SEO 2026-02-19 17:11 15
模式。

核心是通过页面层封装所有的页面元素及操作#xff0c;测试用例层通过调用页面层操作组装业务逻辑。
模式。
核心是通过页面层封装所有的页面元素及操作测试用例层通过调用页面层操作组装业务逻辑。
click_login_link(self,driver):#
前面加*号是解包的操作因为login_link_locator是元组driver.find_element(*self.login_link_locator).click()
LoginPage:#属性-元素定位信息元素定位方法元素定位值-元组类型phone_input_locator
(By.XPATH,//input[placeholder请输入手机号/用户名])pwd_input_locator
(By.XPATH,//input[placeholder请输入密码])login_button_locator
(By.CLASS_NAME,login-button)#操作-元素行为,登录操作def
page_login(self,driver,phone,pwd):#
前面的*号是解包使用的driver.find_element(*self.phone_input_locator).send_keys(phone)driver.find_element(*self.pwd_input_locator).send_keys(pwd)sleep(2)driver.find_element(*self.login_button_locator).click()
d6_JavaScript处理.testcases.home_page
d6_JavaScript处理.testcases.login_page
driver.get(http://mall.banan.com:3344/)
HomePage().click_login_link(driver)LoginPage().page_login(driver,1723693766728,ydgcdlcb)2、三层模型
基本的PO分层包括页面层与用例层但是在编写页面层代码时会发现一个问题页面中存在非常多相同
的操作方法比如都需要等待元素、获取元素属性/文本信息、页面滚动等等每个页面层类都需要有相
同的代码代码存在非常多冗余。
我们可以把这些【公共】的页面操作方法给提取出来放到一个类中进
断言是自动化测试不可缺少的部分当我们使用测试脚本对业务逻辑进行操作时需要检查交互操作之
Pytest测试框架内置丰富的断言通过assert语句即可常见的断言方法比较包括
通过当前页面的标题通过当前页面的提示文本信息通过当前页面的某些元素变化/显示
思路抽取一个公共类这个类中可以写公共页面的属性和函数也可以写每次都要使用的属性从UI自动化的角度来看浏览器驱动是每次执行用例都会用到的所以也可以抽取出来。
selenium.webdriver.support.wait
__init__(self,driver):self.driver
WebDriverWait(self.driver,5,0.5).until(EC.element_to_be_clickable(locator))return
web_element代表通过显示等待找到的元素web_element
WebDriverWait(self.driver,5,0.5).until(EC.visibility_of_element_located(locator))return
WebDriverWait(self.driver,5,0.5).until(EC.presence_of_all_elements_located(locator))return
page_scroll(self,distance):self.driver.execute_script(fdocument.documentElement.scrollTop{distance})#
page_js_click(self,locator):element
self.wait_element_visible(self.driver,locator)self.driver.execute_script(arguments[0].click(),element)#
remove_element_attribute(self,locator,attribute):element
self.wait_element_visible(self.driver,locator)self.driver.execute_script(farguments[0].removeAttribute({attribute}),
mouse_click(self,locator):element
self.wait_element_visible(self.driver,locator)ActionChains(self.driver).click(element).perform()#
switch_to_window(self,title):handles
title:breakelse:self.driver.switch_to.window(handle)#
update_file(self,filepath):os.system(ftest.exe
selenium.webdriver.support.wait
PO模式优化与自动化用例断言.common.base_page
(By.XPATH,//span[text()欢迎来到天使的世界])welcome_tips_text_locator
(By.XPATH,//a[classlink-name])def
click_login_link(self):self.wait_element_clickable(self.login_link_locator).click()def
is_display_welcome_tips(self):time.sleep(2)#
self.wait_element_clickable(self.welcome_tips_locator).is_displayed()return
self.wait_element_clickable(self.welcome_tips_text_locator).textdef
self.wait_element_visible(self.username_text_locator).text
selenium.webdriver.support.wait
PO模式优化与自动化用例断言.common.base_page
属性-元素定位信息元素定位方法元素定位值-元组类型phone_input_locator
//input[placeholder请输入手机号/用户名])pwd_input_locator
//input[placeholder请输入密码])login_button_locator
login-button)login_tips_locator
//p[classel-message__content])def
self.wait_element_visible(self.driver,self.phone_input_locator).send_keys(17728373518)self.wait_element_visible(self.phone_input_locator).send_keys(phone)self.wait_element_visible(self.pwd_input_locator).send_keys(pwd)self.wait_element_clickable(self.login_button_locator).click()time.sleep(3)def
self.wait_element_visible(self.login_tips_locator).textprint(self.wait_element_visible(self.login_tips_locator).text)
d7_PO模式优化与自动化用例断言.pageobjects.home_page
d7_PO模式优化与自动化用例断言.pageobjects.login_page
webdriver.Chrome()driver.get(http://mall.banan.com:3344/)driver.maximize_window()#
HomePage(driver)homepage.click_login_link()#
LoginPage(driver)loginpage.login(le_auto,le123456)#
检查点1、欢迎页,如果函数的返回值为True那么断言之后返回是通过的assert
homepage.is_display_welcome_tips()#
test_login_uncorrect_username():driver
webdriver.Chrome()driver.get(http://mall.banan.com:3344/)homepage
HomePage(driver)homepage.click_login_link()#
LoginPage(driver)loginpage.login(le_auto1,
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback