V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
caizixian
V2EX  ›  程序员

网站交互自动化测试工具?

  •  
  •   caizixian ·
    caizixian · 2015-02-28 09:03:43 +08:00 · 3728 次点击
    这是一个创建于 3542 天前的主题,其中的信息可能已经有所发展或是发生改变。
    主要是要模拟填充表单,点击按钮等。之前看过casperjs,感觉不是特别适合。
    我的需求主要是这样子的:

    textarea[@class="***"].fill(str)
    textarea[@class="..."].fill(str)
    a[@class="btn"].click()
    input[@type="submit"].click()

    casperjs只能一个个填表单的字段,没法模拟用户的真实操作(如有不对,请指正)。
    不知道有没有这样的网站交互自动化测试工具?浏览器插件 or CLI工具都可。
    17 条回复    2015-02-28 13:36:39 +08:00
    zjgsamuel
        1
    zjgsamuel  
       2015-02-28 09:11:14 +08:00   ❤️ 1
    caizixian
        2
    caizixian  
    OP
       2015-02-28 09:21:24 +08:00
    @zjgsamuel 要Java,好肥。而且同时只能操作一个,不能并行测试,时间消耗略大,不太合适。
    不过做某些自动化脚本还是很不错的。
    谢谢。
    kanchi240
        3
    kanchi240  
       2015-02-28 09:40:06 +08:00
    selenium可以满足你的需求
    ijse
        4
    ijse  
       2015-02-28 09:51:35 +08:00
    caizixian
        5
    caizixian  
    OP
       2015-02-28 10:12:28 +08:00
    @ijse
    @kanchi240 感谢
    z7039585
        6
    z7039585  
       2015-02-28 10:12:29 +08:00
    selenium webdriver
    caizixian
        7
    caizixian  
    OP
       2015-02-28 10:15:10 +08:00
    @z7039585
    @kanchi240
    @ijse 为什么都是Java写的,不想弄jre啊
    z7039585
        8
    z7039585  
       2015-02-28 10:17:44 +08:00   ❤️ 1
    https://github.com/kagamimoe/webdriver_guide
    不一定用JAVA呀 selenium webdriver2.0 支持一大堆语言 我用python写的脚本
    caizixian
        9
    caizixian  
    OP
       2015-02-28 10:28:57 +08:00
    @z7039585 我的意思是你得在本地用Java跑selenium的server,再用Python client去连接.

    那个Guide很不错
    iehp
        10
    iehp  
       2015-02-28 10:52:17 +08:00
    webdriver的话不用跑java的server的啊。selenium rc 才需要起server。

    @caizixian
    caizixian
        11
    caizixian  
    OP
       2015-02-28 10:54:10 +08:00
    @iehp
    @z7039585 没错,是我搞错了
    ijse
        12
    ijse  
       2015-02-28 10:59:08 +08:00
    @caizixian 这个更轻量一些,也许也能满足需求:

    http://nightwatchjs.org/
    mikuazusa
        13
    mikuazusa  
       2015-02-28 11:00:22 +08:00
    浏览器插件实现的话,推荐下iMacros : http://imacros.net/
    jiehuangwei
        14
    jiehuangwei  
       2015-02-28 11:01:21 +08:00
    @caizixian casperjs只能一个个填表单的字段? 这个不明白,casperjs应该是能满足你你的需求的,直接模拟的是浏览器,完全真实
    caizixian
        15
    caizixian  
    OP
       2015-02-28 11:55:55 +08:00
    @ijse It runs against a selenium server.

    @jiehuangwei
    casperjs大致是这样的this.fill('form[action="/search"]', { q: 'phantomjs' }, true);
    并没有模仿keystroke,而网站上则是有JS检测的
    jiehuangwei
        16
    jiehuangwei  
       2015-02-28 13:18:49 +08:00
    @caizixian 如果需要,一样是可以的
    luw2007
        17
    luw2007  
       2015-02-28 13:36:39 +08:00
    splinter 基于selenium, 写法简单.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2809 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 02:02 · PVG 10:02 · LAX 18:02 · JFK 21:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.