V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jahan
V2EX  ›  Python

写了一个假的自动化测试程序? selenium

  •  
  •   jahan · 2017-12-13 17:39:26 +08:00 · 2713 次点击
    这是一个创建于 2545 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 python 写了一个 selenium 的自动化测试程序,基本就是登陆网站,浏览,点击,然后截图。按照道理来说,这个应该就是能够自己循环之行,不需要人工干预了。但是发现如果鼠标不在页面上晃动,程序就会超时死掉(找不到元素报错)。如果鼠标长期不动,程序就死了。如果看到程序停止了,在页面上移动一下,程序又开始工作了。这是什么原因呢?测试环境为 selenium+chrome+win10 远程桌面。

    16 条回复    2017-12-15 15:54:27 +08:00
    vipper
        1
    vipper  
       2017-12-14 07:43:07 +08:00 via iPhone
    Selenium 有个拖动的事件,可以试试。另外不懂你这个测试什么网站,按照你说的,灯具网站浏览,也会和网站发生交互的
    jahan
        2
    jahan  
    OP
       2017-12-14 08:51:22 +08:00
    @vipper 感谢提示。您说的是 DRAG 那个?让浏览器动一下?
    登陆网站倒是有交互,正常进行。
    就是停留在某个页面不断发文字提交,然后截屏的时候会发生问题。如果“人”不去移动鼠标,就会出现等待元素超时。如果移动了鼠标,程序执行会明显提速。
    jahan
        3
    jahan  
    OP
       2017-12-14 08:52:41 +08:00
    @vipper 感觉如果鼠标不在页面上移动,写的自动测试程序会失去焦点?还是 休眠?有点太智能了。
    jahan
        4
    jahan  
    OP
       2017-12-14 09:12:27 +08:00
    moveto 是从令坐标开始移动吗?会不会移动过去太慢了?
    okampfer
        5
    okampfer  
       2017-12-14 10:26:01 +08:00
    “长期不动”、“程序死了”之后是报的什么错误呢?
    vipper
        6
    vipper  
       2017-12-14 10:34:01 +08:00
    jahan
        7
    jahan  
    OP
       2017-12-14 11:42:37 +08:00
    @okampfer 长期不动---鼠标长期不活动。
    程序死掉报错:找不到元素。但是如果在超时之前动一下鼠标,程序会加速执行。
    jahan
        8
    jahan  
    OP
       2017-12-14 11:47:21 +08:00
    @vipper
    需要添加到程序里面这个动作?我总感觉我这个程序的问题是需要一个外部刺激呢?程序里面本身有一个 moveto 和 click 的动作。就是总是需要一个“人”来晃动鼠标的动作。
    jahan
        9
    jahan  
    OP
       2017-12-14 11:50:56 +08:00
    因为这个自动化测试程序总是需要人来晃动鼠标才能“刺激”他运行,有点觉得自己写了一个假的自动化测试程序
    omph
        10
    omph  
       2017-12-14 12:14:16 +08:00
    firefox 怎么样?
    okampfer
        11
    okampfer  
       2017-12-14 12:33:10 +08:00
    @jahan 能不能再根据这个找不到的元素仔细分析一下自动化测试代码和所测试的页面?我以前也认为 selenium 相当不稳定,但是后来发现很多时候是我自己对前端不够了解,测试代码写得不够健壮。
    vTexEZDota
        12
    vTexEZDota  
       2017-12-14 13:45:05 +08:00
    远程桌面我记得我遇到过这个问题,启动程序后关掉远程就可以了。如果不行,你可以起个 Seleniumserver 端,然后本地跑一下。
    jahan
        13
    jahan  
    OP
       2017-12-14 14:05:34 +08:00
    @okampfer 话说确实 selenium 是个好包,稳定。不过我遇到的问题可能和 code

    @omph 使用了 firefox 效果一样。

    @vTexEZDota 我启动程序,试试关闭远程能不能一直执行。
    这个远程好奇怪
    jahan
        14
    jahan  
    OP
       2017-12-14 15:53:24 +08:00
    @vTexEZDota 关闭远程也会断。
    jahan
        15
    jahan  
    OP
       2017-12-15 14:43:54 +08:00
    @vTexEZDota 这可如何是好呢?即使本地机器也有锁屏的时候啊,这样就失去了焦点,就断了。
    dikT
        16
    dikT  
       2017-12-15 15:54:27 +08:00
    应该是远程的原因, 你不远程就没这问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5557 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 94ms · UTC 08:33 · PVG 16:33 · LAX 00:33 · JFK 03:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.