2022/05/18学习内容
整理时间:2022/05/19
参考资料:https://www.bilibili.com/video/BV1NM4y1K73T?p=1&spm_id_from=333.851.header_right.history_list.click
进入新阶段-web自动化实战
数据驱动基础
1.txt文件操作与csv文件操作
open_file_t.py
open_file_c.py
1)读取txt文件数据方法
2)“utf-8”格式
3)csv格式:以纯文本方式保存表格数据
# open_file_t.py
# 读取txt文件中数据
f = open("open_file_t.txt", "r", encoding="utf-8")
# 读取数据方法一:readline():读取一行数据
# print(f.readline())
# 读取数据方法二:read():读取文档中所有数据
# print(f.read())
# 读取数据方法三:readlines():读取文档中所有数据,并将数据元素存放至链表中
# 读取数据量较大时,不建议采用该种方法
print(f.readlines())
# open_file_t.txt
lol,timi,rangto
lol timi rangto
英雄联盟,甜美,农业
lol timi rangto
import csv
c = csv.reader(open("open_file_c.csv", "r", encoding="utf-8"))
# 读取数据方法
for cs in c:
print(cs)
# open_file_t.csv
姓名,性别,年龄
张三,男,18
李四,男,20
王五,女,19
2.Excel文件操作
open_file_e.py
1)Excel与csv区别
2)读取Excel数据步骤
import xlrd
e = xlrd.open_workbook("open_file_e.xlsx")
# 获取sheet
sheet = e.sheet_by_index(0)
# 获取行列
print(sheet.nrows)
print(sheet.ncols)
# 获取第0行数值
# print(sheet.row_values(0))
for i in range(sheet.nrows):
print(sheet.row_values(i))
# 获取第0列数据
print(sheet.col_values(0))
互联网中数据格式
open_file_j.py
3.JSON文件操作
1)读取JSON文件方法
import json
json_str = open("open_file_j.json", "r", encoding="utf-8").read()
print(json_str)
print(type(json_str))
# 读取json方式:json.loads()--将json字符串转换为python链表
json_ob = json.loads(json_str)
print(json_ob)
print(type(json_ob))
print(type(json_ob[0]))
print(json_ob[0]["name"])
# 读取json方式:json.dumps()--将python链表转换为json字符串
json.dumps(json_ob, ensure_ascii=False)
# open_file_j.json
[{"name":"张三","sex": "男","age": "18"}, {"name":"李四","sex": "男","age": "20"}, {"name":"王五","sex": "女","age": "19"}]
4.XML文件操作:了解即可
open_file_x.py
1)XML
2)读取XML文件方法
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
tree = ET.parse("open_file_x.xml")
root = tree.getroot()
print(root.tag)
print(root.attrib)
print(root.text)
for child in root:
print(child.tag)
print(child.attrib)
print(child.text)
for son in child:
print(son.tag)
print(son.attrib)
print(son.text)
# open_file_x.xml
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>>
<author>Giada De Laurentiis</author>>
<year>2005</year>>
<price>30.0</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>>
<author>J K.Rowling</author>>
<year>2005</year>>
<price>29.99.0</price>
</book>
</bookstore>
5.YAML文件操作
open_file_y.py
1)一种将JSON格式与XML格式相结合的文件格式
2)操作实例
import yaml
yaml_str = open("open_file_y.yaml", "r", encoding="utf-8").read()
yaml_ob = yaml.load(yaml_str, Loader=yaml.FullLoader)
print(yaml_ob)
# open_file_y.yaml
{name:"张三",sex: "男",age: "18"}
测试用例与基础项目:去哪网购票
qunaer.py
1.项目计划
2.测试用力撰写
3.测试步骤
1)需求分析
2)业务场景覆盖:查询页面、车次列表页面、订单信息页面
3)业务拆分多个页面:查询页面、车次列表页面、订单信息页面
4)页面元素分析:出发到达日期搜索、立即购买、姓名电话
5)难点分析
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
driver = webdriver.Chrome("chromedriver.exe")
url = "https://train.qunar.com/"
driver.get(url)
driver.maximize_window()
# 进入查询页面-出发、到达、日期、立即搜索
driver.find_element_by_xpath("//*[@name='fromStation']").send_keys("重庆")
time.sleep(2)
driver.find_element_by_xpath("//*[@name='toStation']").send_keys("长沙")
time.sleep(2)
driver.find_element_by_xpath("//*[@name='date']").send_keys("2022-05-20")
time.sleep(2)
driver.find_element_by_xpath("//*[@name='stsSearch']").click()
time.sleep(5)
# 进入车次列表页面
driver.find_element_by_xpath('//*[@id="list_listInfo"]/ul[2]/li[1]/div/div[7]/a[1]').click()
# 进入订单信息页面
driver.find_element_by_xpath("//*[@name='contact_name']").send_keys("JOY")
time.sleep(2)
driver.find_element_by_xpath("//*[@name='contact_phone']").send_keys("123456")
time.sleep(5)
driver.quit()