news 2026/5/1 11:29:56

Python中的PO模型的实例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python中的PO模型的实例
1.PO模型在自动化中经常会被使用到,一下就是PO模型的具体实例

2.实现BasePage
fromseleniumimportwebdriverfromselenium.webdriver.common.action_chainsimportActionChains#鼠标操作classBasePage():''' BasePage封装所有界面都公用的方法。 例如driver,find_element等 '''# 实例化BasePage类时,事先执行的__init__方法,该方法需要传递参数def__init__(self,driver,url):self.driver=driver self.base_url=url# 进入网址defget(self):self.driver.get(self.base_url)#元素定位,替代八大定位defget_element(self,*locator):returnself.driver.find_element(*locator)#点击defleft_click(self,*locator):ActionChains(self.driver).click(self.get_element(*locator)).perform()#输入defsend_text(self,text,*locator):self.driver.find_element(*locator).send_keys(text)#清除defclear_text(self,*locator):self.driver.find_element(*locator).clear()# 表单切换defswitch_iframe(self,*locator):self.driver.switch_to.frame(self.driver.find_element(*locator))#窗口切换defswitch_window(self,n):self.driver.switch_to.window(self.driver.window_handles[n])
3.实现SearchPage
fromselenium.webdriver.common.byimportByfrombase.base_pageimportBasePageclassSearchOne(BasePage):def__init__(self,driver,url):BasePage.__init__(self,driver,url)#进入百度defopen_baidu(self):self.get()#输入数据definput_search_content(self,text):self.send_text(text,By.ID,"kw")# 点击按钮defclick_baidu_search(self):self.left_click(By.ID,"su")defclick_open_hao(self):self.left_click(By.XPATH,".//*[@id='1']/h3/a[1]")
4.实现TestCase `` ```pythonimportunittestfromseleniumimportwebdriverfrompage.page_oneimportSearchOnefrompage.page_twoimportSearchTwoclassBaiBu(unittest.TestCase):@classmethoddefsetUpClass(cls)->None:cls.driver=webdriver.Firefox()cls.driver.implicitly_wait(10)deftest001(self):url="http://www.baidu.com"s=SearchOne(self.driver,url)s.open_baidu()s.input_search_content("123")s.click_baidu_search()s.click_open_hao()self.driver.switch_to.window(self.driver.window_handles[1])deftest002(self):s=SearchTwo(self.driver,"")s.open_baidu_map()deftearDown(self)->None:# self.driver.quit()passif__name__=='__main__':unittest.main()
5.pytest模式写法
fromseleniumimportwebdriverclassTest_loginDvwa():deftest_login(self):self.driver=webdriver.Firefox()self.url="http://10.5.1.247/dvwa/login.php"username="admin"password="password"sr=DvwaPage(self.driver,self.url)sr.login_dvwa(username,password)sr.search("nick")ifname==‘main’:pytest.main(["-sq","test_loginDvwa.py"])
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 17:30:25

Pyhton中的POM思想

1.POM:页面对象模型,POM是近几年非常流行的自动化测试模型,或者思想,POM不是框架,是解决问题的一种思想2.采用POM目的:为了解决前端中UI变化频繁,从而造成测试自动化脚本维护的成本越来越大3.自…

作者头像 李华
网站建设 2026/5/1 10:51:52

apollo中车辆的减速绕行,和加速超车实现

你想了解Apollo(百度阿波罗)自动驾驶系统中,处理减速绕行和加速超车这两个典型动态避障/跟车场景的核心决策逻辑、规划控制方法和工程实现细节,Apollo对这两个场景的处理并非简单的速度加减,而是基于感知-预测-决策-规…

作者头像 李华
网站建设 2026/5/1 9:46:58

等保2.0合规实践:DeepSeek辅助企业数据分类分级与自动化报告生成

等保2.0合规实践:DeepSeek辅助企业数据分类分级与自动化报告生成 第一章:等保2.0背景与数据分类分级的重要性 1.1 等保2.0的核心要求 等保2.0(《信息安全技术网络安全等级保护基本要求》)于2019年12月正式实施,标志…

作者头像 李华
网站建设 2026/4/30 12:01:35

基于PHP技术的小神童文具交易网设计与实现

目录 系统概述核心功能模块技术实现要点安全与性能优化扩展性设计 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 系统概述 小神童文具交易网是一个基于PHP开发的B2C电子商务平台,专为学生、…

作者头像 李华