练手项目
1.项目计划/需求分析
- 制定测试计划,全盘考虑所有可能出现的活动以及风险
- 明确测试范围,在哪些模块进行
- 项目设定目标
- 规划活动,使用因果图/正交法/边界值等来设计测试用例
2.书写测试用例
3.代码编写
在以往的代码编写中,测试层、处理层以及基础层混在一起,降级了代码的内聚,不便于之后的修改。
我们将前置处理工作抽离到基础层。
from datetime import date, timedelta
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
import xlrd
#创建驱动控件
driver = webdriver.Chrome("./chromedriver.exe")
#获取driver
def get_driver():
return driver
# 生成时间
def date_n(n):
return str(date.today()+timedelta(days=int(n)))
# 简化driver寻找代码
def findname(element):
return driver.find_element(By.NAME,element)
#打开driver
def open(url):
# 打开网页
driver.get(url)
time.sleep(1)
# 全屏
driver.maximize_window()
#关闭driver
def close():
driver.close()
#读取信息 isHeader判读是否有标题
def readExcel(filename,index,isHeader=False):
#打开文件
xlx = xlrd.open_workbook(filename)
#定位到具体哪一张表
sheet=xlx.sheet_by_index(index)
#存储数据
data=[]
for i in range(sheet.nrows):
#如果第一行(即标题元素)存在,跳过不保存
if(i==0 & isHeader):
continue
#保存每行元素
data.append(sheet.row_values(i))
return data
在处理层进行对页面元素的定位,数据输入。
from selenium.webdriver import Keys
from quner.baseFunction import *
import time
def book_ticket(start,end,n,name,phone):
driver=get_driver()
# 目标网页地址
url="https://www.qunar.com/"