推荐学习书目
› 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 · Dec 13, 2017 · 3802 views
    This topic created in 3250 days ago, the information mentioned may be changed or developed.

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

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

    @omph 使用了 firefox 效果一样。

    @vTexEZDota 我启动程序,试试关闭远程能不能一直执行。
    这个远程好奇怪
    jahan
    jahan
    OP
    Dec 14, 2017
    14
    @vTexEZDota 关闭远程也会断。
    jahan
    jahan
    OP
    Dec 15, 2017
    15
    @vTexEZDota 这可如何是好呢?即使本地机器也有锁屏的时候啊,这样就失去了焦点,就断了。
    dikT
    dikT
    Dec 15, 2017
    16
    应该是远程的原因, 你不远程就没这问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1902 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 07:36 · PVG 15:36 · LAX 23:36 · JFK 02:36
    ♥ Do have faith in what you're doing.