一、什么是自动化

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。直白的就是为了节省人力、时间或硬件资源,提高测试效率,便引入了通过软件或程序自动化执行测试用例进行测试;

二、python简介

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

我们先来看一各种编程语言的类型。

机器语言:是指一台计算机全部的指令集合,计算机所使用的是由"0"和"1"组成的二进制数,二进制是计算计算机语言机的语言的基础。

编译型语言:将源代码编译生成机器语言,再由机器运行机器码(二进制)。例如:c c++ c#

解释型语言:相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。

代码在运行的时候才进行编译,如 java 、JavaScript、Perl 、Shell、PHP、ruby、python

脚本语言:一个脚本通常是解释执行而非编译。一开始的时候这种语言只有单一的功能,如shell用户编写linux的脚本,js用于制作网页特效

python的应用:数据挖掘(爬虫)、数据分析、自动化运维、自动化测试、后台服务器接口开发、AI、人工智能、嵌入式开发、web开发等。

python的特点:

1编写的代码质量高:采用缩进的方法,让代码的可读性更好,也很适合团队协作开发。

2提高开发的效率:简单的语法,动态的类型,不过不要认为python仅可以完成简单的任务,其实他只是让复杂的编程任务变的高效和有趣,曾经我一个搞JAVA的朋友,他完成一个任务要写几百行代码,而我只写了10几行代码,的确python这们语言是想把程序员解放出来,腾出一些时间去享受生活。

3程序的可移植性:你编写的代码可以放到几个平台上去运行,比如windows,linux,unix。

4很多标准库和第3方库:等你了解python标准库的时候,你就会觉的它的标准库太多了,而且功能和强大,从字符处理到网络处理无所不能。

5编程思想是大道至简:python希望程序员能够用最简单的方法来解决问题,化繁为简。

好了下面开始我们的python学习之旅~

三、python基础

基本概念

字符集:是一个系统支持的所有抽象字符的集合,计算机中储存的信息都是用二进制数表示的。

字符编码(Character Encoding):是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对。即在符号集合与数字系统之间建立对应关系,它是信息处理的一项基本技术。以计算机为基础的信息处理系统则是利用元件(硬件)不同状态的组合来存储和处理信息的。元件不同状态的组合能代表数字系统的数字,因此字符编码就是将符号转换为计算机可以接受的数字系统的数,称为数字代码。

常用的字符集合字符编码

常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码(定长码),也是一种前缀码。它可以用来表示Unicode标准中的任何字符,且其编码中的第一个字节仍与ASCII兼容,这使得原来处理ASCII字符的软件无须或只须做少部份修改,即可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。互联网工程工作小组(IETF)要求所有互联网协议都必须支持UTF-8编码。

有时我们看到页面上的乱码,可能就是字符集不一致导致的。

变量(variable)变量就是代表某个数据(值)的名称。python是一种动态类型语言,在赋值的执行中可以绑定不同类型的值,这个过程叫做变量赋值操作,赋值同时确定了变量类型。

静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求.

动态类型语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。

python中变量的定义

1、变量名可以包括字母、数字、下划线,但是数字不能做为开头。例如:name1是合法变量名,而1name就不可以。

2、系统关键字不能做变量名使用

3、除了下划线之个,其它符号不能做为变量名使用

4、Python的变量名是区分大小写的,例如:name和Name就是两个变量名,而非相同变量哦。

5、中文也能定义变量名,单实际当中不这样运用

python的数据类型

1)整型——int——数字

python有5种数字类型,最常见的就是整型int,例如:a = 123 或 b = -123 等号左边是变量名,右边是要赋的值

2)布尔型——bool——用符号==表示

布尔型是一种比较特殊的python数字类型,它只有True和False两种值,它主要用来比较和判断,所得结果叫做布尔值。例如:3==3 给出True,3==5给出False

3)字符串——str——用' '或" "表示

例如:URL='www.iplaypy.com'或者name="lijing"

4)列表——list——用[ ]符号表示

例如:num=[1,2,3,4]

5)元组——tuple——用( )符号表示

例如:('d',300)

6)字典——dict——用{ }符号表示

例如:{'name':'coco','country':'china'}

实战演练

安装python,安装pycharm编码软件进行编码。

1、hello world!

python中输出函数print函数,字符串和数值类型的可以直接输出,如下

print('hello world')

print(1)

输出内容:

输出字符串内容可以用‘’,也可以用“”,当输出的字符串中包含‘’时,则字符串用“”;当输出的字符串中包含“”号时,则字符串用‘’;当输出的字符串中‘’和“”都包含时,则字符串用‘’‘ ‘’’来输出;如下

print("你真的很'帅'!")

print('你真的很"帅"!')

print(''''哇!'你真的很"帅"!''')

输出内容:

输出变量类型

x='hello world!'

print(x)

s=13

print(s)

l=[1,2,3,'p']

print(l)

格式化输出

输出的内容中包含定义的参数时,

name=input('请输入你的姓名:')

time='2017年12月19日'

print('%s欢迎光临!'%name)

输出内容

