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()
  • 相关阅读:
    MySQL涉及连接的问题
    SQL注入的问题
    如果有一个特别大的访问量到数据库上,怎么做优化?主从复制、读写分离
    MySQL,优化查询的方法
    Solr搜索引擎
    线程安全与锁优化
    Java与线程
    Java内存模型
    你不会成为数据科学家的9个原因:数据科学是一个艰难的领域,请做好准备
    深度学习中的激活函数完全指南:在数据科学的诸多曲线上进行现代之旅
  • 原文地址:https://www.cnblogs.com/Luafair/p/10025293.html
Copyright © 2011-2022 走看看