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

2017-12-13 17:39:26 +08:00
 jahan

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

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

@omph 使用了 firefox 效果一样。

@vTexEZDota 我启动程序,试试关闭远程能不能一直执行。
这个远程好奇怪
jahan
2017-12-14 15:53:24 +08:00
@vTexEZDota 关闭远程也会断。
jahan
2017-12-15 14:43:54 +08:00
@vTexEZDota 这可如何是好呢?即使本地机器也有锁屏的时候啊,这样就失去了焦点,就断了。
dikT
2017-12-15 15:54:27 +08:00
应该是远程的原因, 你不远程就没这问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/414458

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX