# web_auto_test **Repository Path**: quancundiyi/web_auto_test ## Basic Information - **Project Name**: web_auto_test - **Description**: python + selenium + allure自动化测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-28 - **Last Updated**: 2025-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 如何使用 1.执行pytest会自动引入本项目 测试用例引入有三个方法 例子: # 1.打开浏览器 base_open_homepage //使用方法 driver = base_open_homepage # 2.登录页面 base_login //使用方法 driver = base_login # 3.执行sql execute_update //使用方法 sql为sql语句 返回true/false 代表执行sql 成功/失败 success = execute_update(sql, database="devops_sys") // 例子: @allure.feature("系统管理-配置管理-参数管理") @allure.story("删除参数") def test_bizconf_000(self,base_login,execute_update): # 其他包 使用例子 from hawthorn import common logger=common.logger utils=common.utils # 日志 不解释了 logger.info() logger.debug() # 公共方法 utils # 1. 删除除了大小写字母和数字的其他字符 def clean_string(input_string):、 # 2. 生成一个唯一id,30位 def getId30(): # driver默认方法 基础功能说明-单选,输入,多选,下拉 使用方法如 driver点下面的方法:driver.textIn( '用户账号','aaaaa') driver.clickSave() 1.输入文本 textIn首页输入文本 drawerTextIn弹窗输入文本 弹窗第三个参数,需要传是页面第几个drawer(需要F12看,大概率是第一个,第一个就传0) textIn( '用户账号','aaaaa') drawerTextIn('工号','lpy001',0) dialogTextIn(self,selectLabelName,inputTextName,drawerIndex) 2.单选 radioIn首页单选 drawerRadioIn弹窗单选 radioIn('性别','女') drawerRadioIn('性别','女',0) dialogRadioIn(self,selectLabelName,inputTextName,drawerIndex) 3.下拉 selectIn首页下拉选 drawerSelect弹窗下拉选 selectIn('所属部门','长春爱思博特信息科技有限公司') drawerSelect('用户类型','普通用户',0) dialogSelect(self,selectLabelName,labelName,drawerIndex) 4.复选 multipleIn首页复选 drawerMultiple弹窗复选 multipleIn('角色权限','devops开发角色') drawerMultiple('角色权限','devops开发角色',0) dialogMultiple('角色权限','devops开发角色',0) 5.checkbox checkboxIn(selectLabelName,labelName) drawerCheckbox(selectLabelName,labelName,drawerIndex) dialogCheckbox(selectLabelName,labelName,drawerIndex) # 判断成功失败 //如果有成功弹窗:如果出现成功弹窗,则返回TRUE,不出现,返回false clickSuccess() //有失败弹窗:如果出现失败弹窗,返回false,不出现返回true clickError() # 按钮 index 代表第几个按钮 //新增 clickAdd(index) //保存 clickSave(index) //查询 clickSearch(index) //重置 clickReset(index) //导出 clickExport(index) //查询列表,检索栏目,点击,展开下拉 clickExpand() # 列表中的按钮 // 修改 indexUpdate为第几个表格,从0开始 clickTableUpdate(indexUpdate) //下载 clickTableDownload(indexUpdate) //删除 clickTableDelete(indexUpdate) //详情 clickTableInfo(indexUpdate) //代办 clickTableDaiBan(indexUpdate) //自定义 tubiao图标的class clickTableDaiBan(indexUpdate,tubiao) # 菜单 //关闭菜单 最后一级菜单 如:"用户维护" closeMenu(name) //打开菜单 name:多级菜单,用/分割 如:"系统管理/用户管理/用户维护" menuClick(name) # 登录页面 //登录方法 用户名,密码 loginService(user_name,user_password) # 校验列表查询结果 // tableIndex:第几个列表,第一个就传0 // listCheck :传入list数据,name为筛选条件名称,value为具体内容 [{"name":"项目名称","value":"fmp"},{"name":"镜像地址","value":"dsso-fmp"}] // checkNull:传入true/false , 当列表查询为空时,返回true/false checkTable(tableIndex,listCheck,checkNull) # ------------关于数据库----------- # # 以上都是 drive的封装方法,数据库使用方法,并不在drive公用方法里面,在用例用使用方法 execute_update,直接放在用例中当作参数 eg: def test_add_user_000(self,execute_update) //切换数据库 execute_update(sql,"数据库") //默认数据库 execute_update(sql) # -------------数据库结束---------- #