定义列表
定义使用 [] 来将数据放在一起。 列表中可以放任意类型的数据。
ns = [0,1,"xiaoming","中国"]
print(ns, type(ns))
运行结果。
[0, 1, 'xiaoming', '中国'] <class 'list'>
list 表示数据的类型为 列表。列表内置有很多方法供我们使用。
列表的使用场景
列表可以放数据,也可以修改数据。在自动化测试过程中,我们可以将测试数据放在list 中。比如 接口测试 针对单接口测试,会将数据放在csv文件中,通过csv文件做数据的参数化。
后面在python的自动化中也会使用 csv文件,将csv文件中的数据解析出来,解析出来使用的就是列表这种数据格式。
访问列表中的元素
跟字符串中访问元素的方式一样,也可以使用 索引的方式来访问 列表。
Python 字符串
ns = [100,200,"xiaoming","中国"]
print(ns, type(ns))
print(ns[0]) # 100
print(ns[-1]) # 中国
print(ns[0:3]) # [100, 200, 'xiaoming']
print(ns[-3:-1]) # [200, 'xiaoming']
print(ns[:2]) # [100, 200]
print(ns[-2:]) # ['xiaoming', '中国']
print(ns[::-1]) #
上面的数据比较简单,只有一个列表。如果上面的数据中 列表中又嵌套的又列表。
nums = [[100,101,102],[200,201,202],[300,301,302]]
# 如果要访问 201 这个值 就要一层一层往里面取。
# 1 找到 [200,201,202]
print(nums[1]) # [200, 201, 202]
# 2 从 [200, 201, 202] 中再找到 201
print(nums[1][1]) # 201
遇到多层数据格式。需要一层一层取值。先外层,再内层。
访问 300 , 请问怎么写?
print(nums[2][0])
访问 102, 请问怎么写?
print(nums[0][2])
更改list 中元素的值
通过指定索引修改对应的值 ```python
n = [100,101,5,103,104] print(n[2]) # 5
更改n[2] 中的值
n[2] = 102
更改完成之后对应的值
print(n) # [100, 101, 102, 103, 104]
<a name="rwZPQ"></a>
# 添加元素
<a name="Umcy5"></a>
## 🎈append 追加元素
可以通过append 方法往列表中最后一位添加元素。
```python
n = [100,101,5,103,104]
print(n[2]) # 5
# 更改n[2] 中的值
n[2] = 102
print(n) # [100, 101, 102, 103, 104]
# n 的末位 添加 105
n.append(105)
# 可以看到n的结果
print(n) # [100, 101, 102, 103, 104, 105]
insert 指定位置插入元素
append 默认将元素放在列表的最后一位。insert 可以通过指定位置来放入元素。
n = [100,101,5,103,104]
print(n[2]) # 5
# 更改n[2] 中的值
n[2] = 102
print(n) # [100, 101, 102, 103, 104]
# n 的末位 添加 105
n.append(105)
# 可以看到n的结果
print(n) # [100, 101, 102, 103, 104, 105]
# 插入元素 0 表示插入位置,表示在第1个元素之前插入 99
n.insert(0,99) # [99, 100, 101, 102, 103, 104, 105]
# 查看n
print(n)
# 在索引1位置(第2个) 之前(左边位置) 插入 98
n.insert(1,98) # 98 会放在第2位
print(n) # [99, 98, 100, 101, 102, 103, 104, 105]
# -1 表示最后1位,会在最后1位之前(左边位置) 插入200
n.insert(-1,200)
print(n) # [99, 98, 100, 101, 102, 103, 104, 200, 105]
在自动化中的应用
自动化测试需要准备测试数据,
数据可以是字符串,也可以是数字。
在测试异常场景的时候,有很多种场景,可以将不同场景的数据,结合 for 循环 可以组合在一起,放在列表。
for 循环
问题: 测试登录场景,需要用到用户名和密码。
用户名可能的场景
username = ["xiaoming","***&&&",""]
passwd = ["123456",""]
用户名和密码不同组合,可以生成多少测试数据。
参考
for循环