使用selenium webdriver运行exe文件

时间:2017-01-18 22:25:22

标签: java selenium-webdriver

如何使用selenium webdriver运行exe文件。如果我可以运行exe文件,那么我可以使用auto it工具自动化Windows窗口,并可以使用java selenium运行这些exe。它有助于在Selenium中浏览文件

2 个答案:

答案 0 :(得分:3)

是的,你可以这样做。

Runtime.getRuntime().exec("path to the autoIt exe file");

例如:

Runtime.getRuntime().exec("E:\\Softwares\\Testing\\FileIUploadAutoit.exe");

以下是使用Selenium WebDriver {/ 1>使用java TestNG将文件上传到网站的小例子

public class autoitclass {

 public WebDriver driver;


@BeforeTest 
public void websitemain()
{
    System.setProperty("webdriver.gecko.driver", "E:\\Softwares\\Testing\\geckodriver.exe");

    driver = new FirefoxDriver();   


    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

    String URL = "http://www.megafileupload.com/";

    driver.get(URL);
}

@Test
public void uploadFile() throws Throwable{

    driver.findElement(By.xpath(".//a[contains(@class,'slider-btn')]")).click();        
    driver.findElement(By.xpath(".//*[@id='initialUploadSection']")).click();
    Runtime.getRuntime().exec("E:\\Softwares\\Testing\\FileIUploadAutoit.exe");


}

@AfterTest
public void quit(){

    driver.quit();

}

答案 1 :(得分:0)

您无法使用selenium测试独立应用程序(桌面)(如果不正确,请帮我解决),例外是使用Electron开发的应用程序。当你编译和构建一个电子项目时,你得到一个硒,它可以与selenium进行交互和测试。 以下示例演示了如何进行交互:

 public void TestSampleGooglePlayElectronApp()
        {
            ChromeOptions chromeOptions = new ChromeOptions();            
            chromeOptions.BinaryLocation = @"C:\MySampleElectronApp\MyApp.exe";           
            DesiredCapabilities capability = new DesiredCapabilities();
            capability.SetCapability(CapabilityType.BrowserName, "Chrome");
            capability.SetCapability("chromeOptions", chromeOptions);
            IWebDriver driver = new ChromeDriver(chromeOptions);            
            driver.FindElement(By.XPath("//paper-button[contains(text(),'Sign in')]")).Click();
        }