我有一个Java gradle项目,它在Robot框架中进行了测试,并且想要使用自定义python模块来自动执行一些用户操作,例如键盘和鼠标单击。在我的python模块内部,我导入了例如“ pynput”,“ pyautogui”和“ platform”库。当从CMD开始测试时,例如“ robot testcase.robot”,一切正常。当我尝试使用Gradle任务执行相同的测试时,无法识别导入。
如何修改build.gradle或settings.gradle文件以便与外部python库一起使用?
IntelliJ用于测试框架。测试使用带有Selenium和Swing库的Robotframework。该项目包含Python文件,以便使用一些常见的库,例如OS,Platform,Pynput,PyAutogui等。 所有python模块都是通过IntelliJ和PIP单独安装的
用法示例:
import pyautogui
import platform
def Browser_Download_PopUp():
if platform.system() == 'Windows':
pyautogui.press("left")
pyautogui.press("enter")
elif platform.system() == 'Linux':
pyautogui.press("enter")
我正在从机器人文件中调用函数“ Browser_Download_PopUp”。当从Command启动机器人文件时,一切正常,但是当我尝试使用gradle任务导入的模块从IntelliJ执行测试时,找不到:
[错误]文件错误 'C:\ Projekt \ eVergabe \ 6.15 \ robotframework \ src \ test \ robot \ common \ Install4jKeywords.robot': 导入测试库 'C:\ Projekt \ eVergabe \ 6.15 \ robotframework \ src \ test \ robot \ common \ python \ Tast aturTastenDruecken.py'失败:SyntaxError:带有参数的'return' 内部生成器( init .py,第168行)回溯(最近的调用 最后):文件 “ C:\ Projekt \ eVergabe \ 6.15 \ robotframework \ src \ test \ robot \ common \ python \ TastaturTastenDruecken.py”, 第1行,在 导入pyautogui文件“ C:\ users \ angelov \ appdata \ roaming \ python \ python37 \ site-packages \ pyautogui__init __。py”, 第84行,在 导入pyscreeze文件“ C:\ users \ angelov \ appdata \ roaming \ python \ python37 \ site-packages \ pyautogui__init __。py”, 第84行,在 导入pyscreeze