Selenium PO模式

本文介绍了Selenium中的Page Object Model(PO模式)及其应用,包括Page_base、Login_page等页面的封装。此外,还展示了数据读取、测试日志记录以及自动化测试的实现。文中讨论了自动化测试的优点,如提升回归效率和资源利用率,但也指出其局限性,如对测试人员技能要求高、维护成本和对被测试系统质量的依赖性等。
摘要由CSDN通过智能技术生成

Selenium PO模式

  • PO模式(POM)
    • Page Object Model
  • Page
    • Page_base
      • 封装所有页面公用的方法
        • driver
        • find_element
        • click
        • send_keys
        • clear
        • switch_to.frame
        • get_current_url
        • quit(close方法是关闭当前窗口,quit关闭浏览器)
    • Login_page
      • 封装登陆页面公用的方法
      • 继承Page_base父类
      • 将获取元素方式,以及元素对应属性值存储为元组
  • Common
    • data
      • 获取文件内数据
        • import csv
        • fl = open(fl_name)
        • content = csv.reader(fl)
        • data_list = [i for i in content]
      • 获取登录数据
        • data = self.get_data('./Data/login.csv')
        • login_list = [i[2:] for i in data[1:]]
    • log
      • 测试日志
        • 创建日志
          • imp
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Selenium PO模式,封装定位元素可以通过以下步骤实现: 1.创建一个基类,其包含了常见的元素定位方法,如find_element_by_xpath、find_element_by_id等。 2.在页面类,定义一个定位元素的方法,该方法使用基类的元素定位方法,以及特定元素的定位表达式,返回定位到的元素对象。 3.在页面类,定义其他相关操作的方法,这些方法利用之前定位到的元素对象,执行所需的操作,如点击、输入等。 4.在测试用例,引入页面类,通过调用页面类的方法执行操作。 下面是一个示例代码: # 基类 class BasePage: def __init__(self, driver): self.driver = driver def find_element_by_xpath(self, xpath): return self.driver.find_element_by_xpath(xpath) def find_element_by_id(self, id_): return self.driver.find_element_by_id(id_) # 页面类 class LoginPage(BasePage): def __init__(self, driver): super().__init__(driver) self.username_input_locator = "//input[@name='username']" self.password_input_locator = "//input[@name='password']" self.login_button_locator = "//button[contains(text(),'登 录')]" def input_username(self, username): self.find_element_by_xpath(self.username_input_locator).send_keys(username) def input_password(self, password): self.find_element_by_xpath(self.password_input_locator).send_keys(password) def click_login_button(self): self.find_element_by_xpath(self.login_button_locator).click() # 测试用例 driver = webdriver.Chrome() login_page = LoginPage(driver) login_page.input_username("testuser") login_page.input_password("testpassword") login_page.click_login_button()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值