【问题标题】:Using selenium to attach files and verify file size limit使用 selenium 附加文件并验证文件大小限制
【发布时间】:2013-10-15 19:26:44
【问题描述】:

我正在编写一个 selenium cucumber 测试,以将文件附加到电子邮件并验证文件不超过分配的空间。使用下面的代码,我能够模拟文件附件,但无法指定填充大小以验证文件是否超出限制。

WebElement attachFile = driver.findElement(By.id("attachment"));

attachFile.sendKeys("c:\\newfile.txt");

有人可以澄清这个问题吗?

【问题讨论】:

  • 你能澄清你的问题吗?
  • 我已经使用上面的代码附加了文件,但我还需要指定该文件的大小以测试应用程序的文件大小限制。
  • 需要在哪里提供尺寸?我相信,一旦您上传文件并且文件大小超过大小限制,它会向您抛出错误消息,您可以断言。

标签: java selenium cucumber selenium-webdriver


【解决方案1】:

创建一个文件,或使用超过您的大小规则的现有文件,然后使用

driver.findElement(By.id("attachment")).sendKeys("<absolutePathToMyFile>");

也许这就是你要找的东西?

driver.findElement(By.id("attachment")).size()

【讨论】:

  • 我正在尝试指定文件大小以及文件名,例如文件.txt,20MB
  • @vslat 你为什么不直接使用测试文件?
  • 在我创建测试后,并非整个部门的每个人都会拥有该测试文件。
  • 我正在寻找的是一种模拟大小的方法,就像我模拟添加文件一样。
  • @vslat 按照我的理解,使用 sendKeys 指定文件与您退出模拟并从对话框中选择文件一样。您并没有真正“模拟”文件选择,程序运行就像用户完成了选择一样。因此,您需要有一个实际文件来执行测试。您将无法使用“模拟”文件。
【解决方案2】:

要附加文件,您需要使用以下命令将文件目录复制到系统剪贴板:

StringSelection ss = new StringSelection("C:\\newfile.txt");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);

然后您必须单击附件元素,粘贴目录并按 Enter。

WebElement attachFile = driver.findElement(By.id("attachment"));
attachFile.click();

Robot rb = new Robot();
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);

rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_CONTROL);
Thread.sleep(500);
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
Thread.sleep(5000);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2020-05-08
    • 2023-04-09
    相关资源
    最近更新 更多