python-archieve-projects/1.26 自动化测试/legacy/testautomation_old.py

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)