zoukankan      html  css  js  c++  java
  • PageObject设计模式

    对界面元素和功能模块进行封装,减少代码冗余。

    登录案例

    新建BasePage.py文件

    from time import sleep

    class Page():
    #初始化
    def __init__(self,driver):
    self.base_url='http://localhost'
    self.driver=driver
    self.timeout=10
    #打开不同的页面
    def _open(self,url):#加下划线表示私有方法,不能直接调用
    url_=self.base_url + url
    print('Test page is :{}'.format(url_))
    self.driver.get(url_)
    sleep(2)
    assert self.driver.current_url==url_,'did not land on %s'%url_
    #调用_open方法
    def open(self):
    self._open(self.url)
    #元素定位方法封装
    def find_element(self,*loc):
    return self.driver.find_element(*loc)

    新建一个LoginPage.py文件
    from BasePage import *
    from selenium.webdriver.common.by import By
    class LoginPage(Page):
    url="/"
    #定位器
    username_loc=(By.NAME,'username')
    password_loc=(By.NAME,'password')
    submit_loc=(By.NAME,'Submit')
    #用户名输入框
    def type_username(self,username):
    self.find_element(*self.username_loc).clear()
    self.find_element(*self.username_loc).send_keys(username)
    #密码输入框
    def type_password(self,password):
    self.find_element(*self.password_loc).clear()
    self.find_element(*self.password_loc).send_keys(password)
    #登录按钮
    def type_submit(self):
    self.find_element(*self.submit_loc).click()

    #登录模块封装
    def test_user_login(driver,username,password):
    """测试用户名密码是否可以登录"""
    loginPage=LoginPage(driver)
    loginPage.open()
    loginPage.type_username(username)
    loginPage.type_password(password)
    loginPage.type_submit()

    新建Login.py文件
    from selenium import webdriver
    from LoginPage import *
    driver=webdriver.Chrome()

    username="****"
    password="****"
    test_user_login(driver,username,password)#调用LoginPage文件中的方法
    sleep(3)
    driver.quit()
  • 相关阅读:
    彻底弄懂最短路径问题[转]
    activiti任务TASK
    linux查看磁盘空间
    Introduction to the POM
    【转】10 个迅速提升你 Git 水平的提示
    macbook安装mysql
    java并发编程之美-笔记
    springboot2精髓读书笔记
    java多线程
    实战JAVA虚拟机笔记
  • 原文地址:https://www.cnblogs.com/Luafair/p/10025293.html
Copyright © 2011-2022 走看看