Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果我想使用autoit,如何在maven项目中使用_Java_Selenium - Fatal编程技术网

Java 如果我想使用autoit,如何在maven项目中使用

Java 如果我想使用autoit,如何在maven项目中使用,java,selenium,Java,Selenium,使用java在selenium webdriver中上传文件的最佳方式是什么 --使用发送键 --使用autoit --使用robot类 如果我想使用autoit,如何在maven项目中使用 我可以在selenium webdriver中上载文件而不提供硬代码路径吗?是的,您可以在maven项目中使用autoit String getLocation=Constant.currentDirectory+"\\testExplorer.exe "+ uploadFileName; Runtime

使用java在selenium webdriver中上传文件的最佳方式是什么

--使用发送键 --使用autoit --使用robot类

如果我想使用autoit,如何在maven项目中使用


我可以在selenium webdriver中上载文件而不提供硬代码路径吗?

是的,您可以在maven项目中使用autoit


String getLocation=Constant.currentDirectory+"\\testExplorer.exe "+ uploadFileName;
Runtime.getRuntime().exec(getLocation);

此处uploadfilename是要上载的文件的名称 您可以使用AutoIt编辑器创建.exe文件。通过使用以下代码,您可以参数化要上载的文件名

ControlFocus("Open","","Edit1")
ControlSetText("Open","","Edit1",$CmdLine[1])
ControlClick("Open","","Button1")

在pom中使用以下两个依赖项- 注意:通过使用Jcob API,您实际上可以在selenium代码中直接编写/复制粘贴autoit脚本,而无需将其作为可执行exe脚本

<dependency>
        <groupId>autoitx4java</groupId>
        <artifactId>autoitx4java</artifactId>
        <version>1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.hynnet/jacob -->
    <dependency>
        <groupId>com.hynnet</groupId>
        <artifactId>jacob</artifactId>
        <version>1.18</version>
    </dependency>
  • 在ur应用程序中单击上载/选择文件,并定期单击- 单击一个元素(findElementByXpath(chooseFileBtn)); 等待(2)

  • 现在编写代码(需要为此脚本和捕获脚本安装autoIt),如下所示-

    AutoItX autoIt=新的AutoItX(); 字符串title=“打开”; Assert.assertTrue(autoIt.winWaitActive(标题,“Open”,20)); controlSend(标题“,”编辑1“,文件路径); autoIt.controlClick(标题“,”按钮1”)

  • 注意:AutoIt控件[controlSend和controlClick]现在将直接从我们的代码中工作,并完成这项工作

       System.setProperty(LibraryLoader.JACOB_DLL_PATH, 
       System.getProperty("user.dir") + 
       "/automation/src/test/java/externalLib/jacob- 
       1.20-x64.dll");