==web 页面的自动化测试方法选择= - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
FreeWong
V2EX    程序员

==web 页面的自动化测试方法选择=

  •  
  •   FreeWong 2023-10-31 10:51:51 +08:00 3269 次点击
    这是一个创建于 713 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在要求开发一个对公司即将发布的 web 页面进行自动化测试的工具
    要求是,可以启动浏览器,自动实现单选、复选、填写文本输入框的内容,以及自动提交

    我在这方面没有类似的开发经验,请问各位大佬,这种需求是使用
    puppeteer 好
    还是使用 webview2 注入自己写的脚本好呢

    请从开发复杂度、实现难易程序谈方面谈下(本人有 Javascript 以及 nodejs 的开发经验)

    感激诸位大佬指教
    20 条回复    2023-11-01 18:36:56 +08:00
    jwj
        1
    jwj  
       2023-10-31 11:39:47 +08:00
    浏览器扩展
    Al0rid4l
        2
    Al0rid4l  
       2023-10-31 11:42:54 +08:00
    puppeteer playwright
    Jessec
        3
    Jessec  
       2023-10-31 11:49:46 +08:00
    cypress
    Laimf
        4
    Laimf  
       2023-10-31 11:50:43 +08:00
    selenium
    czgaotian
        5
    czgaotian  
       2023-10-31 11:51:27 +08:00
    cypress 这个好用
    musi
        6
    musi  
       2023-10-31 11:53:59 +08:00
    playwright
    22092
        7
    22092  
       2023-10-31 11:54:16 +08:00
    laywright 支持 webview2 如果这个自动化测试是在 win10+, 可以试试
    但开发复杂度、实现难易程序 , 应该还是 ChromeDriver/FirefoxDriver/WebkitDriver 更好
    而且后续考虑多分页多用户、预安装浏览器扩展、容器化…还是要用回 Driver
    FreeWong
        8
    FreeWong  
    OP
       2023-10-31 13:05:30 +08:00
    感谢各位大佬,浏览器扩展要手动先启动浏览器,这个方案估计不行。
    hanssx
        9
    hanssx  
       2023-10-31 13:59:18 +08:00
    @22092 playwright 也能容器化呀,为啥说要用回 Driver ?
    zuiyue123
        10
    zuiyue123  
       2023-10-31 14:08:07 +08:00
    selenium 非常好用,目前比较流行的,很成熟,支持多语言和多内核浏览器,
    我基于 selenium 实现过非常完整的自动化系统,公司内部常年用的
    huazhuangnan
        11
    huazhuangnan  
       2023-10-31 15:29:04 +08:00
    Playwright 很好用的
    nzbstn
        12
    nzbstn  
       2023-10-31 16:02:32 +08:00
    题主提到的那俩我还真没接触过, 不过我自己玩的时候基于 python 用过 selenium 和 playwright, 相比之下感觉 sele 更接近底层, 而 play 感觉是那种集成好了拿过来直接调用就可以, 相比 sele 更快捷吧,
    如果是要快速大量实现的话, 我更偏向 play, 如果是更原生一点的话, 那就 selenium(我之前的老东家做自动化测试用的就是 selenium)
    runinhard
        13
    runinhard  
       2023-10-31 16:42:33 +08:00
    nodejs + taiko
    这应该是最简单的了
    pikay
        14
    pikay  
       2023-10-31 19:44:56 +08:00
    playwright ,已经有类似的尝试,很容易就能入,有生成流程辅助工具。
    jiangzm
        15
    jiangzm  
       2023-10-31 22:27:43 +08:00
    提供一个新的方案 cucumber, 可以和上面提到的工具( puppeteer playwright selenium )结合到一起
    moxiaonai
        16
    moxiaonai  
       2023-11-01 00:16:01 +08:00 via Android
    cypress 或者 Playwright
    FreeWong
        17
    FreeWong  
    OP
       2023-11-01 08:51:02 +08:00
    @jwj @Al0rid4l @Jessec @Laimf @czgaotian @musi @22092 @hanssx @zuiyue123 @huazhuangnan @nzbstn @runinhard @pikay @jiangzm @moxiaonai 感谢各位的建议,每种建议对我来说都很重要 感谢感谢
    ytbfjhh
        18
    ytbfjhh  
       2023-11-01 10:05:27 +08:00
    selenium 资料最多,Playwright 新出的比 selenium 要好用,当然如果你不想写代码,可用影刀
    22092
        19
    22092  
       2023-11-01 15:40:36 +08:00
    @hanssx 这个 driver 包括 playwright driver , 对比的是 playwright+webview2 应该不可以容器化
    nzbstn
        20
    nzbstn  
       2023-11-01 18:36:56 +08:00
    @ytbfjhh 影刀兼容不好吧, 前几天我也是想用影刀融合 python 代码, 结果发现经常报错, 简单研究之后发现影刀自带的是 py37_32 位, 大多数脚本编写都是 64 位吧, 感觉某些方面还不如直接写代码来的更快一点
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5470 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 08:39 PVG 16:39 LAX 01:39 JFK 04:39
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86