基于 selenium/appium 的 Page Objects 设计模式测试库。
- 极大的简化了Page层的元素定义。
- 同时支持selenium和appium
- 通过JavaScript扩展了selenium API
- 对原生 API 无损
pip install:
> pip install poiumIf you want to keep up with the latest version, you can install with github repository url:
> pip install -U git+https://github.com/SeldomQA/poium.git@master
poium < 0.6.0版本,主要提供了Page、PageElement、PageElement、PageSelect、PageWait等类。
poium>=0.6.0, <1.0.0版本,新增了NewPageElement类,用新的方式重新实现了PageElement类的大部分功能。 推荐使用NewPageElement类。
通过下面的例子,体会Page Objects 设计模式如此简单。
from poium import Page, Element
from selenium import webdriver
class BaiduIndexPage(Page):
search_input = Element(name='wd')
search_button = Element(id_='su')
driver = webdriver.Chrome()
page = BaiduIndexPage(driver)
page.get("https://www.baidu.com")
page.search_input.send_keys("poium")
page.search_button.click()
driver.quit()更多例子,请点击这里 。
在开使用poium前,请快速阅读下面的文档。
参考项目:https://github.com/eeaston/page-objects
参考项目已经不再维护,我阅读了原项目代码,虽然只有100多行,但设计非常精妙。本项目在此基础上进行开发。
原项目名:https://pypi.org/project/selenium-page-objects/
本项目的核心是 Page Objects设计模式, 于是取了 PO,同时支持selenium/appium,于是取了 ium,那么新的项目命名为:poium。
