如何使用Selenium Grid在Windows节点机器上上传文件

时间:2015-06-05 16:19:48

标签: selenium automation autoit selenium-grid

我正在尝试自动上传文件。在我的应用程序中,我有一个浏览器链接,单击该链接将打开Windows文件上载弹出窗口。

enter image description here

因为它是一个链接,我不能使用SendKeys方法将文件位置发送到浏览链接或文件路径文本框(或者至少它在我尝试时不起作用)。我尝试了两种不同的方法来导入文件,两者都只能在我的本地机器上运行。因此,如果我从当地开始测试,并且在我当地的测试,我没有任何问题。

选项1 - 使用机器人

        //Click Browse Link
        basicClick(AppObjects.OM_Import_BrowseLink);
        //Wait for Windows OS file upload popup
        sleep(3000);
        StringSelection SS = new StringSelection(filePath);
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(SS, null);
        Robot robot = new Robot();
        robot.keyPress(KeyEvent.VK_CONTROL);
        robot.keyPress(KeyEvent.VK_V);
        sleep(1000);
        robot.keyRelease(KeyEvent.VK_V);
        robot.keyRelease(KeyEvent.VK_CONTROL);
        sleep(1000);
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);
        sleep(3000);

选项2 - 使用AutoIt

        basicClick(AppObjects.OM_Import_BrowseLink);
        sleep(3000);
        Runtime.getRuntime().exec("\\\\IP Address\\OrgMapper\\AutoItScripts\\File Upload Test.exe");
        sleep(4000);

我遇到的问题是我在Selenium Grid上执行这些测试。我从本地机器开始测试,然后将它们发送到网格运行。一旦它到达机器人或自动部件,它就会在我的本地机器上执行那些命令/ .exe,而不是运行测试的网格节点。

有人可以指出我犯的错误。我希望机器人或AutoIt脚本在运行测试的网格节点上运行,而不是我开始测试的本地机器。

0 个答案:

没有答案