python+selenium之简单介绍继承
python+selenium之简单介绍继承
一、此例简单的介绍一下继承
1.面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。
需要注意的地方:继承语法 class 派生类名(基类名)://... 基类名写作括号里,基本类是在类定义的时候,在元组之中指明的。这与c#是有区别的。
2.何时使用继承:假如我需要定义几个类,而类与类之间有一些公共的属性和方法,这时我就可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义,这样只需要继承基类这个动作,就可以访问到基类的属性和方法了,它提高了代码的可扩展性。
3.任何事情都有利有弊:继承的一个弱点就是,可能特殊的本类又有其他特殊的地方,又会定义一个类,其下也可能再定义类,这样就会造成继承的那条线越来越长,使用继承的话,任何一点小的变化也需要重新定义一个类,很容易引起类的爆炸式增长,产生一大堆有着细微不同的子类. 所以有个“多用组合少用继承”的原则。
4.在python中继承中的一些特点:
4.1:在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。有别于C#
4.2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数
4.3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。
如果在继承元组中列了一个以上的类,那么它就被称作“多重继承。
二、测试脚本
1.在pro1文件夹中新建一个classa.py文件,然后测试代码如下:
#coding:utf-8
from selenium import webdriver
import time
class A(object):
driver = webdriver.Firefox()
def open_baidu(self):
self.driver.maximize_window()
self.driver.implicitly_wait(8)
self.driver.get("https://www.taobao.com/")
time.sleep(2)
2.在pro2文件夹中新建一个classb.py文件,测试代码如下:
#coding:utf-8
from pro1.classa import A
class B(A):
def test(self):
self.open_baidu()
self.driver.quit()
te=B()
te.test()
注意:如果想要在另外一个python文件中使用参数,则在之前的那个类中设置为全局变量
详情参考:https://www.cnblogs.com/Joans/archive/2012/11/09/2757368.html
http://blog.csdn.net/u011541946/article/details/70209759
python+selenium之简单介绍继承的更多相关文章
- Python+selenium之简单介绍unittest单元测试框架
		
Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...
 - python shutil模块简单介绍
		
python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...
 - python之pandas简单介绍及使用(一)
		
python之pandas简单介绍及使用(一) 一. Pandas简介1.Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据 ...
 - Python -- Scrapy 框架简单介绍(Scrapy 安装及项目创建)
		
Python -- Scrapy 框架简单介绍 最近在学习python 爬虫,先后了解学习urllib.urllib2.requests等,后来发现爬虫也有很多框架,而推荐学习最多就是Scrapy框架 ...
 - python numpy 模块简单介绍
		
用python自带的list去处理数组效率很低, numpy就诞生了, 它提供了ndarry对象,N-dimensional object, 是存储单一数据类型的多维数组,即所有的元素都是同一种类型. ...
 - Python+Selenium学习--案例介绍
		
1. 前言 前面讲解了那么多selenium的基础知识,下面用一个简单案例来介绍,此案例主要实现,运行测试,自动生成html报告,并发生邮件. 2. 测试案例 2.1 目录结构介绍 conf:配置信息 ...
 - python paramiko 模块简单介绍
		
背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作. 首先了解到了 p ...
 - 自动化测试之selenium工具简单介绍
		
一.selenium简单介绍 1.selenium的成员 2.selenium工作原理 二.webdrive 常见元素定位
 - Python学习--Selenium模块简单介绍(1)
		
简介及运行流程 Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozi ...
 
随机推荐
- Android异步下载
			
概述 实现App常见下载公共 支持通知栏显示 支持 暂停.取消功能,使用Service.AsyncTask实现异步下载.特点简单.实用.方便源码扩展修改 详细 代码下载:http://www.demo ...
 - NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
			
本篇文章由:http://xinpure.com/nsurlsessionnsurlconnection-http-load-failed-kcfstreamerrordomainssl-9802/ ...
 - DataTable转List,转对象
			
DataTable转List public static List<T> ToListModel<T>(this DataTable table) where T : new( ...
 - unity, EventType.MouseUp注意事项
			
如果鼠标移出了窗口范围,则即使鼠标抬起也不会收到EventType.MouseUp消息,所以只写 if(event==EventType.MouseUp){ 执行某操作 } 是错误的,会导致非常奇怪的 ...
 - 非常简单的一个函数  竟然一直没有使用  find()
			
find: 在非string类型的容器里,可以直接找出所对应的元素. find函数需要几个参数:迭代器,下标值,所要找的元素 vector<int> a; find(a.begin(),a ...
 - 用于检测进程的shell脚本代码小结
			
本文介绍一段shell脚本,它可以检测某进程或某服务是否正在运行,然后以邮件通知.有需要的朋友参考下 一个简单的shell脚本,用来找出关键的服务是否正在运行,适用于Linux操作系统或Unix操作系 ...
 - SMBUS讀取數據的方法
			
第一步 将HST_D0寄存器清零 第二部 确定HST_STS (SMB_BASE 00h)寄存器裡面的所有狀態位是清除的(写清零) 第三步 往XMIT_SLVA(SMB_BAS ...
 - [svc]linux查看主板型号及内存硬件信息
			
公司服务器内存不够用了. 想看看买啥型号的. 购买内存条注意点: ddr3 or4 频率 块钱. 内存槽及内存条: dmidecode |grep -A16 "Memory Device$& ...
 - 解决:ubuntu 里文件夹带锁
			
sudo chown -R <user-name> <folder-name> /* 其中-R的意思是recursive,你懂的,chown --help可以查看帮助信息 */ ...
 - 一款jquery和css3实现的卡通人物动画特效
			
之前为大家分享了很多jquery和css3的动画实例.今天给大家带来一款非常炫的jquery和css3实现的卡通人物动画特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: < ...