PO模型

一、po模型介绍

            优点:重用,业务和对象分离,代码结构清晰,方便代码维护           

二、核心要素

            1、在PO模式中抽离封装集成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性

            2、每一个page都继承BasePage,通过driver来管理本page中元素,将page中的操作封装成一个个方法

            3、TestCase继承unittest.Testcase类,并依赖page类,从而实现相应的测试步骤

三、po实现

            1、进入网址

            defget(self):

                    self.driver.get(self.base_url)

            2、元素定位,替代八大定位

            defget_element(self,*locator):

                    returnself.driver.find_element(*locator)

            3、点击

        defleft_click(self,*locator):

                ActionChains(self.driver).click(self.get_element(*locator)).perform()

            4、输入

        defsend_text(self,text,*locator):

                self.driver.find_element(*locator).send_keys(text)

            5、清除

            defclear_text(self,*locator):

                    self.driver.find_element(*locator).clear()

四、实现SearchPage

            1、进入百度

                    defopen_baidu(self):

                            self.get() 

            2、输入搜索内容

                    definput_search_content(self,text):

                            self.send_text(text,By.ID,"kw")

            3、点击按钮

                    defclick_baidu_search(self):

                            self.left_click(By.ID,"su")

五、总结

                1、PO设计模式中的BasePage基类对应案例中的BasePage.py文件

                2、PO模式中的pages中的案例显示Search.py

                3、PO模式设计中TestCase对应案例中的TestCase.py

六、PO模式的优点

                1、PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰

                2、页面对象与用例分离,使得我们更好的复用对象

                3、可复用的页面方法代码会变得更加优化

                4、更加有效的命令方式使得我们更加清晰的知道方法所操作的UI元素

你可能感兴趣的:(PO模型)