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

王一一 · 2022年08月09日 · 最后由 王一一 回复于 2022年08月16日 · 7904 次阅读


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

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

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

共收到 14 条回复 时间 点赞
  1. 先确定怎么能从命令行执行? 如果是 Python 文件,Python xxx.py 这种方式可以运行吗?
  2. 只有上面的命令已经找到了,就可以配置到 Jenkins 里面运行。需要留意的是 Python 的版本和文件地址是否正确。

js 设置路径

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

Jerry li 回复

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

Pactortester 回复

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

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

枫叶 回复

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

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

槽神 回复

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

Tester_谜城 回复

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

11楼 已删除
王一一 回复

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

13楼 已删除
14楼 已删除
槽神 回复

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

王一一 回复

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

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

Tester_谜城 回复

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

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册