定义列表

定义使用 [] 来将数据放在一起。 列表中可以放任意类型的数据。

  1. ns = [0,1,"xiaoming","中国"]
  2. print(ns, type(ns))

运行结果。

  1. [0, 1, 'xiaoming', '中国'] <class 'list'>

list 表示数据的类型为 列表。列表内置有很多方法供我们使用。

列表的使用场景

列表可以放数据,也可以修改数据。在自动化测试过程中,我们可以将测试数据放在list 中。比如 接口测试 针对单接口测试,会将数据放在csv文件中,通过csv文件做数据的参数化。
后面在python的自动化中也会使用 csv文件,将csv文件中的数据解析出来,解析出来使用的就是列表这种数据格式。

访问列表中的元素

跟字符串中访问元素的方式一样,也可以使用 索引的方式来访问 列表。
Python 字符串


  1. ns = [100,200,"xiaoming","中国"]
  2. print(ns, type(ns))
  3. print(ns[0]) # 100
  4. print(ns[-1]) # 中国
  5. print(ns[0:3]) # [100, 200, 'xiaoming']
  6. print(ns[-3:-1]) # [200, 'xiaoming']
  7. print(ns[:2]) # [100, 200]
  8. print(ns[-2:]) # ['xiaoming', '中国']
  9. print(ns[::-1]) #

上面的数据比较简单,只有一个列表。如果上面的数据中 列表中又嵌套的又列表。

  1. nums = [[100,101,102],[200,201,202],[300,301,302]]
  2. # 如果要访问 201 这个值 就要一层一层往里面取。
  3. # 1 找到 [200,201,202]
  4. print(nums[1]) # [200, 201, 202]
  5. # 2 从 [200, 201, 202] 中再找到 201
  6. print(nums[1][1]) # 201

遇到多层数据格式。需要一层一层取值。先外层,再内层。

  1. 访问 300 , 请问怎么写?

    1. print(nums[2][0])
  2. 访问 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循环