2014-12-25 7 views
1

Я использую selenium FirefoxDriver в своих тестах, и я запускаю эти тесты параллельно - в каждом потоке выполняется отдельный экземпляр Firefox. Все отлично работает, когда я использую обычный FireFox, но если я хочу, чтобы запустить эти тесты с Firefox Portable, первый случай запуска успешно, но второй, третий и т.д. ... терпит неудачу с этой ошибкой:Как запустить несколько экземпляров портативного браузера Firefox с помощью Selenium FirefoxDriver

Your Firefox profile cannot be loaded. It may be missing or inaccessible.

Это как я запускаю Firefox из кода:

var profile = new FirefoxProfileManager().GetProfile("default"); 
var firefoxBinary = new FirefoxBinary("Path to FireFoxPortable.exe"); 
_driver = new FirefoxDriver(firefoxBinary, profile); 

Любые идеи, что я делаю неправильно? Спасибо.

+0

Попробуйте использовать testNG с селеном для параллельного тестирования. –

+0

Не уверен, что testNG каким-либо образом решает основную проблему, связанную с Firefox Portable и профили ... –

ответ

3

Драйвер Firefox пытается запустить Firefox с использованием профиля, который уже используется. Это невозможно, так как профиль можно использовать только один раз. Причина, по которой он работает при запуске Firefox вручную несколько раз, заключается в том, что Firefox повторно использует существующий запущенный Firefox-процесс с уже загруженным профилем.

Основываясь на этой информации, решение вашей проблемы состоит в том, чтобы 1) иметь Firefox-драйвер, запускающий Firefox с уникальными/новыми профилями, 2) изменить свой код, чтобы требовался только один экземпляр драйвера Firefox.

Чтобы запустить Firefox с несколькими экземплярами, используйте: firefox.exe -P «Мой профиль» -no-remote. Не нужно, чтобы параметр -no-remote не использовался с первым запущенным профилем, который в вашем случае будет «профилем по умолчанию». Подробнее об этом здесь: http://kb.mozillazine.org/Opening_a_new_instance_of_Firefox_with_another_profile.

Чтобы запустить Firefox Portable с различными профилями, если предыдущие команды не применимы для Firefox Portable, выполните следующие действия: http://portableapps.com/support/firefox_portable#second_profile.

+0

# 1 - хорошо, что Firefox-переносчик имеет только один профиль по умолчанию. Есть ли способ запустить firefox portable с другим профилем? – blast3r