%字符:标记转换说明符的开始 ,s表示格式转换类型为字符串,f表示十进制浮点数,d表示带符号的十进制整数

当有两个输出参数的使用,在%(参数1,参数2)列出需要传参的参数名

name=input('请输入你的姓名:')

time='2017年12月19日'

print('%s欢迎光临!'%name)

print('%s欢迎光临!时间是:%s'%(name,time))

输出内容:

+的形式进行字符串拼接:

name=input('请输入你的姓名:')

time='2017年12月19日'

print('%s欢迎光临!'%name)print(name+'欢迎光临!')

输出内容:

可以看到字符串拼接 + 的输出内容与%形式的转换是一样的;

还有一种方式更加简便快捷常用,{}的形式进行传参

name=input('请输入你的姓名:')

time='2017年12月19日'

print('%s欢迎光临!'%name)

print('%s欢迎光临!时间是:%s'%(name,time))

print(name+'欢迎光临!')

print('{}欢迎光临!时间是:{}'.format(name,time))

输出内容:

请输入你的姓名:pei

pei欢迎光临!

pei欢迎光临!时间是:2017年12月19日

pei欢迎光临!

pei欢迎光临!时间是:2017年12月19日

当参数较多时,可能会记忆混乱出现传参错误的情况,此时我们可重新定义一下传参的内容:如下实现方法

name=input('请输入你的姓名:')

time='2017年12月19日'

print('%s欢迎光临!'%name)

print('%s欢迎光临!时间是:%s'%(name,time))

print(name+'欢迎光临!')

print('{}欢迎光临!时间是:{}'.format(name,time))

print('{username}欢迎光临!时间是:{localtime}'.format(username=name,localtime=time))

输出内容:

2、条件判断基本使用方法

语法:

if 条件表达式:

语句块

例子:

如果成绩达到80分或以上,视为优秀。

成绩达到60分到80分(不包括80分),视为及格。

成绩60分以下,视为不及格。

我们输入一个分数,用if语句判断是否能打印出分数所属阶段:

score =input('请输入分数:')

if score >= 80:

print('优秀')

elif score >=60 and score<80:

print('及格')

else:

print('不及格!')

执行上面的语句,输入分数为89,看执行结果

上述结果我们看到执行报错了,str类型的与int类型不能进行比较;

因为score为一个输入类型的变量,而input函数所有形式的输入按字符串处理,如果想要得到其他类型的数据进行强制类型转化,此处我们需要对输入内容强制进行转化,如下

score =int(input('请输入分数:'))

if score >= 80:

print('优秀')

elif score >=60 and score<80:

print('及格')

else:

print('不及格!')

执行上述代码,输入分数为99,查看输出结果

输入分数为78,查看输出结果

输入分数为55,查看输出结果

2、for循环和while循环的基本使用方法

for循环

for something in XXXX:

语句块

即表示对XXXX中的每一个元素,执行某些语句块,XXXX可以是列表,字典,元组,迭代器等等。

如下

for x in range(10):

print('test')

执行查看输出结果,输入了10次test

while循环:

while 条件表达式1:

语句块

while 循环不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束。while循环会每次判断 条件表达式1 是否为true,如果为true,则执行语句块,否则退出循环。

例如:

count=0

while count<3:

print('哈哈哈')

count+=1

执行看一下结果

结果输出了3次‘哈哈哈’,每一次输入,count+1,直到不满足条件count<3时,退出循环。

continue和break

break:

直接退出整个循环体;

continue:

跳出本次循环,执行下一次循环。

例如上边的例子,我们加上break和continue来看一下结果

for x in range(10):

print('test')

break

执行并查看结果

我们看到for循环中添加break之后,执行一次,遇到break就退出循环了,没有继续循环。

在while中添加continue来试试:

count=0

while count<3:

count += 1

username=input('请输入您的姓名:')

if username=='小王':

print('%s,欢迎光临!'%username)

break

else:

print('您好,您重新输入!')

continue

else:

print('您好,输入次数过多!')

执行上述代码,输入姓名为:ww,查看结果

执行代码,输入姓名为:小王,查看结果

其中,字符串的比较

相等:==

不等于 :=!

小于等于 :<=

大于等于:>=

我们再来试一个猜数字的例子

Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。

random.random

random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0

random.uniform

random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a

random.randint

random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

random.randrange

random.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。

random.choice

random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。

random.shuffle

random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。

random.sample

random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。

首先需要导入random模块

import random

random_num=random.randint(1,1999)

print(random_num)

执行查看结果为 736 ,取了一个随机数。

下面来写猜数字的例子:如果7次之内猜出数字,则结束,如果错误,输入超过7次后结束。

import random # 导入random模块

random_num = random.randint(1, 500)

count = 0

while count < 7:

count += 1

num = int(input('请输入你猜的数字:'))

if num > random_num:

print('你猜的太大了')

continue

elif num < random_num:

print('你猜的太小了')

continue

else:

print('恭喜你猜对了,答案是:%s'%num)

break

执行输入相应的数字,查看结果

好了,今天先说到这里,后续继续学习。

