• @WangYuan 这篇分享是在前端开发过程中的实践,所以,当然是自己加的,所以,大部分元素定位都很简单,而且很可靠。

  • @reviewtiger

    1、单接口测试,通过 mock 平台,消除接口之间的依赖,针对每个接口进行测试,当然这需要开发配合对接口的调用做做一些调整。
    2、接口场景测试,就如你上面说的 A 接口-->B 接口 --> C 接口 .... 有时候接口的场景构造更复杂,通过 UI 自动化反倒简单一些,可以通过 UI 自动化覆盖这种场景。

  • seldom 的 assertPath 断言基于 jmespath 库 ,用法也很强大。https://jmespath.org/specification.html

  • 正是我文章开头提到的第一点,测试数据问题,这会直接影响接口自动化测试的稳定性。这个问题选择忽略,接口自动化失败是无法断定是 数据导致的,还是真发现了 bug。
    一般的做法:

    1. 写个 sql 脚本,在跑自动化之前,初始化数据库。
    2. 调用别的接口还原数据,比如,调用删除接口之前,先调用 添加接口。
    3. 数据银行(我面试时一个应聘者的叫法),其实就是建立一个系统来完成一些测试数据的生成。 ....

    seldom 集成了数据操作的目的也会为了解决这个问题,方便的链接数据库去构造一些测试数据。当然,这也仅限于中小规模的系统,以及测试人员对接口涉及到的表接口足够熟悉。

  • 既然是开源的框架,要解决是一些通用性的问题(断言、报告、参数化), 比如接口的加密,那不同公司的加密规则肯定是不一样的,就需要根据情况自己去封装。

    开源首先对自己是有意义的,如何维护到一个开源项目。

    如果的开源项目刚好也解决了别人的问题,肯定对别人也是由意义的。

  • @ 薄荷可乐 可以发简历过来哈~!

  • @ 薄荷可乐 我们不限制语言,我们全链路压测平台后端用的 java(spring),也有项目用到 go(gin)框架,其实,核心是懂 web API 开发; 就算我们只用 java,但如果你只是会用 java(seldnium /okhttp)写写 UI/接口自动化也是不够的。

  • @ 残枫 只有一个团队主要用 python,还有就是我们测试开发这边。 这个框架一开始是基于 tornado 做的二次开发,集成了一些公司用到的服务,最新版本已移除了 tornado 的依赖。 最近看了一下 fastapi ,在前后端分离的大方向下,python 可以专注做好后端 api 的开发,在保持简洁上尽量 提升性能,fastapi 就是这样的定位。 我们公司的 web 框架和 fastapi 的定位差不多。

  • @ 迷惘 默认是香港繁体,还有一个 https://www.klook.cn ,默认是简体中文。

  • @ 秦岭
    发出来之后,好怕被吐槽~!(或认为我在装 X,或者觉得我们应该去招个正经的开发来完成这些工作)

    我来解答你的疑问哈!

    目前公司整个 测试团队规模 50 人左右(小公司),测试开发不到 10 人,前段时间有转岗开发的,有离职的,现在人力严重不足。

    需求很充足

    1. Orion 平台 就是很复杂的项目,我们对标 pingcode.com ,甚至功能更多; 经过三年的迭代居然有好多技术债,没有人力去偿还。
    2. 全链路压测平台 是最近几个月重难点开发的一个项目,解决测试团队的产线压测需求。
    3. 现在公司从企微迁移到 lark, 所以还有不少 lark 的需求。
    4. 年初还规划一些系统,由于没有人,暂时都搁置了。

    我们不是为了 KPI 在做需求,拿 orion 平台为例,不用 orIon 平台,不管是产品、开发、测试,不用的话工作基本无法开展。当然,如果有问题,分分钟就有人找过来了。

    当然,我们也做废了很多功能,有些功能上线了不好用,逐渐就没人用了,这对我们这边的体验要求也蛮高的。

    对了,我们后端现在用的是公司自己开发的 web 框架,蛮有意思的,支持异步,性能比 django/flask 这些老的框架好不少。

  • 不是错误,只是 info 信息,没有定义元素描述。

    示例:

    from poium import Page, NewPageElement
    
    
    class BaiduIndexPage(Page):
        search_input = NewPageElement(name='wd', index=0, describe="百度输入框", timeout=5)
        search_button = NewPageElement(id_='su', index=0, describe="百度搜索按钮", timeout=5)
    
  • 目前研发中心只有深圳。

  • 从小.... 年轻人不讲武德,欺负我 69 岁老同志。耗子尾汁!

  • 快来投简历~!

  • 更新进度~! 已经陆续收到了 10 份左右的简历,公司流程有点忙。一般 1~2 周内会有电话预约,没有预约说明不合适,你们再看看其他机会。谢谢大家!

  • 仅楼主可见
  • 仅楼主可见
  • 不经常逛 testerhome。

    如果框架都无法实现,工具和平台就更不能。

    我来解释一下:

    • 框架

    我这里说的框架是代码框架,像 django、spring 这些 web 框架,本质上提供的给你的还是类方法,让你去使用和扩展,你可以用,可以只用一点,也可以自己灵活的实现。所以,我觉得没有什么是代码解决不了的。

    • 工具

    我当然 知道,postman 可以用 js 写扩展,我也知道 robot framework 可以自己封装 系统关键字,我更知道 httpRunner 可以在 debugtalk.py 自己封装函数。JMeter 也是可以用 Java 做扩展的。

    • 平台

    我自己做过专职平台开发,当然也知道平台也代码开发的,有啥功能不能做?

    可以问题是,我都用你的工具和平台去写代码了,说明你的工具和平台需要有代码基础的人才能用的顺手,为啥不能更加舒服高效的直接用代码解决问题?

    我的大部分观点,只是站在测试新手这边,鼓励大家写代码,多用框架这些工具,多了解一些底层的东西,写代码更加自由,更加灵活。

    而站在那些已经 已经跨过了新手阶段的,专职测试开发,测试 Leader,公司高层,现成的工具不香?我们做的平台不香? 有需求你提,我给你加!我理解,平台更好的衡量产出,可以做到更多维度的统计。 这些都是代码框架不具备的。

    可惜,新手看到的只是你这个报告挺好看的,我去学些。这也是为什么HTMLTestRunner 报告被定制了 N 多个版本, 去用 pytest 只是因为 allure 报告好看。

    不知所云,前后矛盾,有感而发。

  • @zhanzi123 首先,是可以设置的。可以加项目的 QQ 群交流,这么做的原因?

  • @Q poium 目前支持 selenium 和 appium ,最近将这种模式应用到了 facebook-wda 中,理论上也支持 uiautomator2 ,我想可以使用这种模式来兼容目前主流的测试库。

  • 新增:

    • 用例失败/错误重跑
    • 用例失败/错误自动截图
  • @JonnySen 基于 unittest 单元测试框架的基础上,加入了一些功能,还有一些功能待完善,欢迎提建议。

  • 你想法刚好相反,框架是最灵活的,在框架的基础上扩展是容易,如果框架都无法实现,工具和平台就更不能。工具和平台解决的是 不让你写代码做接口测试

  • 如果是把你空降到一个功能测试为主的团队。 你其实可以选择做一个平台去解决他们的问题,也可以选择找出几个懂些代码来培养写框架来结束。

    首先,我不认为接口是适合每个测试的,或者每个测试都必须要参与到接口测试中的,我觉得不懂一些接口实现逻辑的话也 很难设计好接口测试用例

    做平台面临的挑战更多,如果做的没有 postman 强大,测试不会用。如果做的特别强大,那么一定很难用!哈哈!

    当然,每个公司的情况是不一样!