6. Logical Containers

乙醇 创建于 almost 7 years 之前

最后更新: less than a minute 之前

阅读数: 49

6. Logical Containers

逻辑容器适用于这样的场景:页面上有一些元素确实存在于容器中,但这些元素都有可以唯一能够定位的属性,比如id等,而我们为了代码的可读性,往往希望将这些元素放在某个容器中。

比如页面上的菜单元素,每个子菜单都有id属性,不过为了代码能够更好的被他人理解,我们希望将子菜单放到菜单容器里。

逻辑容器和普通容器的区别:

  • 普通容器需要继承自WebElement,而逻辑容器不需要
  • 定义逻辑容器时Find方法不需要by和value参数
from selenium.webdriver.common.by import By
from webium import Find, BasePage


class Nav(object):
    class_info = Find(by=By.CSS_SELECTOR, value='a[href*="/newclass"]')
    faq = Find(by=By.CSS_SELECTOR, value='a[href*="/faq"]')


class ItestPage(BasePage):
    # here we are just grouping Header elements together without any influence on actual search
    nav = Find(Nav)

    def __init__(self):
        super(StructuredPage, self).__init__(url='http://itest.info')


if __name__ == '__main__':
    page = ItestPage()
    page.open()
    print(page.menu.class_info.text)
    print(page.menu.faq.text)

0

相关课程

TestNG教程
图文
TestNG教程

课程分类: 测试框架

Java语言中最流行的测试框架了

  • 已完结
  • 已更新12集
  • 最后更新时间: 2024-03-18 12:55:14

免费

查看详情
python unittest测试框架教程
图文
python unittest测试框架教程

课程分类: 测试框架

python 自带的单元测试框架

  • 已完结
  • 已更新8集
  • 最后更新时间: 2024-03-18 12:12:46

免费

查看详情
TDD测试驱动开发教程
图文
TDD测试驱动开发教程

课程分类: 测试框架 软件测试基础

TDD其实并不神秘

  • 已完结
  • 已更新7集
  • 最后更新时间: 2024-03-18 11:53:22

免费

查看详情