playwright 支持拖拽的
我去年这些 也遇到了 最后是改为乌班图 +playwright 的 docker 镜像 +Jenkins
确实 需要写很多前置条件才能运行
我是分为两种,1.主流程 测试 2.单元测试
基本是以单点组业务吧
目前工作很闲,也想写一个 ui 平台,但是设计了好几版 有一般跟楼主你的一样细,但是后来琢磨,我想让降低脚本编写难度 (方便公司随便一个人使用),所以我设想了两层结构,项目 - 测试用例 ,测试用例如何编写呢。
设计的是 playwright 自带录制,然后直接转换代码,保存成.py 文件 然后在前端勾选需要执行的测试用例直接执行 第二种就是先封装 playwright 方法 然后将 playwright 生成的代码转成使用我封装后的代码,然后进行跑,跑完生成 allure 测试报告进行查看
目前还在构建
可以哈,目前已经实现自动化持续集成(Ubuntu,win10)搭建完了,目前在搞 contos(公司最理想用 contos 但是,官方不支持 contos),还在查找解决办法
已经解决了,因为公司想部署 Jenkins 集成,结果网上教程不全,playwright 又比较新,教程不多。但是昨天使用 win 和 Ubuntu 都搭建完毕。就差 contos 了,不过看官方好像不支持 contos 搭建
我之前用 selenium 进行自动化测试,当用例数量过多 (同步) 一条一条执行很耗费时间,所以用 playwright 异步,直接异步执行所有测试用例,优化执行时间,并且 playwright 的智能等待、浏览器驱动也不错
我之前都是一个项目里面写接口自动化,ui 自动化 ,后面发现太杂,后续就一个项目对应一个端,然后直接挂到 Jenkins 上进行定时任务,生成 allure 报告。
基本都是,写单接口,流程测试的话,就把他们调用拼接起来
不好 被裁了
青岛测试三年了 如果你以测开入职可能进去就是写开发或者业务测试 ,今年行情更不好 ,一个复试还能出来 8 个人进行筛选。而且今年岗位也不是很多,能拿到 1w 的测试很少,基本都在降薪裁人,或者卷
跟楼主一样经历,我也是刚跳到硬件公司,而且还是烟气那种跟化学有相关的。。。
最后方法可以加个调用清楚数据的操作 一个 sql 方法就行了
赞一下,不过我感觉这样的会麻烦很多, 不如把协议,请求头一些通用的封装一下,然后 main 写一个公用方法去调用接口测试数据去请求呢?
可以呀 有问题或者更好的建议可以跟我说 我改进 我目前这个是根据我目前项目需求造出来的
封装个读取目录下所有 yaml 文件的方法, 循环出来后将所有 yaml 内容读取出来,然后使用装饰器运行就行了
我们是 schema
appium 一些启动需要的参数,目前维护在了 yaml 文件内,然后多设备运行的话,已经有代码,但是目前这体谅运用不到, 就被搁置了,然后在做元素的处理,还是想保证元素的唯一性,所以目前将元素变成类变量形式,测试数据还是维护在 yaml 文件内。
这几天也看了很多 github 上的源码,发现 ios 和安卓很多人都是写两套页面元素定位方法,然后运行根据机型进行判断调用业务流程
1.为了防止元素定位失败,会在一些进行页面跳转的操作时增加强制等待, 定位封装了 wait.until 方法 会循环找元素
元素一般找不到基本是没有该元素,所以目前没有增加失败重跑机制
1.1.失败自动截图已经添加了,但是查了很多例子,发现只能截取在哪个页面定位失败,无法精确到指定元素位置
截图 dump 树这个,移动端没有看到有类似方法, 不过封装了在浏览器 (网页) 定位失败时会打开 dump 树进行失败截图
2.Jenkins 这个,因为目前业务流程还没编写完成,还没想到这方面,有空会补充这方面的知识,看看能否去运用
2.1 全程录制这个,考虑过,想使用 adb 命令进行实现,但是目前还停留在理论阶段
老哥是不是没有认真看我的图和帖子内容呀 log 有的
然后发出来的代码 也有 log 代码呀 而且都会记录到单独的文件 以及 allure 测试报告内
如果一个 yaml 对应一个模块 你想过如果一个模块可能有十几个接口呢 然后每个接口可能有七八组测试数据 你维护不麻烦吗 而且如果有些接口改动或者弃用 你删除或者维护数据不麻烦吗
我已经更新了一下帖子内容 可以看 data 图
就是按照模块进行划分 然后 api 层目前没必要 你也可以看我评论回复别人的 一个接口需要多个地方调用的我都会放入 conftest 内 或者封装成公共方法
我目前就是因为请求头有特殊校验 然后就讲获取特殊校验的接口封装到请求方法内 每次请求任何接口都会调用一下
之前想过将元素定位变量,但是根据实际运用,感觉分成固定操作比较好,点击是点击,输入框是输入框,他不可能让点击进行输入或者什么的操作,所以直接维护成了一个方法,如果想用该方法就调用就好了
不需要 因为我目前设计,是循环读取 data 文件内所有 yaml 数据,然后参数化请求接口,如果我需要编写新的接口测试用例的话,直接创建一个 yaml 文件,写几个接口 list 数据即可
因为我目前项目皆是 post 所以未对请求进行参数化,如果你有很多种接口方式的测试数据时
可在 yaml 文件内增加个字段 为请求方式 然后
with allure.step("接口请求"):
response = self.req.visit(请求方式, url, headers=headers, json=payload)