page_objects庫利用PO設計模式的思想,對元素定位進行了封裝,代碼非常簡潔,可以直接使用;
page_objects中的PageElement元素定位保方式變量如下:
css:css
id_:id
name:name
xpath:xpath
link_text:link_text
partial_link_text
tag_name
class_name
舉例:
search_box = PageElement(id_="kw")
search_box = PageElement(name_="kw")
search_box = PageElement(xpath="//*[@id=''kw]")
一、安裝方式
pip install page_objects
二、使用方法
#先定義基礎baidu_page.py文件:
from page_objects import PageElement, PageObject#引入庫
class BaiduPage(PageObject):
search_box = PageElement(id_="kw")
search_button = PageElement(id_="su")
#引用baidu_page.py文件,並利用unittest框架進行用例編寫
from baidu_page1 import BaiduPage
import unittest
from selenium import webdriver
class BaiduSearch(unittest.TestCase):
@classmethod
def setUpClass(cls) :
cls.url = "https://www.baidu.com"
cls.driver = webdriver.Chrome()
@classmethod
def tearDownClass(cls) -> None:
cls.driver.quit()
def test_case_01(self):
baidu_search = BaiduPage(self.driver)
baidu_search.get(self.url)#調用get方法
baidu_search.search_box.send_keys("python")#調用search_box變量傳入搜索值
baidu_search.search_button.click()
def test_case_01(self):
baidu_search = BaiduPage(self.driver)
baidu_search.get(self.url)
baidu_search.search_box.send_keys("selenium")
baidu_search.search_button.click()
if __name__ == 'main':
unittest.main()
