# -!- coding: utf-8 -!-
import configparser #配置文件
import os
import time
import unittest
import xlrd
from selenium import webdriver
from HRXT.case.object_common.UserManage.usermanage import UserManage
from HRXT.case.object_common.login.Login import Login_HR #导入登录模块
from HRXT.uidriver.location import Student
from HRXT.uidriver.loggin import Log
log = Log()
#读取配置文件
con_path = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir+"\\config"))
config_path = os.path.join(con_path, "config.ini")
config = configparser.ConfigParser()
config.read(config_path,encoding="utf-8-sig")
username = config.get('driverLogin','username') # 账户
password = config.get('driverLogin', 'password') # 密码
URL = config.get('testServer','URL') # URL
# user = config.get('testuser', 'username') # 用户新增账号
DowPath = config.get('chromedriver', 'DowPath')
class test_case(unittest.TestCase):
@classmethod
def setUpClass(cls):
log.info("------用户信息管理模块测试用例------")
# 只需要修改download.default_directory:路径,谷歌默认下载路径,而且不弹窗。1弹框,0不弹窗
options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\\GoogleFile'}
options.add_experimental_option('prefs', prefs)
cls.driver = webdriver.Chrome(executable_path='C:\\Users\\zhufc\\AppData\\Local\\Programs\\Python\\Python36\\chromedriver.exe', chrome_options=options) # 谷歌
# 无界面执行自动化
# cls.driver = webdriver.PhantomJS()
cls.driver.get(URL)
global dr
title1 = cls.driver.title
dr = Student(cls.driver) # 实例化二次开发定位方法
login = Login_HR # 实例化登录方法
try:
assert title1 in '安思易'
cls.driver.maximize_window()
log.info("------进入网站------")
except:
print('进入网站失败,请检查服务是否启动')
login(cls.driver).login(username,password) # 调用登录方法
# cls.driver.switch_to.frame("161")
def test_01(self):
"""进入知识中心"""
log.info("------点击知识库------")
# 进入页面操作
dr.click("text", '知识中心') # 点击知识中心
time.sleep(20)
dr.click("xpath", '//*[@id="left-panel"]/nav/ul/li[7]/ul/li[3]/a') # 点击经验库
# def test_02(self):
# """查询用户"""
# log.info("-----测试查询用户------")
# UserManage(self.driver,user).UserQuert()
# lis = dr.elements("xpath", "//*[@id='tt']/div[1]/div/div[1]/div[2]/div[2]/table/tbody/tr")
# x = 1
# while True:
# li = len(lis)+1
# for x in range(1,li):
# i = dr.element("xpath", "//*[@id='tt']/div[1]/div/div[1]/div[2]/div[2]/table/tbody/tr[%d]/td[2]/div" % x).text
# if i == user:
# try:
# dr.click("xpath", "//*[@id='datagrid-row-r1-2-0']/td[10]/div/a[3]/img")
# log.info("------删除账户为:%s的信息------" % user)
# dr.click("link_text", "确定") # 删除数据
# except Exception:
# log.warning("------无法定位到删除按钮,请检查截图------" )
# files_path = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))
# files_path = files_path + "\\Warehouse\\screenshot"
# times = time.strftime("%Y-%d-%m %H%M%S")
# files = os.path.join(files_path, "用户数据删除异常%s.jpg" % times)
# self.driver.get_screenshot_as_file(files)
# break
# elif i != user:
# x += 1
# elif i <= 11:
# break
# return x
# def test_03(self):
# """导出所选项"""
# log.info("------测试导出所选项,默认勾选第一页全部------")
# UserManage(self.driver).UserExportOptions() # 调用导出所选项封装方法
# lis = dr.elements("xpath", "//*[@id='tt']/div[1]/div/div[1]/div[2]/div[2]/table/tbody/tr")
# log.info("------有%d条信息,即将导出------" % len(lis))
# # 检查导出文件以及excel
# new_file = dr.new_file('d:\\GoogleFile')
# excelfile = xlrd.open_workbook(new_file)
# sheet = excelfile.sheet_by_index(0) # 读取第一个sheet
# Choices = sheet.nrows - 1 # 读取excel行数
# lia = len(lis)
# if lia == Choices:
# log.info("------导出所选项excel行数与列表数量一致------")
# else:
# log.info("导出的页面数量有%d,excel的行数有%d"%lia,Choices)
# def test_04(self):
# log.info("------测试导出全部------")
# UserManage(self.driver).UserExportWhole() # 调用导出所选项封装方法
# Number = dr.element("xpath", "//*[@id='tt']/div[1]/div/div[2]/div[1]").text
# Number = Number[8:]
# Number = Number[:-2]
# time.sleep(2)
# new_file = dr.new_file('d:\\GoogleFile')
# excelfile = xlrd.open_workbook(new_file)
# sheet = excelfile.sheet_by_index(0)
# excels = sheet.nrows - 1
# Number = int(Number)
# if Number == excels:
# log.info("------导出全部excel行数与列表数量一致------")
# else:
# log.info("导出全部的页面数量有%d,excel的行数有%d" % Number, excels)
@classmethod
def tearDownClass(cls):
cls.driver.quit()
# log.info("------测试用例结束------")
# log.info("------清理下载的附件所有附件------")
# for i in os.listdir(DowPath):
# path_file = os.path.join(DowPath,i)
# log.info("------清理下载的附件%s------" % path_file)
# os.remove(path_file)
if __name__ == '__main__':
unittest.main()
戊锋
- 粉丝: 5
- 资源: 3
最新资源
- 基于java+ssm+mysql的医院在线挂号预约系统 源码+数据库+论文(高分毕设项目).zip
- 大学计算机基础教材编写之人工智能基础目录参考
- 基于java+ssm+mysql的云趣科技客户管理系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的园区停车管理系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的应急资源管理系统 源码+数据库+论文(高分毕设项目).zip
- 大学计算机基础教材编写之人工智能基础目录参考
- 国内车载电源DCDC首家的全方位配套解决方案:硬件原理图+软件源码解析与上位机调试工具齐全,国内汽车车载电源DCDC首家,硬件原理图,软件源码,3带上位机调试工具,资料完全配套 ,核心关键词:国内汽车
- 大学计算机基础教材编写之人工智能基础目录参考
- 基于java+ssm+mysql的珠宝首饰交易平台 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的在线购书商城系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的中国咖啡文化宣传网站 源码+数据库+论文(高分毕设项目).zip
- 运动控制激光刻码扫码追溯系统实战源代码:智能控制、网络追溯与多产品切换技术指南,运动控制激光刻码扫码追溯源代码 1, 生产实战源代码(可以vs2010以上) 2, 学会使用运动控制卡 3, 运动控
- 大学计算机基础教材编写之人工智能基础目录参考
- 体育商品推荐系统 JAVA毕业设计 源码+数据库+论文+启动教程(SpringBoot+Vue.JS).zip
- 日前日内两阶段调度综合能源分析:基于Matlab与Yalmip的优化结果对比及机组成本与弃风惩罚的探讨,日前日内两阶段调度 综合能源matlab 程序采用matlab+yalmip编写,分析三种场景下
- 大学计算机基础教材编写之人工智能基础目录参考
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