什么是python自动化测试_python自动化测试学习笔记-1相关推荐

  1. guido正式发布python年份_Python 基础学习笔记.docx

    Python 基础学习笔记 基于<Python语言程序设计基础(第2版)> 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备, ...

  2. 36篇博文带你学完opencv :python+opencv进阶版学习笔记目录

    基础版学习笔记传送门 36篇博文带你学完opencv :python3+opencv学习笔记汇总目录(基础版) 进阶版笔记 项目 opencv进阶学习笔记1: 调用摄像头用法大全(打开摄像头,打开摄像 ...

  3. Python中索引的学习笔记

    1 前言 今天在学习FaceBoxes- 看到一个比较奇怪的代码,"order = scores.argsort()[::-1][:args.top_k]",不太懂这个" ...

  4. Python地理做图——学习笔记

    Python地理做图--学习笔记 GMT 绘制海岸线 绘制地形并叠加海岸线 地理信息数据格式在线转换网址 适用OSGEO4w可以实现tif转nc,转grd 绘制grd和nc 除了投影方式-X, gmt ...

  5. 基于python的数字图像处理--学习笔记(三)

    基于python的数字图像处理--学习笔记(三) 前言 一.灰度拉伸 二.幂律(伽马)变换 三.对数变换 前言 进入冈萨雷斯的第三章内容,并用python实现功能.我更改了代码源,之前找到太烂了,代码 ...

  6. Python第三方库pygame学习笔记(一)

    Pygame Python最经典的2D游戏开发第三方库,也支持3D游戏开发 Pygame适合用于游戏逻辑验证.游戏入门及系统演示验证 Pygame是一种游戏开发引擎,基本逻辑具有参考价值 pygame ...

  7. python气象数据可视化学习笔记6——利用python地图库cnmaps绘制地图填色图并白化

    文章目录 1. 效果图 2. cnmaps简介及安装 2.1 写在前面 2.2 cnmaps简介和安装 3. 导入库 4. 定义绘图函数 4.1 使用get_adm_maps返回地图边界 4.2 ax ...

  8. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

  9. Python+cplex运筹优化学习笔记(三)-营养膳食选择

    Python+cplex运筹优化学习笔记(三)-营养膳食选择 前言 首先呢,说明一下,本文只是自己在学习过程中运用到的例子,然后规整总结一下,随便写写自己所做的一些笔记.小白学习,有不对的地方还望大家 ...

  10. 全国计算机等级考试二级Python精品题库学习笔记1

    全国计算机等级考试二级Python精品题库学习笔记1 精品试卷01 精品试卷01程序题 基本操作题 2:随机验证码 基本操作题 3:比赛成绩计算 Turtle 绘图题:同心圆 简单应用题 2:员工工资 ...

最新文章

  1. 【JavaScript总结】JavaScript发展与学习内容
  2. KVM — 与 QEMU 和 Libvirt 的关系
  3. linux shell脚本的执行方式与区别
  4. IS-IS(笔记整理)
  5. 在linux下解压jdk时出现的问题
  6. java 圆形碰撞箱_你会使用“碰撞箱”吗?5种你不知道的玩法 甚至能定位死亡方位...
  7. c语言读入图片matlab,将数据从matlab文件读入C语言
  8. 客户端程序调用zookeeper报len4807928异常
  9. Shell脚本编程之(三)执行方式差异(source, sh script, ./script)
  10. 黑苹果Mojave下驱动高通模块Atheros DHXA-195(AR9285无线网卡和AR3011 蓝牙3.0)
  11. [UEFI启动教程]移动硬盘安装U盘装机助理(双模式启动)
  12. 微信收款码应该怎么申请呢?详细教程在这里
  13. node,js的基础认识(一)
  14. IDEA中好用的功能(不断更新中)
  15. 如何在视频中加水印?分享这些实用的加水印方法给你
  16. Java 异常(Exceptions)
  17. 关于ROM版本的解释,ROM版本ROM测试到底是什么
  18. 戴上耳机,全世界都是你的
  19. labelme标签批量转换,labelme_json_to_dataset
  20. iperf3 安装遇到 error while loading shared libraries: libiperf.so.0

热门文章

  1. 【路面分类】基于matlab灰度共生矩阵图形纹理检测+SVM路面状况分类【含Matlab源码 1519期】
  2. 【声源定位】基于matlab广义互相关声源定位【含Matlab源码 548期】
  3. 【游戏】基于 matlab GUI lanchester作战模拟设计【含Matlab源码 426期】
  4. glmark2移植到嵌入式Linux,嵌入式中移植基于Framebuffer的LittlevGL
  5. java构造器基本语法_Java语言中的定义变量、构造函数
  6. html带表单和div的素材,用DIV+CSSwe标准布局网页表单的一个例子
  7. matlab用实时脚本编写函数,matlab中关于函数文件和脚本文件使用实例(转载)
  8. 我的奇思妙想机器人消防员_【小作家专栏】我的奇思妙想(三)
  9. 小甲鱼python笔记_小甲鱼Python笔记(类)
  10. IO流(1)--文件流及其原理