使用c#中的自动元素在Selenium Webdriver中上传文件



我有一个场景,我需要使用Selenium上传Excel文件。为此,我使用的是自动(作为视觉工作室的Nuget软件包)。当我使用以下代码时,我可以将文件上传到我的应用程序,但是我必须使用文件路径作为我的Active Directory,而不是本地计算机。

AutoItX.WinWaitActive("Open");
AutoItX.ControlFocus("Open", "", "Edit1");
AutoItX.ControlSetText("Open", "", "Edit1", "D:\Perseus\V2-ModelUpdate.xlsm");
AutoItX.ControlClick("Open", "", "Button1");

我的要求是...当我运行硒脚本时,应从TFS的Active Directory中选择Excel文件,而不是与CI集成时的本地机器。构建成功后,应该通过硒脚本。请在这里帮助我。

这是适用于c#/c敏锐的首先,您需要单击"选择文件"按钮上传图像然后使用以下代码:

AutoItX3 autoIt = new AutoItX3();
autoIt.WinActivate("Open"); // Window name to select a file 
autoIt.Send(@"C:UsersXXXXDesktopat.png"); // file path 
autoIt.Send("{Enter}");`

事实证明,与硒相比,Autoit使用了不同的协议,并且在Browserstack Automate上不支持。因此,我使用RemoteWebDriver而不是自动启用此要求,并且工作正常。

[TestFixture]
    public class FileUpload
    {
        [Test]
        public void TestMethod()
        {
            IWebDriver driver = new FirefoxDriver();
            driver.Navigate().GoToUrl("https://smallpdf.com/pdf-to-jpg");
            driver.FindElement(By.XPath("//button[@class='l3tlg0-0 hrcxSS']")).Click();
            Thread.Sleep(4000);
            Runtime.getRuntime().exec(@"C:UsersBhagya.HSDocuments.FileUpload.exe");
            
        }
    }

相关内容

  • 没有找到相关文章

最新更新