• 【selenium学习中级篇 -21】封装第一个页面对象类


    今天开始的文章就开始涉及到具体的业务逻辑流程了

    我们要测试的一个用例步骤为

    1,打开 百度

    2,搜索关键字selenium

    3,点击 知道

    4,获取百度知道页第一条链接的href属性

    5,对比该属性和预期结果是否一样

    页面类主要是封装在该页面或者该流程上的一些基本方法,以达到复用代码便于维护的目的

    新建PageObjects包,新建文件baidu.py

    
    
    from Base import *
    # 需要继承BasePage类
    class BaiDu(BasePage):
        # 打开百度链接
        def open_baidu(self):
            self.get_url("http://www.baidu.com/")
    
        # 在输入框中输入关键字
        def type_baidu(self, keyword):
            self.type("id=>kw", keyword)
    
        # 点击“百度一下”按钮
        def click_baidu_button(self):
            self.click("id=>su")
    
        # 点击“知道”按钮
        def click_know(self):
            self.click("linkText=>知道")
    
        # 获取第一条搜索结果的href属性
        def get_result_href(self):
            return self.get_ele_attribute("xpath=>//dt[@class='dt mb-4 line']//a[1]", 'href')

    总结:

    1.需要继承BasePage类才能调用基础类的方法

    2.对每一个步骤进行封装,在后续如果其他页面需要时,可以直接调用,不需要再重新写

    3.from Base import * 导入Base包里面的所有py文件,需要在Base包的__init__文件中写入相关导入,就不用再一条一条的导入了

    from Base.Browser_engine import BrowserEngine
    from Base.BasePage import BasePage
  • 相关阅读:
    tcp连接建立和断开
    端口状态说明 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT
    window IIS6/IIS7取消脚本执行权限,禁止运行脚本木马
    java 各种架构图汇总
    .NET平台常见技术框架整理汇总
    SQL Server中的Merge Into
    iText从LGPL改成AGPL历史来龙去脉
    工具系列 | 分布式日志管理graylog 实战
    目前博客使用的主题模板
    RLChina 文章
  • 原文地址:https://www.cnblogs.com/ronyjay/p/12978856.html
Copyright © 2020-2023  润新知