2013-10-15 4 views
0

Я пишу тест селенового огурца, чтобы прикрепить файлы к электронной почте и убедиться, что файл, который не превышает выделенное пространство. Используя часть кода ниже, я смог смоделировать вложение файла, но не смог указать размер заливки, чтобы убедиться, что файл не превышает лимит.Использование selenium для прикрепления файлов и проверки ограничения размера файла

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

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

Может кто-то прояснить проблему?

+0

Не могли бы вы прояснить свой вопрос? –

+0

Я прикрепил файл, используя приведенный выше код, но мне также нужно указать размер этого файла, чтобы проверить размер файла для приложения. – vslat

+0

Где вы должны указать размер? Я считаю, что после того, как вы загрузите файл, и если размер файла превышает ограничение по размеру, он выдаст вам сообщение об ошибке, и вы можете это утверждать. – LINGS

ответ

0

Создайте файл, или использовать существующий, который над правилом размера, и использовать

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

Может быть, это то, что ищете?

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

Я пытаюсь указать размер файла вместе с именем файла, например. file.txt, 20MB – vslat

+0

@vslat почему бы вам просто не использовать тестовый файл? –

+0

не каждый из них будет иметь этот тестовый файл после создания теста. – vslat

0

для того, чтобы прикрепить файл, необходимо скопировать каталог файлов в системный буфер обмена с помощью:

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); 
Смежные вопросы