2015-07-27 4 views
0

Я пишу тест Behat, который будет загружать .txt-файл. Выяснить, как обращаться с диалогом загрузки браузера, является боль, поскольку это не то, с чем Селен может напрямую взаимодействовать. Поскольку я просто делаю это для одного типа файлов, я решил, что было бы хорошо избежать этой проблемы, установив действие по умолчанию для браузера для сохранения текстовых файлов. К сожалению, кажется, что каждый раз, когда Selenium запускает Firefox, у него есть все настройки сброса.Конфигурация загрузки браузера для Behat

Есть ли способ установить действие и местоположение по умолчанию для загрузки, либо в behat.yml, либо при запуске автономного сервера selenium?

+0

Просто уточнение: я смотрел на Firefox первый, но перезагрузка также происходит с Chrome и I предположим и другие. Я ищу общий способ настройки предпочтений загрузки браузера при запуске с Selenium. – treep

ответ

0

Почему вы не используете cURL или Guzzle для выполнения такой задачи, как загрузка?

Я хотел бы предложить вам получить ссылку на файл с помощью behat, а затем

$content = file_get_contents("file_link.txt"); 

Или another stackoverflow solution using Guzzle

use GuzzleHttp\Client; 

$client = new Client([ 
    'base_url' => 'http://example.com', 
    'defaults' => [ 
    'auth' => ['user', 'pass'], 
]]); 

$xmlData = $client->get('/file.xml'); 
+0

А я, наверное, забыл упомянуть: на странице есть кнопка «Загрузить». Я хочу проверить, что загрузка начинается _upon нажатием кнопки_. Я хотел сделать это так, чтобы я придерживался того, как будет выглядеть фактическое взаимодействие с пользователем. Я могу заставить его работать с file_get_contents, если вместо того, чтобы на самом деле щелкнуть, я просто получаю ссылку на кнопку и получаю содержимое оттуда. Если вы посмотрите на браузер, так как тест идет, это даже не будет отображаться как щелчок. На самом деле вы ничего не увидите о «загрузке». – treep

Смежные вопросы