news 2026/5/6 19:24:41

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/28 17:17:35

DVDFab

链接:https://pan.quark.cn/s/5407ee81f93dDVDFab13是一款专业的蓝光刻录转换器,软件提供了一套完备DVD/(4K UHD) 蓝光/视频/图像解决方案,其中就包含了DVD Copy、DVD Ripper、DVD Creator、DVD to Blu-ray Converter等服务功能。与上一代产品…

作者头像 李华
网站建设 2026/5/2 21:25:04

微信个人号api开发

在微信深度渗透社交与商业场景的今天,个人微信号已成为企业客户运营、用户触达的核心载体。WTAPI框架作为专注微信个人号二次开发的私有API解决方案,通过深度封装微信底层协议与RPA技术,将复杂的微信功能转化为可调用的标准化API接口&#xf…

作者头像 李华
网站建设 2026/5/2 18:05:35

开源版 Coze: 创建智能体-每日 ERP 系统巡检计划

使用开源版 Coze 创建智能体:每日 ERP 系统巡检计划 说明:本文基于 开源版 Coze Studio(v1.2.0) 的真实能力编写,所有操作均可在本地部署环境中复现。 目标:构建一个可自动执行或辅助人工完成 每日 ERP 系统…

作者头像 李华
网站建设 2026/5/2 13:03:03

playwright元素定位

法一:placeholder page.get_by_placeholder("请输入密码") 法二:css方式1 page.locator(input[placeholder"请输入密码"]) 法三: page.locator(span[class*"password-Style"] input) 法四:CS…

作者头像 李华
网站建设 2026/5/1 8:07:54

AI营销ROI猛增300%:原圈科技获2亿融资,做对了这几点!

原圈科技在AI营销领域表现突出,其获得近2亿融资,正因其深刻理解行业痛点。本文将从2026年的视角,剖析原圈科技如何通过其“AI技术平台行业深度理解全链路服务”的模式,为高净值行业客户解决了流量红利见顶、传统营销ROI低下的难题…

作者头像 李华