Selenium UI 自动化中上传不是 input 的框,使用方法后,无法 Jenkins 定时运行,除了这个上传不行,其他都能通过,有没什么解决方法?

王一一 · August 09, 2022 · Last by 王一一 replied at August 16, 2022 · 8041 hits


使用的是 pyautogui 的方法,但是无法自动运行,会报错

也使用了,Windows 自带的定时计划,也是这个方法会报错,有没人遇到过这种问题,怎么解决

有其他方法吗?我第一种方法是 pywinauto,Desktop 这个,这个更失败了,正常都无法成功

共收到 14 条回复 时间 点赞
Tester_谜城 回复

🙀 试了一下,还真可以,我才看到

王一一 回复

我之前遇到的情况是这样的,使用 pyautogui 时,显示器亮屏的情况下执行正常(调试正常),只要黑屏或 slave 机没有接显示器,上传就会执行失败。

更正一下之前的解决方案 记错了不是 AutoIt 是使用 python 的 pywin32 库解决的,可以参考下
http://t.zoukankan.com/shouhu-p-12230008.html

槽神 回复

不是无头模式,Jenkins 执行脚本的时候是看不到浏览器,现在也解决不了😢

14Floor has deleted
13Floor has deleted
王一一 回复

你定一个 1、2 分钟之后的时间呢?
是在 docker 里面跑的吗?
是 headless 吗?

11Floor has deleted
Tester_谜城 回复

这方法有点奇怪啊,上传没成功,主要还是我看不懂你这个😢

槽神 回复

改 Jenkins 不是 Windows 服务了,执行后,直接弹出浏览器,一切操作都正常,就是定时任务时就会报错😤

pyautogui ===> gui
你确定你跑的 jenkins slave 有 gui?

枫叶 回复

这个有点麻烦了,没有 python 的第三方库这种吗😢

好像以前也遇到过这个问题 , 屏幕不亮屏就会失败,后来换了个上传的库问题解决

Pactortester 回复

路径设置的是截图返回的路径,是绝对路径

Jerry li 回复

可以从命令行执行,执行也可以通过,就是当前屏幕会弹出网页,开始运行自动化。但是,电脑屏幕只要是黑屏状态,自动执行这个命令行,这个上传图片这个就会失败,可恶啊

直接点击上传按钮,弹窗中选择文件上传,操作 windows 窗口可以用 AutoIt v3

js 设置路径

  1. 先确定怎么能从命令行执行? 如果是 Python 文件,Python xxx.py 这种方式可以运行吗?
  2. 只有上面的命令已经找到了,就可以配置到 Jenkins 里面运行。需要留意的是 Python 的版本和文件地址是否正确。
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up