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的基本原理.基本上知道了这个东西是怎么回事, ...
随机推荐
- The Linux Kernel 4.15.0官方文档内核语言风格解读(留)
https://www.kernel.org/doc/html/v4.15/translations/zh_CN/coding-style.html 1.缩进 制表符是 8 个字符,所以缩进也是 8 ...
- 标准模板库(STL)
组件: 容器:管理某类对象的集合. 迭代器:用来在一个对象集合内遍历元素. 算法:处理集合内的元素. 容器 序列式容器:顾名思义.array,vector,deque,list 和 forward_l ...
- tomcat访问日志
* %a - Remote IP address # 远程ip地址 * %A - Local IP address # 本地ip地址 * %b - Bytes sent, excluding HTTP ...
- Kendo UI for jQuery使用教程:小部件DOM元素结构
[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...
- 用Python实现九九乘法表打印
#!usr/bin/env python # -*- coding:utf-8 -*- # dic={ # 'apple':10, # 'iphon':5000, # 'wwatch Tv':3000 ...
- Acwing-116-飞行员兄弟(二进制枚举)
链接: https://www.acwing.com/problem/content/description/118/ 题意: "飞行员兄弟"这个游戏,需要玩家顺利的打开一个拥有1 ...
- noip模拟总结
先讲讲今天的比赛, T1: 看着很水,在草稿纸上画了一下,发现其实并不简单, 于是先去打第二题, 最后半个小时实在是一点头绪也没有, 打了个状压dp 70分(暴力分真多). T2: 把样例画出来模拟一 ...
- 关于python-selenium-chromedriver提示
问题一:AttributeError: module 'selenium.webdriver' has no attribute 'Chromedriver' 配置selenium环境时,执行代码 f ...
- 23. ClustrixDB AUTO_UNIQUE
AUTO_INCREMENT 许多表具有使用AUTO_INCREMENT自动填充的代理键.ClustrixDB也支持这个MySQL特性,并在将记录插入表时创建惟一的ID.这些生成的id单调递增. 惟一 ...
- Linux不同机器文件挂载
由于此前发布项目应用时,需要对两台文件服务器进行文件挂载,所以才实际第一次接触到这个名词,但由于一直以来自己没有真正的去操作过,只是停留在一些理论层次,所以今天记录一下这个实现过程,以备后用. 使用设 ...