Selenium3自動化測試——19.讀取數據文件

1. 實現目標

在測試與開發中,經常需要對文件進行各種讀取操作。這裏介紹針對txt、csv、xml、json文件的讀取。

2. 讀取TXT文件

2.1 user_info.txt文件

:123
user:
error:error
admin:admin123eee?

2.2 讀取txt文件.py

#line[:-1]其實就是去除了這行文本的最後一個字符(換行符)後剩下的部分。
#讀取文件
with(open("./data_file/user_info.txt","r")) as user_file:
    data = user_file.readlines()

#格式化處理
users=[]
for line in data:
    user = line[:-1].split(":")
    users.append(user)

#打印users二維數組
print(users)

2.3 實現結果

3. 讀取csv文件

3.1 user_info.csv

用戶名,密碼,斷言
,123,請輸入賬號
user,,請輸入密碼
error,error,賬號或密碼錯誤
admin,admin123,admin您好
guest,guest123,guest您好

 這裏要注意,csv文件本身打開是utf-8的,而不是亂碼

3.2 讀取csv文件.py

import csv
import codecs
from itertools import islice

# 讀取本地csv文件
data = csv.reader(codecs.open("./data_file/user_info.csv", 'r', "utf_8_sig", errors="ignore"))
# 存放用戶數據
users = []
# 循環輸出每行信息
for line in islice(data, 1, None):
    users.append(line)

# 打印
print(users)

這裏,針對亂碼問題,可以在open方法裏添加“,errors="ignore”,忽略亂碼錯誤!

3.3 實現結果

[['', '123', '請輸入賬號'], ['user', '', '請輸入密碼'], ['error', 'error', '賬號或密碼錯誤'], ['admin', 'admin123', 'admin您好'], ['guest', 'guest123', 'guest您好']]

4. 讀取xml文件

4.1 config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<info>
    <platforms>
        <platform>Windows</platform>
        <platform>Linux</platform>
        <platform>macOS</platform>
    </platforms>
    <browsers>
        <browser>Firefox</browser>
        <browser>Chrome</browser>
        <browser>Edge</browser>
    </browsers>
    <url>http://www.baidu.com</url>
        <login username="admin" password="123456"></login>
        <login username="guest" password="guest12"></login>
</info>

4.2 讀取xml文件.py

from xml.dom.minidom import parse

# 打開XML文件
dom = parse("./data_file/config.xml")

# 得到文檔元素對象
root = dom.documentElement

# 獲取一組標籤
tag_name = root.getElementsByTagName('platform')
print(tag_name[0].tagName)

# 獲取屬性名
login_tag = root.getElementsByTagName('login')
username = login_tag[0].getAttribute('username')
print(username)
password = login_tag[0].getAttribute('password')
print(password)

#獲取標籤之間的數據
msg = root.getElementsByTagName("browser")
prs = msg[0].firstChild.data
print(prs)
print(msg[1].firstChild.data)
print(msg[2].firstChild.data)

這裏介紹了對標籤、標籤屬性、標籤之間數據的讀取,可以解決所有xml文件的讀取數據問題。

4.3 實現結果

5. 讀取JSON文件

5.1 user_info.json

[
  {"username": "","password": ""},
  {"username": "","password": "123"},
  {"username": "user","password": ""},
  {"username": "error","password": "error"},
  {"username": "admin","password": "admin123"},
  {"username": "xushan","password": "shanxu"}
]

5.2 讀取json文件.py

import json

with open("./data_file/user_info.json", "r") as f:
    data = f.read()

user_list = json.loads(data)
print(user_list)

5.3 實現結果

[{'username': '', 'password': ''}, {'username': '', 'password': '123'}, {'username': 'user', 'password': ''}, {'username': 'error', 'password': 'error'}, {'username': 'admin', 'password': 'admin123'}, {'username': 'xushan', 'password': 'shanxu'}]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章