V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
BillTin
V2EX  ›  分享创造

安利一下自己写的 Web 自动化测试辅助工具 nopo

  •  
  •   BillTin ·
    DingJunyao · 2021-12-22 22:53:44 +08:00 · 2293 次点击
    这是一个创建于 860 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Python 包,帮助在 Web 自动化测试中,使用 Page Object 方式编写代码。

    名称取 not only page object 的首字母。

    基于 Selenium 封装,开发受到了 poium 的影响。

    项目地址:https://github.com/DingJunyao/nopo,欢迎 fork 和 star 。

    pip 安装:pip install nopo,目前支持 Python 3.7 及以上版本。

    目前在自己所在的公司里面有一定的应用(虽然目前公司里面做测试的就两个人……而且以人工测试为主)。

    不知道这里做 Web 自动化测试的人有多少……也不知道怎么更好地安利它,毕竟自己认识的人基本上没有同行……

    如果大家觉得有什么可以添加的功能,或者说有什么建议——不管是代码、文档还是其他——都可以提~

    9 条回复    2021-12-27 14:45:26 +08:00
    del1214
        1
    del1214  
       2021-12-23 09:29:42 +08:00
    感谢分享
    cyrivlclth
        2
    cyrivlclth  
       2021-12-23 10:22:14 +08:00
    感觉像是简单事情复杂化?
    AchieveHF
        3
    AchieveHF  
       2021-12-23 10:56:54 +08:00
    Playwright 更香吧
    BillTin
        4
    BillTin  
    OP
       2021-12-23 12:19:16 +08:00
    @AchieveHF 我试过 Playwright ,在处理浏览器级别的对话框的效果不是很理想,就没有用。

    @cyrivlclth 如果直接用 Selenium ,创建的 WebElement 对象不太稳定,页面稍微变一下就要重新生成。重复写代码比较麻烦,一开始用的是 poium ,之后想扩展功能发现比较麻烦,索性自己写了……
    cyrivlclth
        5
    cyrivlclth  
       2021-12-23 16:14:08 +08:00
    @BillTin 这个东西可以前端打包的时候自动生成吗?
    BillTin
        6
    BillTin  
    OP
       2021-12-23 21:05:15 +08:00
    @cyrivlclth 应该不行,至少我没有往这方面想过……感觉这个难度挺大的,我在的公司里面,很多项目里面的 Web 控件都是没有非常明显的特征,要手写 XPath 才行。

    刚才发现自己之前的描述有问题,修正一下:之前说的“不稳定”,是在**测试过程**中,页面元素发生变化的情况(可能通过之前的查询还能查到元素,肉眼上发现不了变化,但是元素实际上重新加载过。这种情况下如果不重新查找元素,试图操作原先的元素,会抛出 `StaleElementReferenceException` 这样的异常)。
    cyrivlclth
        7
    cyrivlclth  
       2021-12-24 15:15:40 +08:00
    @BillTin 就说页面元素是动态生成的,每次都不一样的意思?
    BillTin
        8
    BillTin  
    OP
       2021-12-24 18:38:43 +08:00
    @cyrivlclth 有这种情况,不过不是这个意思,元素的定位和特征相对比较固定,但是会重新加载
    warcraft1236
        9
    warcraft1236  
       2021-12-27 14:45:26 +08:00
    简单搂了一眼代码,感觉就是封装了一下 By.xxx 方法,这玩意跟 po 有啥关系
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   983 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:58 · PVG 02:58 · LAX 11:58 · JFK 14:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.