我正在使用selenium自动化移动网站。在我的测试用例中,我需要上传图像。点击显示文件上传弹出窗口时,有一个id为addimage的摄像头图像。检查此流的图像
超文本标记语言代码:
<div class="clearfix">
<ul id="imageList"> </ul>
<div id="uploadimginput">
<a id="addimage" class="sprite camera"> </a>
</div>
<input id="image" class="w0" type="file" name="image">
</div>
从文件上传弹出,我想打开一个文件夹"估计",然后选择一个图像。
我怎么能做到这一点在硒java。
据我所知,这是一个窗口对话框,它不在浏览器的上下文中,因此不能直接由Selenium自动化。因此,您将不得不使用机器人/Sikuli/Autoit。
下面的代码是使用“Robot类”的方法。为了使用它,请从“java.awt包”即java导入所有类。awt。机器人,java。awt。事件KeyEvent,java。awt。工具包,java。awt。数据传输。StringSelection,java。awt。AWTException以及其他必要的导入:
//Code for clicking on the image button that brings up the window dialog box
...
//Putting all the absolute paths of the pics to upload(here, 3 files)
String arr[] = {"\"D:\\Pic1.jpg\"", "\"D:\\Pic2.jpg\"", "\"D:\\Pic3.jpg\""};
//Copying the path of the file to the clipboard
StringSelection photo = new StringSelection(arr[0]+arr[1]+arr[2]); //Putting the path of the image to upload
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(photo, null);
//Pasting the contents of clipboard in the field "File name" of the Window Pop-up
Thread.sleep(5000); //Some sleep time to detect the window popup
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
//To Click on the "Open" button to upload files
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
不要点击图像本身,这样弹出窗口就不会出现。
在你的html代码中应该有一个带有类型文件的输入元素。在Selenium测试中,您可以找到输入元素,并用您要添加的图像路径填充它。然后在输入元素周围提交表单。
Selenium框架将为您处理其余部分。对我来说,它适用于所有浏览器。
我认为这是一个比模拟键盘更干净的解决方案。
我有一个问题,上传文件到网络系统使用硒驱动程序。所以在我的页面上,我没有任何输入来设置文件路径,而且我在网络上找到的大多数解决方案都不适合我。我必须点击上传文件按钮,然后在窗口对话框中设置文件的路径。我找到了winforms SendKeys类中使用的方法: 它的工作,但只有当测试有完全控制的机器(如果没有-路径已发送到某处不对话)。这就是问题所在,因为我无法完全控制运行测试的机器。你知道不使用S
我正在使用SeleniumWebDriver进行网站测试。现在我想在SeleniumWebDriver中设置TestNG。怎么可能呢?testng有JAR文件吗?
问题内容: 我正在使用此代码 将图片从我的android应用上传到用户的google驱动器帐户。 但是,如何修改代码以将图像上传到名为“ myFolder”的文件夹? 表示该文件夹存在,如果不存在,请创建该文件夹,然后将图像上传到该文件夹。 问题答案: 你需要为文件上传到特定的文件夹,做的是文件夹的ID添加到该文件的父母(参考文档的)。 因此,您需要做的全部事情是: 在驱动器中找到文件夹 创建
我使用以下代码移动图像一个文件夹到另一个文件夹,但它不工作。 如下 但还是不行谢谢
我正在使用Phantomjs驱动程序运行一个selenium webdriver脚本headless。我在上传文件时遇到了问题,因为在普通浏览器(firefox或chrome)上,它会弹出操作系统对话框,允许我在机器中找到文件并上传。如何使用ghostDriver(Phantomjs驱动程序)来实现这一点?谢谢
我无法从以下网页中读取电子邮件id: 网址:https://targetstudy.com/university/2/acharya-ng-ranga-agricultural-university/ 这是我的代码