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)