2013-12-12 3 views
1

Я некоторое время работал над тестовым скриптом и нашел то, что, по моему мнению, является проблемой, которую я не могу решить. Из исследования я обнаружил, что тесты выполняются на главной машине, а не на узлах, это нормально, пока я не хочу проверить, что файл загружен в каталог, в котором я использую Linux в качестве моей машины разработки, а окна - это мои узловые машины, поэтому путь отформатирован для Linux и смотрит на хост-машину не на узел. Вот мой код, который получает путь.Selenium Grid - Путь к файлу Python

os.path.isfile(os.path.expanduser('~') + '/Downloads/mpdf.pdf') 

Это путь я вернусь

/home/ben/Downloads/mpdf.pdf 

Кто-нибудь есть какие-либо идеи, как я мог бы получить путь от машины узла и проверить для файла.

+0

все это субъективно, но если бы я был вами, я бы сделал веб-службу, чтобы узлы также помещали все файлы, поэтому файлы не будут находиться на одном конкретном узле. управлять этим способом намного проще. – sircapsalot

+0

Это звучит как разумная идея, просто не хотят тратить годы на разработку чего-то, что работает для небольшой части тестов. – bobthemac

+0

думают о долгосрочной перспективе, хотя - если все ваши загруженные файлы находятся в коллективном месте - это было бы полезно :) Такие решения, как это, намного эффективнее и эффективнее. считайте это инвестицией – sircapsalot

ответ

0

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

responce = urllib2.urlopen('http://address.co/download') 
assert responce.getcode() == 200 

Это мое решение и, похоже, работает, и мне больше не нужно загружать файл, который лучше работает на пропускной способности сервера, на котором я запускаю свои тесты.

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