(一. 涉及知识点)
(二. 获得的能力)
搭建python环境。
掌握python基本语法。
建立编程思维,具备基础的编程能力。
建立编程思维以及面向对象程序设计思想。
掌握如何通过UnitTest编写测试脚本,并生成HTML测试报告。
(三. 各种自动化测试框架)
python + selenium web(ui)自动化,功能测试转化为代码
python + appium 移动端(手机的APP)自动化
python + requests 接口自动化测试
(四. 内容python基础了解)
python应用领域(1989年写1991年发布,荷兰 吉多.范罗苏姆)
运维
web全栈
测试人员
应用领域
运行原理(直接在cmd中运行,命令: python 代码文件名
)
pytho解释器
pycharm安装
pycharm中编写python代码并运行
注释
单行 #
多行 “”“xxxx"“”,‘’‘xxxx’‘’
pygthon中的三种波浪线和PEP8
变量
# 变量
name = "张三"
print('name:', name)
age = 17
height = 189.0
# 小数默认显示6位
print('名字是%s , 年龄是%d , 身高是%.2f cm' % (name, age, height))
数据类型(查看数据类型:type()
)
数字类型
整型int
浮点型float
布尔型bool
非数字类型
字符串str
如,str1 = “name”
列表list
可变,移除,添加如,li1 = [1,2,3,4,5]
元组tuple
不可变,count(快,高效 )如,tu1 = (1,2,3,4)
字典dict
如,di1 = {‘name’:'二哈’,‘age’:‘17’}
# 列表
li1 = [1, 2, 3, 4, 5]
# 字符串
str1 = "name"
# 元组,不可变,可以作为字典中的值参数
tu1 = ('name', age, 'title', 4)
dict1 = {tu1: {'二哈', 15, '海洋', 5}, 'age': age}
print(dict1)
运算符
(四,python基础理论一)
字符串格式化补充
zhioo
l
字符串.format()
str2 = '明天会更好'
# 字符串格式化,在需要使用变量的地方使用大括号
print('我的{}的'.format(str2))
print('{}明天会更好{}'.format('我的', '的'))
运算符
判断语句(if
elseif
else
)
# if判断语句
a = 10
if a > 0:
print("a大于0")
# if-else判断语句
if a > 0:
print('a大于0')
else:
print('a小于等于0')
# if-elif-else适用于判断并列多个的情况
if a > 0:
print('a大于0')
elif a != 0:
print('a不等于0')
else:
print('a小于0')
# if嵌套
# debug流程
循环语句的基础while
# while 判断条件:
while 判断条件:
需要重复执行的代码
修改计数器
# 需要重复执行的代码,break终止循环
while true:
需要重复执行的代码
if xxx:
break;
案例:猜拳游戏
'''
猜拳游戏:
剪刀 赢 布
石头 赢 剪刀
布 赢 石头
步骤:
1.自己出拳: 石头(1)/剪刀(2)/布(3) input(player)
2.电脑随机出拳:(使用随机数工具) (computer)
3.判断输赢:
玩家胜利 player == 1 and computer == 2 or player == 2 and computer == 3 or player == 3 and computer == 1
平局 player == computer
玩家失败 else
'''
import random
player = int(input('请出拳头:石头(1)/剪刀(2)/布(3):'))
computer = random.randint(1, 3)
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
print("玩家胜利")
elif (player == computer):
print("平局")
else:
print("请不要气馁!再来一局")
'''
求1到100的和:
1+2+3+4+5+6+。。。。+100
1.定义变量 保存求和的结果
2.定义循环,获取1到100的数字并求和
3.打印求和的结果
'''
num = 0
# 定义初始条件
i = 1
# 书写循环的条件
while i <= 100:
num += i # 每一次i的值会变化
i += 1
print(num)
'''
求1到100的偶数和
1.找到所有偶数
2. 相加
'''
num = 0
i = 2
while i <= 100:
num += i;
i += 2
print(num)
(五,python基础理论二)
可变数据类型和不可变数据类型
int
float
bool
str
list:可变
tuple
dict:可变
set:输出时去除重复,可变
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
类和对象
'''
小猫爱吃鱼案例
需求:小猫要吃鱼,小猫要喝水,定义不带属性的类
类名:猫类,cat
属性:暂无
方法:吃鱼(eat),喝水(drink)
'''
# 1. 定义类
class Cat:
def eat(self):# self 会自动出现
print('小猫爱吃鱼...')
def drink(self):
print('小猫要喝水...')
# 2. 创建对象
blue_cat = Cat()
# 3. 通过对象调用类中的方法
blue_cat.eat()
blue_cat.drink()
# 创建第二哥对象
black_cat = Cat()
black_cat.eat()
black_cat.drink()
文件操作步骤(文本文件,二进制文件)
- 打开文件
- 读写文件
- 关闭文件
open函数(打开文件)
open(file,mode='r',encoding=None)
# with open打开文件
with open(file,mode,encoding='utf-8') as 变量:
读取或写入文件
wite()函数(写文件)
文件对象.write('写入文件的内容')
read()读文件
# 打开文件
f = open('a.txt','r',encoding='utf-8')
# 读文件
buf = f.read()
buf2 = f.readline()
# 关闭文件
f.close()
示例
json格式,示例数据
[
{
"name": "小明",
"age": 18,
"isMen": true,
"like": [
"听歌",
"游戏",
"购物",
"恋爱",
"睡觉"
],
"address": {
"county": "中国",
"city": "北京"
}
},
{
"name": "小红",
"age": 17,
"isMen": true,
"like": [
"听歌",
"学习",
"购物",
"恋爱",
"打豆豆",
"睡觉"
],
"address": {
"county": "中国",
"city": "北京"
}
}
]
python读取上述json格式数据
'''
读取json格式数据
'''
import json
with open('info.json', encoding='utf-8') as f:
info_list = json.load(f)
for info in info_list:
print(info.get('name'),info.get('age'),info.get('address').get('city'));
列表中套元组示例
# 抓取的json格式数据
[
{
"desc": "正确的用户名密码",
"username": "example_username",
"password": "example_password",
"expect": "登录成功"
},
{
"desc": "正确的用户名密码",
"username": "example_username",
"password": "example_password",
"expect": "登录成功"
},
{
"desc": "正确的用户名密码",
"username": "example_username",
"password": "example_password",
"expect": "登录成功"
}
]
# 代码实现读取
import json
with open('info2.json',encoding = 'utf-8') as f:
data = json.load(f)
print(data)
new_list = []
for i in data:
# print((i.get('username'), i.get('password'), i.get('expect')))
new_list.append((i.get('username'), i.get('password'), i.get('expect')))
print(new_list)
# 结果展示
[('example_username', 'example_password', '登录成功'), ('example_username', 'example_password', '登录成功'), ('example_username', 'example_password', '登录成功')]