当前位置: 首页 > news >正文

杭州今日头条最新消息西安网站优化培训

杭州今日头条最新消息,西安网站优化培训,浙江网站建设推广公司哪家权威,网站做锚点基于 Python 的 Page Factory 设计模式测试库, 类似于Java的Page Factory模式,旨在减少代码冗余,简单易用,具有高度的可扩展能力。 支持以annotation的方式定义元素 支持同一个元素多种定位方式 支持动态的定位方式 安装 pip install pyth…

基于 Python 的 Page Factory 设计模式测试库, 类似于Java的Page Factory模式,旨在减少代码冗余,简单易用,具有高度的可扩展能力。

支持以@annotation的方式定义元素
支持同一个元素多种定位方式
支持动态的定位方式

安装

pip install pythium

用法

from pythium import find_by, android_find_by, ios_find_by
from pythium import find_all, ios_find_all, android_find_all, Page, by
from appium.webdriver.webelement import WebElement as MobileElement
from selenium.webdriver.remote.webelement import WebElement
from typing import Any, List


class LoginPage(Page):

    @find_by(css=".search")
    @ios_find_by(ios_predicate='value == "Search something"')
    @android_find_by(android_uiautomator='resourceId("com.app:id/search_txtbox")')
    def search_input(self) -> WebElement: ...

    @property
    @find_by(css=".search")
    @ios_find_by(ios_predicate='value == "Search something"')
    @android_find_by(android_uiautomator='resourceId("com.app:id/search_txtbox")')
    def search_input_with_property(self) -> WebElement: ...

    @property
    @find_all(by(css=".icon-logo1"), by(css=".icon-logo"))
    def find_all_web_test(self) -> WebElement: return Any

    @property
    @ios_find_all(by(ios_predicate='value == "Search something"'), by(ios_predicate='value == "Search result"'))
    @android_find_all(by(android_uiautomator='resourceId("com.app:id/search_txtbox")'), by(android_uiautomator='resourceId("com.app:id/search_txtbox")'))
    def find_all_mobile_test(self) -> WebElement: return Any

    # for dynamical locator
    @find_by(xpath="//div[{n}]/a[{k}]/div[{m}]/{f}")
    @ios_find_by(xpath="//div[1]/a[{n}]/div[{k}]")
    def dynamical_locator(self, n, k, m=4, f=6) -> WebElement: ...

    # for list WebElements
    @find_by(css=".login")
    def list_web_elements(self) -> List[MobileElement]: ...```

    def _is_loaded(self):
        print("implement something...")

if __name__ == '__main__':
    from selenium import webdriver
    driver = webdriver.Chrome()
    login = LoginPage(driver)
    # no @property
    login.search_input.click()
    # with @property
    login.search_input_with_property.click()
    # for dynamical locator
    login.dynamical_locator(2, 3, 4, 5).click()
    # for list WebElement
    print(len(login.list_web_elements()))

find_all, ios_find_all, android_find_all 使用多个定位元素,元素之间为or的关系,按顺序查找

例子: @find_all(by(css=".icon-logo1"), by(id="icon"))
首先查找元素 by(css=".icon-logo1"), 如果找到则返回 WebElement;
如果没找到则通过 by(id="icon")继续找, 如果找到则返回WebElement, 最后没找到则抛出异常 Exception.
 

http://www.khdw.cn/news/52216.html

相关文章:

  • 连江网站建设西安网站建设网络推广
  • 视频网站开发意义做百度推广怎么做才能有电话
  • 网站建设是几个点的发票网站收录提交入口大全
  • 精诚时代 网站谁做的惠州seo关键字优化
  • dede怎么做商城网站网站宣传文案范例
  • 南充网站建设服务商谷歌google浏览器官方下载
  • 农业门户网站建设目标百度seo快排软件
  • 有公网ip 如何做一网站百度市场应用官方app
  • 展示型网站php公司网站设计制作
  • 周浦做网站知识营销案例
  • 怎么制作网站首页的代码关键词挖掘机爱站网
  • 网站的流量检测怎么做常见的网络营销模式
  • 网站开发相关职业岗位宣传推广文案
  • 广告公司名字大全免费seo排名教程
  • 做电商海报的网站湖南seo推广多少钱
  • 做自己的网站怎么购买空间名片seo什么意思
  • 哪个网站买东西是正品又便宜深圳货拉拉
  • 轻量应用云服务器谷歌seo是什么意思
  • 网站建设电话销售山西seo推广
  • 网站做的不好会有什么后果免费网站seo优化
  • 做捐款网站互联网网络推广
  • 用蜗牛做logo的网站有什么功能
  • c#做的网站怎么上传图片网站推广教程
  • 网站建设可以帮助企业宁波seo优化流程
  • 网站建设问题学生个人网页制作
  • 山东做网站网络营销是什么
  • 购物网站图标淘宝店铺运营推广
  • 做网站代理拉别人赌博百度搜索引擎盘搜搜
  • 品牌建设涉及到如何优化关键词的方法
  • 网站公安机关备案企业网站分析报告