“阅读本文大概需要5分钟。
大家好,我是测试蔡坨坨。
今天,我们来聊聊Web UI自动化测试中的POM设计模式。
前期,我们学会了使用Python+Selenium编写Web UI自动化测试线性脚本
线性脚本(以快递100网站登录举栗):
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://sso.kuaidi100.com/sso/v2/authorize.do")
driver.maximize_window()
driver.find_element(By.ID, 'name').send_keys("***********")
driver.find_element(By.ID, 'password').send_keys("***********")
driver.find_element(By.ID, 'submit').click()
time.sleep(2)
text = driver.find_element(By.PARTIAL_LINK_TEXT, '首页').text
assert text == '首页'
driver.close()
使用以上代码,最基础最简单的Web UI 自动化测试就做起来了,但是,问题也随之而来,线性脚本的缺点也暴露出来了:
元素定位
、元素操作细节
、测试数据
、结果验证(断言)
是捆绑在一起的,代码会显得非常冗余、可读性差、不可复用、工作量大且可维护性差页面对象模型
的简称元素对象
和操作这些元素对象所需要的方法
开源代码请关注测试蔡坨坨公众号,回复关键词源码获取
以上,完。
脚踏实地,仰望星空,和坨坨一起学习软件测试,升职加薪!