понедельник, 15 апреля 2013 г.

Добавление сертификата к jvm


При запуске Java-программы (приложения, автотеста и пр., которая работает с веб-сервисами) происходит ошибка:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: 
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target

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

keytool -import -noprompt -trustcacerts -alias <alias> -file <certificate> -keystore "<path\to\java\cacerts>"
Например:
keytool -import -noprompt -trustcacerts -alias alias -file C:\\something.crt -keystore "C:\Program Files (x86)\Java\jre7\lib\security\cacerts"

Если запросит пароль, то дефолтный пароль для хранилища "changeit".

Консоль при этом надо запускать от имени администратора, иначе может возникнуть ошибка доступа к файлу cacerts Access Denied.

Просмотреть список имеющихся сертификатов можно с помощью команды:

keytool -list -v  -keystore <keystore.file> -storepass <keystore.pass>
Для просмотра списка установленных сертификатов пароль не нужен (Можно просто нажать Enter, увидев в консоли запрос пароля)

вторник, 9 апреля 2013 г.

Где можно скачать браузеры разных версий

Часто для тестирования необходимы браузеры разных версий, а на официальном сайте их иногда сложно найти.
На сайте http://www.oldapps.com/category/browsers можно скачать разные версии для оффлайновой установки.
Также на этом сайте можно скачать и другие приложения разных версий.

понедельник, 8 апреля 2013 г.

Эмуляция нажатия клавиш Selenium


Для нажатия клавиш в автотестах можно использовать клас java.awt.Robot      
Нажатие ENTER  будет выглядеть следующим образом:

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);


При запуске BPWin требует SHW32.DLL

    Если после установки при запуске BPWin требует  SHW32.DLL то нужно переустановить программу, указав при запуске установщика режим совместимости с Windows XP. В этом случае он все распакует корректно.
   Искать эту dll отдельно не имеет смысла, после её добавления в системную папку появляются новые ошибки, например: "не хватает порядкового номера 294 в библиотеке SHW32.DLL"

Запрет обновления Chrome

    При использовании Selenium или других инструментов автоматизированного тестирования автоматическое обновление браузера может принести проблемы, связанные с тем, что обновление драйвера Selenium (или других плагинов) не успевает за обновлением браузера.
Чтобы запретить Chrome обновляться нужно выполнить в консоли следующие команды:


reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update" /v UpdateDefault /t REG_DWORD /d 0 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update" /v AutoUpdateCheckPeriodMinutes /t REG_DWORD /d 0 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update" /v DisableAutoUpdateChecksCheckboxValue /t REG_DWORD /d 1 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update" /v Update{8A69D345-D564-463C-AFF1-A69D9E530F96} /t REG_DWORD /d 0 /f


    После этого на вкладке Help будет написано, что обновление отключено администратором: