承接上篇page类的编写
全部准备好后,运行编写运行主类,这部分写的比较粗糙,因为没打算做太正式的框架,仅仅是用来跑注册登录的,所以将就看吧!
# _*_conding:utf-8_*_
# 作者: 杨佳
# 创建时间: 2020/9/16 14:51
# 文件: run
import time
import os
from pages.register import register
from pages.login import login
from scripts.createphone import create
from scripts.mysqlconnect import MysqlHelper
from scripts.excelHelper import init_excel,write
from bases.base_function import BaseFunction
def run(n):
path = '../'+time.strftime('%y%y%d%H%M%S')
if not os.path.exists(path):
os.mkdir(path)
excel_path = path + '/log.xlsx'
interface_path = ''
init_excel(excel_path)
# 创建手机号
phone_list = create(n)
num = 0
row_index = 2
# 遍历电话号码
try:
for phone in phone_list:
base = BaseFunction()
num += 1
result = {}
# 注册业务
register(phone,base,path+'/register.json',url)
result['phone'] = phone
regtime = time.strftime('%y%y%d-%H:%M:%S')
result['time_stamp'] = str(regtime)
# 注册后,数据库是否存在账号
# 初始化数据库对象
time.sleep(1)
mydb = MysqlHelper()
find_result = mydb.get_data(phone)
print(find_result)
# 数据库断言,一般不用这样,只是我的项目有点特殊
if not find_result:
result['register_result'] = f'第{num}次注册失败'
elif len(find_result) > 1:
result['register_result'] = f'第{num}次调用了{len(find_result)}次注册接口'
else:
res = login(phone,base,path+'/login.json',url)
# 断言
if res == '****':
result['login_result'] = f'第{num}次登录成功'
else:
result['login_result'] = f'第{num}次登录失败'
row_index = write(excel_path,result,row_index)
except Exception as e:
print(e)
print(e.__traceback__.tb_frame.f_globals["__file__"]) # 发生异常所在的文件
print(e.__traceback__.tb_lineno) # 发生异常所在的行数
finally:
base.driver_close()
if __name__ == '__main__':
# 可以设置运行次数
run(1)
结束!!!