V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
BillTin
V2EX  ›  分享创造

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

  •  
  •   BillTin ·
    DingJunyao · 2021-12-22 22:53:44 +08:00 · 2896 views
    This topic created in 1397 days ago, the information mentioned may be changed or developed.

    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 replies    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 有啥关系
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5769 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:17 · PVG 17:17 · LAX 02:17 · JFK 05:17
    ♥ Do have faith in what you're doing.