我正在尝试自动化我必须上传文档的场景,但是当我单击Web应用程序上的“选择文件”按钮后,我无法处理文件上载窗口。
我正在使用C#语言和Chrome浏览器。
答案 0 :(得分:1)
我在C#中的测试用例:
[Test, Description("JAVA_67350: Filename is shown as tooltip in browse button after upload is cancelled in Firefox browser ")]
[Component(Component.UploadBox)]
[Priority(Priority.High)]
[CustomerID(160100)]
public void JAVA_67350()
{
driver.Navigate().GoToUrl("http://localhost/JavaScript/CR_Samples/JavaScriptSamples/JAVA_67350/UploadBoxUntitled.html");
driver.Manage().Window.Maximize();
Thread.Sleep(3000);
//clicking upload button
driver.FindElement(By.XPath(".//*[@id='UploadDefault']/div[1]/input[2]")).Click();
Thread.Sleep(TimeSpan.FromSeconds(1));
//file uploading
SendKeys.SendWait("C:\\UploadBox\\Examplefordocx.docx" + @"{RIGHT}");
Thread.Sleep(500);
SendKeys.SendWait(@"{TAB}");
Thread.Sleep(500);
SendKeys.SendWait(@"{TAB}");
Thread.Sleep(500);
SendKeys.SendWait(@"{ENTER}");
Thread.Sleep(3000);
}
答案 1 :(得分:0)
如果您的File元素有'input type = file'
,您可以尝试以下操作:
element(by.css('input[type="file"]')).sendKeys(pathToFile);
这不会打开文件上传窗口对话框。相反,这会将所需的值发送到输入文件字段。
您可以参考以下链接了解详情: http://seleniumeasy.com/selenium-tutorials/uploading-file-with-selenium-webdriver
How to upload file using Selenium WebDriver in Java
的问候,
Sakshi
答案 2 :(得分:0)
您可以使用SendKeys
using System.Windows.Forms;
SendKeys.SendWait(@"C:\temp\file.txt");
SendKeys.SendWait(@"{Enter}");
答案 3 :(得分:-1)
Selenium没有任何内置功能来处理文件上传/与windows对话(打印对话)/ windows弹出窗口进行交互。
如果您想与windows对象进行交互,可以使用AutoIT
它是与windows对象交互并且非常易于使用的绝佳工具。有关使用的步骤,请参阅以下链接。
http://www.toolsqa.com/seleniu-webdriver/autoit-selenium-webdriver/