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