摘要: 项目健壮性提高 path参数化 import os # 获取项目所在的绝对路径 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 用例模块所在的目录路径 CASE_DIR = os.path.join(B 阅读全文
posted @ 2020-06-26 12:14 呓语落花 阅读(189) 评论(0) 推荐(0) 编辑
摘要: python 操作数据库 import pymysql # 第一步:连接到数据库 conn = pymysql.connect(host="120.78.128.25", port=3306, user="future", password="123456", charset="utf8", cur 阅读全文
posted @ 2020-06-26 12:13 呓语落花 阅读(875) 评论(0) 推荐(0) 编辑
摘要: # 第一步:准备请求的相关数据 # 接口地址 url = "http://api.lemonban.com/futureloan/member/register" # 第二部, 准备请求的参数 data = { "mobile_phone": "18189098765", "pwd": "lemon 阅读全文
posted @ 2020-06-26 12:11 呓语落花 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 配置模块的引入 需求背景: 进行自动化测试的时候会有很多的设置常量需要操作。 比如 baseurl,db连接数据,测试用用户名,管理员账号,token,auth之类 比较好的方式是使用一个静态文件保存下来,编写方法固定读取 涉及第三方库 configparser.ConfigParser step1 阅读全文
posted @ 2020-06-26 12:09 呓语落花 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 封装excel操作代码,提高复用率 整体封装思想阐述: 表内用例格式构建 表头,case_id,title,data,expected 表体,测试用例数据 首先获取表体第一行的数据组成的列表 之后获取由二行开始的所有数据, 之后逐条将表头与数据zip封包,之后转换为字典。 注意点: 从excel中读 阅读全文
posted @ 2020-06-26 12:08 呓语落花 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 1 @ddt 2 class RegisterTestCase(unittest.TestCase): 3 cases = [ 4 {"title": "注册成功", "excepted": {"code": 1, "msg": "注册成功"}, "data": ['python1', '12345 阅读全文
posted @ 2020-06-26 12:06 呓语落花 阅读(183) 评论(0) 推荐(0) 编辑
摘要: unittest测试用例类的写法 定义测试用例类: 用例类必须继承于unittest.TestCase 定义测试用例: 在测试用例类中,每一个以test开头的方法就是一条用例 unittest中测试用例执行顺序 根据方法名按照ASCII码进行排序的 unittest中会自动根据用例方法执行的时候,是 阅读全文
posted @ 2020-06-26 12:03 呓语落花 阅读(436) 评论(0) 推荐(0) 编辑
摘要: po设计思想 1,什么是po pageobject是一种涉及模式 减少冗余的代码和对代码进行管理 分离测试步骤及测试对象 2,po的好处 提高代码复用率 集中管理定位信息,提高可维护行, 代码可复用,降低成本, 不同po之间没有交叉,可团队并行开发 po设计原则 1,总的原则 封装basepage, 阅读全文
posted @ 2020-06-26 12:02 呓语落花 阅读(1290) 评论(0) 推荐(0) 编辑
摘要: 键盘操作 导包 from selenium.webdriver.common.keys import Keys 对应属性以及调用 Keys.BACK_SPACE:回退键(BackSpace) Keys.TAB:制表键(Tab) Keys.ENTER:回车键(Enter) Keys.SHIFT:大小写 阅读全文
posted @ 2020-06-26 12:01 呓语落花 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 页面元素的属性 tag_name 标签名 print(ele.tag_name) text 文本内容 parent 获取父级标签 页面元素的方法 get_attribute(属性名) 获取标签的属性 is_displayed() 判断元素是否可见 send_keys() 输入内容 click() 点 阅读全文
posted @ 2020-06-26 12:00 呓语落花 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 三大等待 强制等待 time.sleep() # 使用time模块强制进行等待,单位s 隐式等待 driver.implicitly_wait(30) # 等待元素直到超时报异常 显式等待 # 第一步:创建一个等待计时器对象 wait = WebDriverWait(driver, 30, 0.5) 阅读全文
posted @ 2020-06-26 11:59 呓语落花 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 了解iframe iframe是一种html封装,内嵌页面,方便相同功能的网页复用代码,可以一定程度上减少开发量 所以在测试一个大型web项目的时候,包含iframe标签就不稀奇,但是在切换frame之前去定位,操作frame中的元素都是无法实现的。 切换frame的方式 通过iframe的名字 d 阅读全文
posted @ 2020-06-26 11:57 呓语落花 阅读(1310) 评论(0) 推荐(0) 编辑
摘要: 准备工作 安装selenium 准备对应版本的geckdriver.exe文件。 http://chromedriver.storage.googleapis.com/index.html 默认都是使用chorme浏览器,版本对应链接如上 chromedriver配置环境变量 如果没有配置chrom 阅读全文
posted @ 2020-06-26 11:56 呓语落花 阅读(402) 评论(0) 推荐(0) 编辑
摘要: jquery属性和元素操作 1 jquery 操作属性 2 attr("属性名") 拿到属性值或者键值对应设置属性 3 4 attr("属性名","要写入的值") # 属性写入 5 6 removeAttr("属性名") 从所有匹配的元素中移除指定的属性、 7 8 9 10 // 写入属性 11 1 阅读全文
posted @ 2020-06-26 11:34 呓语落花 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 变量 变量命名 可以使用短名称 比如 x y 也可以使用描述性更好的名称(推荐 变量必须以字母开头 变量也可以以 $ _符号开头,但不推荐 变量名称对大小写敏感 驼峰式命名法 变量声明 js中变量可以先声明后赋值 同时也可以同时给多个变量赋值 var a=10,b=11,c=22; 数据类型 数字类 阅读全文
posted @ 2020-06-26 11:25 呓语落花 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 1 # 前端学习 2 # html 决定架构 css 决定显示样式 js 决定交互、 3 # 前端,网站前台部分, 4 # HTML 超文本标记语言,是网页制作必备语言 5 # 1,HTML页面结构 6 ''' 7 超文本标记语言的机构包括 8 头部 head 主体 body 9 <html lan 阅读全文
posted @ 2020-06-26 10:01 呓语落花 阅读(142) 评论(0) 推荐(0) 编辑