Selenium 2自动化测试实战3(函数、类和方法)
一、函数、类和方法
1.函数
在python中通过def关键字来定义函数

创建一个add()函数,此函数接收两个参数a,b,通过print()打印a+b的结果。调用add()函数,并且上传两个参数3,5给add()函数
通过add()函数不会直接打印结果,而是将处理结果通过return关键字返回,如下图所示

有时我们在调用add()函数的时候不想传参,这时可以为add()函数设置默认参数,如下图所示

如果调用时不传参,那么add()函数就使用默认参数进行计算,如果传参则计算参数的值
2.类和方法
2.1在python中用class关键字来创建类,代码如下所示
class A(object):
def add(self,a,b):
return a+b count = A()
print(count.add(3,5))#输出结果为8
上面创建了一个A类(在python3中object为所有类的基类,所有类在创建时默认继承object,所以不声明继承object也可以),在类下面创建了一个add()方法,方法的创建同样使用关键字def,唯一不同的是,方法的第一个参数必须是存在的,一般命名为“self”,但是在调用这个方法时不需要为这个参数传值。
一般在创建类时会首先声明初始化方法__init__()
注意:init的两侧是双下划线,当调用该类时,可以用来进行一些初始化工作
class A():
def __init__(self,a,b):
self.a= int(a)
self.b= int(b) def add(self):
return self.a+self.b count=A('4',5)
print (count.add()) #输出结果为9
当调用A类时首先会执行它的__init__()方法,所以需要对其传参,初始化所做的事情就是将输入的参数类型转换为int类型,这样可以在一定程度上保证程序的容错性。而add()方法可以直接拿初始化方法__init__()的self.a和self.b两个数进行计算,所以,我们在调用A类下面的add()方法时,不需要再进行传参
2.2继承
class A():
def add(self,a,b):
return a+b
class B(A):
def sub(self,a,b):
return a-b print (B().add(3,5)) #输出结果为8
首先,我们创建了一个A类,在其下面创建add()方法用于计算两个数之和,接着创建B类,继承A类,并且又创建了sub()方法用于计算两数之差。因为B类继承了A类,所以B类自然也拥有了A类,所以,B类也有了add()方法,从而可以直接通过B类调用add()方法。
本文仅供个人学习,详情可参考 虫师的<Selenium 2自动化测试实战>
Selenium 2自动化测试实战3(函数、类和方法)的更多相关文章
- 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法
虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...
- Selenium 2自动化测试实战
Selenium 2自动化测试实战 百度网盘 链接:https://pan.baidu.com/s/1aiP3d8Y1QlcHD3fAlEj4sg 提取码:jp8e 复制这段内容后打开百度网盘手机Ap ...
- Selenium 2自动化测试实战36(更易读的测试报告)
一.更易读的测试报告 1.知识点:python的注释. 1.一种叫comment,为普通的注释2.另一种叫doc string,用于函数,类和方法的描述.在类或方法的下方,通过三引号("&q ...
- Selenium 2自动化测试实战13(设置元素等待)
一.设置元素等待 若在加载某个元素时延迟而造成的ElementNotVisbleException的情况出现,那么就会降低自动化脚本的稳定性,可以通过设置元素等待改善这种问题造成的不稳定. webdr ...
- python接口自动化测试二十一:类和方法
# 类和方法 class Count(): def __init__(self, aaa, bbb): # 初始化 # 可以放公共的参数 print('实例化的时候,会执行init的内容') self ...
- Selenium 与自动化测试 —— 《Selenium 2 自动化测试实战》读书笔记
背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习.所以本文几乎没有实践内容,大多都是概念和工 ...
- Selenium 2自动化测试实战39(Page Object设计模式)
Page Object设计模式 Page object是selenium自动化测试项目开发时间的最佳设计模式之一,主要体现在对界面交互细节的封装. 1.认识page object优点如下:1.减少代码 ...
- Selenium 2自动化测试实战35(HTML测试报告)
HTML测试报告 显然,一份漂亮的测试报告展示自动化测试成果只有一个简单的log文件是不够的.HTMLTestRunner是python标准库unittest单元测试框架的一个扩展,它生成易于使用的H ...
- Selenium+Python自动化测试实战(2)元素定位
1.Selenium2 的原理 第一篇分享简单介绍了基于Python开发的Selenium2的环境配置,这篇主要讲一下基本用法.首先讲一下Selenium2的基本原理.基本上知道了这个东西是怎么回事, ...
随机推荐
- jieba:我虽然结巴,但是我会分词啊
介绍 jieba目前是一款比较好分词模块 分词 import jieba # 可以使用jieba.cut进行分词 sentence = "失去恋人所带来的苦痛远远超过了他的承受范围" ...
- java执行字符串中的运算公式
import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.Scrip ...
- .net Core的例子
阅读文章: 十二个 ASP.NET Core 例子
- springboot jpa 创建数据库以及rabbitMQ分模块扫描问题
在使用jpa过程中,如果没有在配置中加入自动创建实体对于的sql,则需要提前创建建表语句 spring.jpa.properties.hibernate.show_sql=true spring.jp ...
- mysql 8.0.18 mgr 搭建及其切换
mysql 8.0.18 mgr 搭建及其切换 一.系统安装包 yum -y install make gcc-c++ cmake bison-devel ncurses-devel readline ...
- C# 3.0
序言 自动实现的属性 匿名类型 查询表达式 Lambda 表达式 从 C# 3 开始,lambda 表达式提供了一种更简洁和富有表现力的方式来创建匿名函数. 使用 => 运算符构造 lambda ...
- vue 修饰符sync
从 Vue 2.3.0 起,重新引入了 .sync 修饰符,作为一个编译时的语法糖存在.它会被扩展为一个自动更新父组件属性的 v-on 监听器. 实例: 父组件:<syTree :refillD ...
- <image>的src属性的使用
刚接触前端不久.怎么用image显示图片是个问题,怎么使用数据流还是base64呢?小小的研究一下 <image src="url"> 1.接口返回数据流,src可以直 ...
- rm:删除文件或目录
在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息.此命令的基本格式为:rm[选项] 文件或目录 选项: -f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直 ...
- Python黑科技神奇去除马赛克
图片修复程序-可用于水印去除 在现实的生活中,我们可能会遇到一些美好的或是珍贵的图片被噪声干扰,比如旧照片的折痕,比如镜头上的灰尘或污渍,更或者是某些我们想为我所用但有讨厌水印,那么有没有一种办法可以 ...