144 lines
6.5 KiB
Python
Executable File
144 lines
6.5 KiB
Python
Executable File
import os
|
|
|
|
from selenium import webdriver
|
|
import time
|
|
import csv
|
|
from selenium.webdriver.support import expected_conditions as EC
|
|
|
|
driver = webdriver.Chrome(r"X:\test_website\chromedriver.exe")
|
|
driver.implicitly_wait(10)
|
|
driver.maximize_window()
|
|
|
|
|
|
# 登录测试
|
|
def login_test():
|
|
result = []
|
|
with open('登录.csv', encoding='GBK') as file:
|
|
reader = csv.reader(file)
|
|
for row in reader:
|
|
# 回到登录页
|
|
driver.get('http://localhost')
|
|
# username
|
|
driver.find_element('name', 'username').send_keys(row[0]) # 输入用户名
|
|
# password
|
|
driver.find_element('name', 'userpwd').send_keys(row[1]) # 输入密码
|
|
# login button
|
|
driver.find_element('xpath', '/html/body/div[1]/div[3]/form/div[3]/input').click()
|
|
time.sleep(2)
|
|
# 测试
|
|
if EC.alert_is_present()(driver):
|
|
alert = driver.switch_to.alert
|
|
state = alert.text
|
|
alert.accept()
|
|
st = "账号:" + row[0] + " 密码:" + row[1] + " 测试不通过[" + state + "]"
|
|
print(st)
|
|
result.append(st)
|
|
else:
|
|
driver.get('http://localhost/admin_head.php')
|
|
account = driver.find_element('name', 'username').text
|
|
if account == row[0]:
|
|
st = "账号:" + row[0] + " 密码:" + row[1] + " 测试通过"
|
|
print()
|
|
result.append(st)
|
|
else:
|
|
st = "账号:" + row[0] + " 密码:" + row[1] + " 测试不通过[账户不正确]"
|
|
print(st)
|
|
result.append(st)
|
|
time.sleep(5)
|
|
return result
|
|
|
|
|
|
def login_before_testing():
|
|
# 先登录username
|
|
driver.find_element('name', 'username').send_keys('admin') # 输入用户名
|
|
# password
|
|
driver.find_element('name', 'userpwd').send_keys('admin') # 输入密码
|
|
# login button
|
|
driver.find_element('xpath', '/html/body/div[1]/div[3]/form/div[3]/input').click()
|
|
time.sleep(2)
|
|
|
|
|
|
def new_staff_test():
|
|
result = []
|
|
with open('新增员工.csv', encoding='GBK') as file:
|
|
reader = csv.reader(file)
|
|
for row in reader:
|
|
driver.get('http://localhost/class_add.php?class=yuangong')
|
|
if 'yuangong' not in driver.current_url:
|
|
login_before_testing()
|
|
driver.get('http://localhost/class_add.php?class=yuangong')
|
|
# 测试
|
|
driver.find_element('name', 'name').send_keys(row[0])
|
|
driver.find_element('name', 'tel').send_keys(row[1])
|
|
driver.find_element('name', 'shengri').send_keys(row[2])
|
|
driver.find_element('name', 'address').send_keys(row[3])
|
|
driver.find_element('name', 'beizhu').send_keys(row[4])
|
|
driver.find_element('xpath', '/html/body/form/table/tbody/tr[6]/td[2]/input').click()
|
|
# 捕捉 alert 窗口
|
|
if EC.alert_is_present()(driver):
|
|
alert = driver.switch_to.alert
|
|
state = alert.text
|
|
alert.accept()
|
|
|
|
if state == '添加成功':
|
|
st = "员工名称:" + row[0] + " 电话:" + row[1] + " 生日:" + row[2] + " 部门:" + row[3] + " 备注:" + row[
|
|
4] + " 测试通过[" + state + "]"
|
|
print(st)
|
|
result.append(st)
|
|
else:
|
|
st = "员工名称:" + row[0] + " 电话:" + row[1] + " 生日:" + row[2] + " 部门:" + row[3] + " 备注:" + row[
|
|
4] + " 测试不通过[" + state + "]"
|
|
print(st)
|
|
result.append(st)
|
|
time.sleep(5)
|
|
return result
|
|
|
|
|
|
def new_user_test():
|
|
result = []
|
|
with open('新增用户.csv', encoding='GBK') as file:
|
|
reader = csv.reader(file)
|
|
for row in reader:
|
|
driver.get('http://localhost/user_add.php')
|
|
# 重新登录
|
|
if 'user' not in driver.current_url:
|
|
login_before_testing()
|
|
driver.get('http://localhost/user_add.php')
|
|
# 测试
|
|
driver.find_element('name', 'UserName').send_keys(row[0])
|
|
driver.find_element('name', 'Realname').send_keys(row[1])
|
|
driver.find_element('name', 'mobile').send_keys(row[2])
|
|
driver.find_element('name', 'img').send_keys(row[3])
|
|
driver.find_element('name', 'zhanghu').send_keys(row[4])
|
|
driver.find_element('name', 'wanglai').send_keys(row[5])
|
|
driver.find_element('name', 'yuangong').send_keys(row[6])
|
|
driver.find_element('name', 'xiangmu').send_keys(row[7])
|
|
driver.find_element('name', 'pwd1').send_keys(row[8])
|
|
driver.find_element('name', 'pwd2').send_keys(row[9])
|
|
driver.find_element('name', 'AdminPower').send_keys(row[10])
|
|
driver.find_element('name', 'flag[]').send_keys(row[11])
|
|
driver.find_element('xpath', '/html/body/form/table/tbody/tr[13]/td[2]/input').click()
|
|
if EC.alert_is_present()(driver):
|
|
alert = driver.switch_to.alert
|
|
state = alert.text
|
|
alert.accept()
|
|
if state == '添加成功':
|
|
st = "用户名:" + row[0] + " 真实姓名:" + row[1] + " 手机号码:" + row[2] + " 头像图片:" + row[3] + " 默认资金账户:" + row[
|
|
4] + " 默认客户:" + row[5] + " 默认员工:" + row[6] + " 默认项目:" + row[7] + " 密码:" + row[8] + " 确认密码:" + \
|
|
row[9] + " 用户级别:" + row[10] + " 权限:" + row[11] + " 测试通过[" + state + "]"
|
|
print(st)
|
|
result.append(st)
|
|
else:
|
|
st = "用户名:" + row[0] + " 真实姓名:" + row[1] + " 手机号码:" + row[2] + " 头像图片:" + row[3] + " 默认资金账户:" + row[
|
|
4] + " 默认客户:" + row[5] + " 默认员工:" + row[6] + " 默认项目:" + row[7] + " 密码:" + row[8] + " 确认密码:" + \
|
|
row[9] + " 用户级别:" + row[10] + " 权限:" + row[11] + " 测试不通过[" + state + "]"
|
|
print(st)
|
|
result.append(st)
|
|
time.sleep(3)
|
|
|
|
|
|
def get_result():
|
|
path = os.getcwd() + r'\result.html'
|
|
import webbrowser as web
|
|
web.open(path)
|