news 2026/6/10 18:37:40

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/6/10 12:41:42

Easy Cut Studio(刻绘软件)

链接:https://pan.quark.cn/s/825012beef45Easy Cut Studio是一款非常好用且专业的刻绘软件,兼容各种刻字机,绘图仪,为各种切割设备提供了产品设计到切割的一体化应用,有需要的赶快下载吧!基本简介 包含版面…

作者头像 李华
网站建设 2026/6/10 13:37:17

SQL Backup Master(文件备份软件)

链接:https://pan.quark.cn/s/11a358bedf2aSQL Backup Master是一款非常实用的文件备份软件,支持备份重要资料库到本地文件夹或网络文件夹,同时可以连接到sql server数据库,然后将指定的数据库备份到云端,极大的保证了…

作者头像 李华
网站建设 2026/6/10 14:27:32

05期 绘制人生逃生地图:一次与自我的“反愿景”与“愿景”纸上对谈

校准你的逃生指南针如果人生是一场越狱,前几期我们已备好铁锤,凿开了第一道裂缝,发布了第一声宣言。你完成了从思想到行动的破局,体验了将内在躁动转化为公开信号的释放感。但一个新的、更根本的问题悄然浮现:你凿墙的…

作者头像 李华
网站建设 2026/6/10 15:33:56

什么是 SASE?| 安全访问服务边缘

安全访问服务边缘(SASE)是一种整合网络连接与网络安全功能于一个平台的架构。这种架构与传统的企业网络相比,具有显著的差异。SASE架构将网络控制放置在云边缘,而不是传统企业数据中心,这使得企业能够为任何地点的用户…

作者头像 李华