воскресенье, 4 мая 2014 г.

HTTP-authentication in request.

Когда мешает HTTP-authentication. Достаточно в запросе добавить заголовок (в примере используется зендовская модель запроса):

$this->setHeaders("Authorization", "Basic ".base64_encode('user:password'));
 И в заголовках получится что-то наподобие:
  Authorization: Basic ZWx1c3VhcmlvOnlsYWNsYXZl

четверг, 13 февраля 2014 г.

JS Submit ALERT/CONFIRM. Selenium

   Для написания теста на selenium, столкнулся с необходимостью, подверждения confirm'a. Тк в драйвере селениума нет стандартного решения для подверждения конфирма, то пришлось пойти таким путем:
        $this->getSession()->executeScript("window.confirm = function() {return true;};");
        $this->getSession()->executeScript("document.getElementsByClassName('form-buttons')[1].getElementsByTagName('button')[2].click();");

    Вот это window.confirm = function() {return true;};  переписывает стандартную функцию confirm, на функцию которая всегда возвращает true, вместо окошка confirm.
    Аналогично, можно сдлеать и с alert, но в selenium'e для него имеется такое решение:
        $this->getSession()->getDriver()->getWebDriverSession()->accept_alert();

Позже решил что прошлый код не безопасен и переписал его на:
        $this->getSession()->executeScript("window.confirm = function() {return true;};");
        $this->getSession()->executeScript("
        var order_buttons = document.getElementsByClassName('form-buttons')[0].getElementsByTagName('button');
        for(var i=0; i<order_buttons.length; i++){
            if(order_buttons[i].title == 'Cancel'){
                order_buttons[i].click();
            }
        }
        ");

четверг, 23 января 2014 г.

Сессия в PHP. Введение

Прежде чем начать изучать сессии нужно установить следующие полезности в firefox.

- http://www.bitstorm.org/extensions/view-cookies/ - позволяет быстро просмотрtть cookie текущей страницы через Ctrl-I, вкладка cookie;
- https://addons.mozilla.org/en-US/firefox/addon/closen-forget/?src=search быстро удаляет историю(+ печеньки) выбранной страницы.
Сессии и cookies предназначены для хранения сведений о пользователях при переходах между несколькими страницами. Данные сессии хранятся во временных файлах на сервере. Файлы с cookies хранятся на компьютере пользователя, и по запросу отсылаются на сервер.

Как узнать какой процесс грузит HDD? [Linux]

Программа iotop - для каждого процесса показывает скорость чтения/записи на HDD.

Программа lsof - для каждого файла, который открыт на чтение/запись показывает имя процесса.