文件上传的自动代码在硒中不起作用.进入路径后窗口消失



我在日食中运行Autoit代码时遇到了一个奇怪的问题。

我在编译以下代码以在弹出窗口中上传文本文件后创建了一个exe文件

如果我在窗口屏幕处于活动状态的情况下在命令提示符下手动运行此 exe 文件文件已成功上传到应用程序

如果我运行 eclipse,相同的 exe 代码我可以看到按钮被按下并且窗口消失(并且没有上传任何文件)

我尝试将第 4 行更改为发送("{ENTER}") 仍然没有运气

1.WinWaitActive("Open") //Open is the  window name 
2.Send("C:UsersABDesktopsampleupload.txt",@SW_SHOWNORMAL) //this works in eclipse
3.WinWaitActive("Open")//this works
4.ControlClick("Open","","Button1") //Button clicked correctly
Runtime.getRuntime().exec("filesend.exe")//code used in eclipse to run the autoit exe file

执行 exe 文件后,该文件应该被上传,但窗口消失并且没有上传任何文件。该问题仅在通过 eclipse

我有一个建议,不要使用 autoit 的 exe。 您可以使用Java或Python的AutoIT库。

下面是带有 autoit 的 java 示例:

File file = new File("lib", "jacob-1.15-M4-x64.dll"); //path to the jacob dll
System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());
AutoItX x = new AutoItX();
String notepad = "Untitled - Notepad";
String testString = "this is a test.";
x.run("notepad.exe");
x.winActivate(notepad);
x.winWaitActive(notepad);
x.send(testString);
Assert.assertTrue(x.winExists(notepad, testString));
x.winClose(notepad, testString);
x.winWaitActive("Notepad");
x.send("{ALT}n");
Assert.assertFalse(x.winExists(notepad, testString));

有关设置,您可以参考以下链接:

https://www.joecolantonio.com/selenium-autoit/

如果你想将python与autoit和selenium一起使用,你可以非常容易地实现我在下面的博客中写的:

http://jbanshpal.blogspot.com/2018/02/first-basic-setup-and-example.html

如果有帮助,请告诉我。

相关内容

  • 没有找到相关文章

最新更新