对应lib套件下的cmtclogin文件中 声明的cmtc_login方法
from time import sleep
from hytest import *
from hytest import STEP, INFO
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support.ui import Select
from lib.cmtclogin import cmtc_login
class cmtc001:
name = '登录测试 cmtc001'
tags = ['文件管理']
# 初始化方法setup 登录
# 对象wd调用lib/cmtclogin中cmtc_login
def setup(self):
INFO('初始化登录流程')
cmtc_login()
STEP(1, '登录成功')
# 测试用例开始执行
def teststeps(self):
# 从lib cmtclogin中取出gstore方法中的wd对象
wd = GSTORE['wd']
# 隐式等待
wd.implicitly_wait(10)
STEP(2, '文件管理菜单检查')
# 文件管理
wd.find_element_by_css_selector(
'div#app div:nth-child(12) > li').click()
# # 定义变量菜单menu获取内容 并用check_point检查菜单是否符合 注:一定要定位到文案标签头span
# menu = wd.find_elements_by_css_selector('div#app div:nth-child(1) > a > li > span')
# menuText = [ele.text for ele in menu]
# INFO(menuText)
# CHECK_POINT('左侧菜单检查', menuText[:4] == ['标准文件', '标准文件目录管理', '程序文件','程序文件目录管理'],True)
# WebDriverWait(wd, 10)
# 标准文件
STEP(3, '标准文件查询')
wd.find_element_by_css_selector('div#app div:nth-child(1) > a > li').click()
# 搜索内容标准文件 \换行
wd.find_element_by_css_selector('div#app div.el-input.el-input--medium.el-input--prefix > input').send_keys('dd')
# # 文件状态点击选择下拉框文件类型选择受控文件
# wd.find_element_by_css_selector("div#app div.el-col.el-col-20 > div:nth-child(1) > div.el-select.el-select--medium > div > input").click()
# wd.implicitly_wait(10)
# wd.find_element_by_xpath("/html/body/div[3]/div[1]/div[1]/ul/li[2]/span")
# 搜索
wd.find_element_by_css_selector('div#app div.el-col.el-col-20 > div:nth-child(1) > button[type="button"] > span').click()
sleep(2)
STEP(4, '新增标准文件')
# 新建标准文件
wd.find_element_by_css_selector(
'div#app div.maintenance-export > button[type="button"]:nth-child(1) > span').click()
wd.implicitly_wait(5)
wd.find_element_by_css_selector(
'div#app form > div:nth-child(1) > div:nth-child(1) > div > div > div > input').send_keys('dd00001')
wd.find_element_by_css_selector(
'#app > div > div.main-container.hasTagsView > section > div.maintenanceBox > div.el-dialog__wrapper.dialogAdd > div > div.el-dialog__body > div > div:nth-child(2) > form > div:nth-child(1) > div:nth-child(2) > div > div > div.el-input.el-input--medium > input').send_keys(
'滴滴测试1')
# 英文名称
wd.find_element_by_css_selector(
'div#app div:nth-child(1) > div:nth-child(3) > div > div > div > input').send_keys('ddenglish')
# 中标分类
wd.find_element_by_css_selector(
'div#app form > div:nth-child(2) > div:nth-child(1) > div > div > div > input').send_keys('dd中标分类1')
# ICS分类
wd.find_element_by_css_selector(
'div#app form > div:nth-child(2) > div:nth-child(2) > div > div > div > input').send_keys('ddISC分类1')
# 标准分类编号
wd.find_element_by_css_selector(
'div#app div:nth-child(2) > div:nth-child(3) > div > div > div > input').send_keys('dd13123124124312')
# 标引依据
wd.find_element_by_css_selector(
'div#app div.el-col.el-col-16 > div > div > div > input').send_keys('dd依据1')
wd.find_element_by_css_selector(
'div#app form > div:nth-child(2) > div:nth-child(2) > div > div > div > input').send_keys('ddISC分类1')
# 复审结果
wd.find_element_by_css_selector(
'div#app div:nth-child(3) > div.el-col.el-col-8 > div > div > div > input').send_keys('dd复审结果通过')
# 所属目录
wd.find_element_by_css_selector(
'div#app div:nth-child(4) > div:nth-child(1) > div > div > div > div > button[type="button"] > span').click()
wd.implicitly_wait(5)
# 选择标准目录GB
wd.find_element_by_css_selector(
'div#app div.el-dialog__body > div > div > div.el-tree-node.is-expanded > div.el-tree-node__children > div:nth-child(1) > div.el-tree-node__children > div:nth-child(2) > div.el-tree-node__content > label > span > span').click()
wd.find_element_by_css_selector(
'div#app div:nth-child(4) > div > div.el-dialog__footer > span > button[type="button"].el-button.el-button--primary.el-button--medium > span').click()
# 文件上传
# 使用os调用本地autoit.exe上传图片
wd.find_element_by_css_selector('div#app div:nth-child(6) > div:nth-child(1) > div > div > div > div > button[type="button"] > span').click()
os.system('D:\autoit.exe')
WebDriverWait(wd, 20)
# remark备注
wd.find_element_by_css_selector(
'div#app textarea').send_keys('dd自动化测试国标文件1')
# 关联穿梭框流程
wd.find_element_by_css_selector(
'#app > div > div.main-container.hasTagsView > section > div.maintenanceBox > div.el-dialog__wrapper.dialogAdd > div > div.el-dialog__body > div > div:nth-child(2) > form > div:nth-child(7) > div > div > div > div > div:nth-child(1) > div > div.el-checkbox-group.el-transfer-panel__list.is-filterable(1)').click()
wd.find_element_by_css_selector(
'div#app button[type="button"]:nth-child(2)').click()
# 初始化清除teardown
# def teardown(self):
# wd = GSTORE['wd']
# wd.find_element_by_id('userName').clear()
# wd.find_element_by_id('password').clear()
网友评论