Право, в документах MySQL говорится: "Вы не можете обратиться к TEMPORARY
таблица несколько раз в том же запросе".
Вот альтернативный запрос, который должен найти те же строки, хотя все условия соответствия строкам не будут в отдельных столбцах, они будут в разделенном запятыми списке.
SELECT f1.baseID, GROUP_CONCAT(f1.condition)
FROM search f1
WHERE f1.condition IN (, , ... )
GROUP BY f1.baseID
HAVING COUNT(*) = ;
Есть несколько вариантов:
Вы можете использовать Selenium Grid, чтобы браузер открывался на совершенно другой машине (или виртуальной машине), к которой вы затем можете подключиться через VNC или Remote Desktop Connection, если вы хотите увидеть браузер. Также есть еще один вариант: если вы запустите процесс переднего плана Jenkins на этом удаленном сервере, он сможет выполнить ваш тестовый проект на рабочем столе.
Вы можете запустить Selenium «без головы» в Linux в XVFB. Я никогда не пробовал делать это и сомневаюсь, что это того стоит. http://www.alittlemadness.com/2008/03/05/running-selenium-headless/
Вы можете заключить Selenium RC в службу Windows. http://support.microsoft.com/kb/137890 . За исключением того, что ограничения разрешений в более поздних версиях Windows, вероятно, не позволят Selenium получить доступ к рабочему столу, как Windows 2000, которую мы использовали для этого.
Другой вариант - использовать что-то вроде WebDriver HTMLUnitDriver, который не запускает «настоящий» браузер. http://code.google.com/p/webdriver/ . Также есть опция PhantomJS и «безголовый Chrome», который вы можете использовать.
Конечно, есть также возможность использовать такую службу, как SauceLabs, где вы можете запускать свои тесты в облаке. После того, как ваши тесты будут завершены, вы можете посмотреть видео о том, как они работают.
+1 для Selenium RC как службы Windows.
Я думаю, что для полностью скрытого запуска тестов у вас не так много решений, если вы работаете в Windows.
Что бы я сделал, чтобы выделить компьютер в вашей локальной сети, чтобы он был постоянно в сети и имел работающий сервер Selenium RC. Таким образом, вы используете IP-адрес этого компьютера вместо localhost для запуска ваших тестов. Например:
browser = selenium("10.15.12.34",4444,"*firefox","http://saucelabs.com")
(учитывая, что это IP-адрес компьютера, на котором запущен сервер).
После такой настройки вы запускаете тесты на своем компьютере, браузеры и окно RC-сервера находятся на другом компьютере, а затем возвращайтесь к твоему однажды сделанному.
Если вы работаете в Windows, один из вариантов - запустить тесты под другой учетной записью пользователя . Это означает, что браузер и Java-сервер не будут видны вашей учетной записи.