Web自动化测试—PO设计模式(二)

目录结构

ui_auto_test
    --src
        --pages
            --base_page.py
            --login_page.py

login_page.py

# conding:utf8

from .base_page import BasePage
from .home_page import HomePage

class LoginBage(BasePage):

    def username_filed(self):
        return self.by_css(‘#username‘)

    def password_filed(self):
        return self.by_css(‘#password_input‘)

    def login_button(self):
        return self.by_css(‘#tcloud_login_button‘)

    def password_fail_text(self,text):
        return self.by_css(‘#error-tips‘,text).text

class LoginAction(LoginBage):

    def login_action(self,username,password):
        self.username_filed().clear()
        self.username_filed().send_keys(username)
        self.password_filed().clear()
        self.password_filed().send_keys(password)
        self.login_button().click()
        return HomePage(self.driver)

原文地址:https://www.cnblogs.com/snailrunning/p/9226189.html

时间: 2024-11-09 12:28:34

Web自动化测试—PO设计模式(二)的相关文章

Web自动化测试—PO设计模式(三)

test_case目录下面放你要执行的用例 目录结构 ui_auto_test --src --test_case --__init.py --test_login_case --pages --__init.py --base_page.py --login_page.py test_login_case.py # conding:utf8 import unittest import os, sys #获取项目顶级文件夹绝对路径 src_path = os.path.split(os.pat

【Web自动化测试——代码篇四】常用方法——常见元素操作

浏览器这个大框架我们都能控制,区区页面小元素又能奈我们何!!!之前的[Web自动化测试--代码篇二]条条大路找元素 已经讲述了许多获取元素的方法,在此基础上我们来认识几个元素最常见的相关操作?(ˉ﹃ˉ?)   Java Python Ruby 输入内容 sendKeys(*value) send_keys(*value) send_keys(*value) 单击元素 click() click() click 清除文本 clear() clear() clear 提交表单 submit() su

selenium自动化测试框架之PO设计模式

面向对象的特性:封装.继承.多态.在自动化中一样适用,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提高测试用例的维护效率. ##传统测试脚本的弊端 测试脚本分离,维护成本高 可扩展性差 复用性低等 PageObject设计模式 PO的核心要素: 在PO模式中抽象封装成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性. 每个一个page都继承BasePage,通过driver来管理本page中元素

Python Selenium设计模式 - PO设计模式

整理一下python selenium自动化测试实践中使用较多的po设计模式. 为什么要用PO 基于python selenium2开始开始ui自动化测试脚本的编写不是多么艰巨的任务.只需要定位到元素,执行对应元素的操作即可. 下面我们看一下这个简单的脚本实现百度搜索. 从上述代码来看,我们所能做的就是元素的定位,然后进行键盘输入或鼠标动作.就这个小程序而已,维护起来看起来是很容易的. 但随着时间的迁移,测试套件将持续的增长.脚本也将变的越来越多.如果我们需要维护10个页面,100个页面,甚至1

Web自动化测试框架改进

Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 一.适用范围:传统Web功能自动化测试.H5功能自动化测试. 二.兼容性:建议使用火狐或谷歌浏览器,因为Selenium与其兼容性最好. 三.框架改进亮点(比Selenium框架优的地方): 1. 采用PageObject设计模式,将某个页面的所有元素(包含控件)属性及元素操作封装在1个Class里面,如下所示: 这样做的目的是为了解耦,即测试代码与被测页

功能测试转型必备课程 零基础入门Web自动化测试

第1章 课程介绍本章主要对整个课程简单介绍,并且把学习过程中会经常遇见的问题进行讲解. 第2章 手工测试转型自动化测试必备技能本章讲解从手工测试转型自动化测试必须掌握的一些知识,学会的技能点,以及从思想的转变到框架的了解,让初级学者对自动化测试不再迷茫,轻松学习起来. 第3章 从功能测试角度出发讲解自动化测试selenium基础本章通过功能测试分析到自动化测试的转变,从功能角度出发,讲解自动化selenium的基本知识,让你真的把浏览器操作起来,进一步的了解自动化测试. 第4章 HTML基础定位

基于Python Selenium Unittest PO设计模式详解

本文章会讲述以下几个内容: 1.什么是PO设计模式(Page Object Model) 2.为什么要使用PO设计模式 3.使用PO设计模式要点 4.PO设计模式实例 1.什么是PO设计模式 (Page Object Model) 一种在测试自动化中变得流行的设计模式,使得自动化测试脚本的减少代码重复.更易读.减少维护成本. 一般PO设计模式有三层 第一层: 对Selenium 进行二次封装,定义一个所有页面都继承的 BasePage , 封装 Selenium 基本方法 例如:元素定位,元素等

Java+TestNG+Maven+Selenium的web自动化测试脚本环境的搭建

一.环境搭建 1.安装java环境 a. 安装JDK b.安装eclipse c.安装maven 参考:http://www.cnblogs.com/s1328/p/4620812.html 2.安装eclipse下的testng插件 Eclipse中点击Help->Install new software -> 点击Add 在Location输入 http://beust.com/eclipse 选中Testng版本,点击Next,按照提示安装,安装完之后重启Eclipse 3.安装fire

iOS、安卓app还有web框架ui_framework轻松实现app自动化测试以及web自动化测试

一.功能介绍 Ui_framework类似于interface_framework 提供一个gem包,安装后即可使用. 1.实现了Android以及iOS app自动化测试底层基本方法封装以及测试执行报告: 2.实现了web自动化测试框架封装,实现了web标签操作予以动态方法达到元素操作目的,无需因为标签种类增加或者操作变动而增加变动底层方法 二.框架架构说明 架构图: 三.使用说明 1.  安装gem包ui_framework: 2.  脚本中require 'ui_framework' 3.