- Форум тестировщиков
- → Публикации mskffo
Публикации mskffo
18 публикаций создано mskffo (учитываются публикации только с 05 мая 2023)
По типу контента
По пользователю
#103649 Получение случайной даты из интервала
Отправлено автор: mskffo 06 апреля 2012 - 10:43 в SmartBear (AutomatedQA) - Functional Testing
Доброго дня!
Имеется интервал дат с 1.01.2000 по 31.12.2010.
Как вы думаете, каким образом можно сгенерировать случайную дату, входящую в этот интервал?
Вопрос очень злободневный, поскольку в скриптах часто приходится использовать именно произвольную дату.
Имеется интервал дат с 1.01.2000 по 31.12.2010.
Как вы думаете, каким образом можно сгенерировать случайную дату, входящую в этот интервал?
Вопрос очень злободневный, поскольку в скриптах часто приходится использовать именно произвольную дату.
#116389 Поиск объектов на web-странице с помощью XPath
Отправлено автор: mskffo 29 марта 2013 - 06:52 в SmartBear (AutomatedQA) - Functional Testing
В продолжение темы или может уже не в тему:
может кто знает, как найти через xpath объект, у которого id формируется динамически при каждом переходе на страницу по шаблону : "sel<3-4 произвольных символа>_chzn". Можно ли использовать какой-либо символ (типа "*"), указывающий на произвольное количество символов в значении id ?
может кто знает, как найти через xpath объект, у которого id формируется динамически при каждом переходе на страницу по шаблону : "sel<3-4 произвольных символа>_chzn". Можно ли использовать какой-либо символ (типа "*"), указывающий на произвольное количество символов в значении id ?
#116089 Поиск объектов на web-странице с помощью XPath
Отправлено автор: mskffo 21 марта 2013 - 07:07 в SmartBear (AutomatedQA) - Functional Testing
Смущает сообщение ошибке. Page точно существует? Поставьте breakpoint, посмотрите что там за объект, есть ли у него метод EvaluateXPath.
Получается что нет такого метода
#116086 Поиск объектов на web-странице с помощью XPath
Отправлено автор: mskffo 21 марта 2013 - 06:54 в SmartBear (AutomatedQA) - Functional Testing
А в Firebug или Chrome Developer Tools ваш XPath работает? Т.е. если там в консоли ввести $x('//div[@class="pole fix"]//li/a[text() = "1"]'), то объект находится?
в FireBuge объект находит так: //div[@class="pole fix"]//li/a[text() = "1"]
#116037 Поиск объектов на web-странице с помощью XPath
Отправлено автор: mskffo 20 марта 2013 - 12:10 в SmartBear (AutomatedQA) - Functional Testing
Доброго дня!
Пытаюсь использовать xpath для поиска объектов на web-странице: найти какую-либо ссылку и по ней кликнуть.
Однако столкнулась с ошибкой "EvaluateXPath(...) - есть null или не является объектом".
Эта ошибка возникает в конструкции
var path = '//div[@class="pole fix"]//li/a[text() = "1"]'
Page.EvaluateXPath(path)[0].Click();// Page - любая станица, открытая в explorer'e
даже если в переменную path задать полный путь, который выдает FirePath: "html/body/article/div/div/div[3]/div/div/nav/ul/li[1]/a"
В чем может быть проблема, есть идеи?
Пытаюсь использовать xpath для поиска объектов на web-странице: найти какую-либо ссылку и по ней кликнуть.
Однако столкнулась с ошибкой "EvaluateXPath(...) - есть null или не является объектом".
Эта ошибка возникает в конструкции
var path = '//div[@class="pole fix"]//li/a[text() = "1"]'
Page.EvaluateXPath(path)[0].Click();// Page - любая станица, открытая в explorer'e
даже если в переменную path задать полный путь, который выдает FirePath: "html/body/article/div/div/div[3]/div/div/nav/ul/li[1]/a"
В чем может быть проблема, есть идеи?
#116066 Поиск объектов на web-странице с помощью XPath
Отправлено автор: mskffo 20 марта 2013 - 17:11 в SmartBear (AutomatedQA) - Functional Testing
В JScript результат функции EvaluateXPath нельзя использовать напрямую, его сначала надо сконвертировать в JScript-массив:
var tmp = Page.EvaluateXPath(path); if (tmp != null) { var arr = (new VBArray(tmp).toArray()); // <--- конвертируем в JScript-массив arr[0].Click(); }
Не помогло, объекты все равно не находятся, даже если указать полный путь к ним :(
#116463 Поиск объектов на web-странице с помощью XPath
Отправлено автор: mskffo 02 апреля 2013 - 04:44 в SmartBear (AutomatedQA) - Functional Testing
Попробуйте так:может кто знает, как найти через xpath объект, у которого id формируется динамически при каждом переходе на страницу по шаблону : "sel<3-4 произвольных символа>_chzn".
//*[starts-with(@id, 'sel') and substring(@id, string-length(@id)-4) = '_chzn']
так тоже не получилось, null возвращается
#115444 TC отправка логов по электронной почте
Отправлено автор: mskffo 06 марта 2013 - 07:47 в SmartBear (AutomatedQA) - Functional Testing
Доброго дня!
Меня просят автоматически по завершении прогона тестов отсылать лог по нескольким адресам корпоративной почты. Лог я сохраняю в формат .mht и помещаю в конкретную папку.
Может кто сталкивался: ТС может выполять рассылку на почту? и если да, то как это можно реализовать?
Заранее благодарю!
Меня просят автоматически по завершении прогона тестов отсылать лог по нескольким адресам корпоративной почты. Лог я сохраняю в формат .mht и помещаю в конкретную папку.
Может кто сталкивался: ТС может выполять рассылку на почту? и если да, то как это можно реализовать?
Заранее благодарю!
#106629 Скрипт для обработки пользовательской формы
Отправлено автор: mskffo 13 июня 2012 - 08:02 в SmartBear (AutomatedQA) - Functional Testing
Доброго времени суток, дамы и господа.
При запуске скрипта открывается форма (скрин приложила).
В TextEdit нужно ввести произвольный номер проекта, состоящий только из 6 цифр. По кнопке "ОК" форма закрывается и введенное значение присваивается глобальной переменной NumProject. По кнопке "Отмена" форма закрывается, скрипт останавливается. По кнопке "Очистить" поле TextEdit очищается.
Помогите, плиз, как описать эти действия с формой.
При запуске скрипта открывается форма (скрин приложила).
В TextEdit нужно ввести произвольный номер проекта, состоящий только из 6 цифр. По кнопке "ОК" форма закрывается и введенное значение присваивается глобальной переменной NumProject. По кнопке "Отмена" форма закрывается, скрипт останавливается. По кнопке "Очистить" поле TextEdit очищается.
Помогите, плиз, как описать эти действия с формой.
#106644 Скрипт для обработки пользовательской формы
Отправлено автор: mskffo 13 июня 2012 - 13:09 в SmartBear (AutomatedQA) - Functional Testing
Спасибо, Ваш ответ очень помог.Сначала общие советы/замечания:
Код - примерно так:
- Кнопке "Отмена" поставьте ModalResult = mrCancel, Cancel = True.
- Вместо TextEdit + кнопка я бы посоветовала использовать компонент TcxButtonEdit, в котором кнопки встроенные. Зайдите в редактор свойства Properties.Buttons и установите кнопке Kind = bkText и Caption = Очистить. Получится так, как на скриншоте в аттаче.
Так лучше в плане user experience - понятно, что кнопка "Очистить" относится именно к данному полю.
К тому же, компоненту TcxButtonEdit можно назначить маску, чтобы запретить ввод невалидных символов (букв и т.п.).- На кнопку "OK" я бы навесила дополнительную проверку, что текст непустой.
function Main() { var frm = UserForms.Form1; var res = frm.ShowModal(); if (res == mrOk) { NumProject = parseInt(frm.cxButtonEdit1.Text); } else { Runner.Stop(); } } // Этот обработчик надо прикрутить к событию OnButtonClick компонента TcxButtonEdit function Form1_cxButtonEdit1_OnButtonClick(Sender, AButtonIndex) { UserForms.Form1.cxButtonEdit1.Text = ""; } // Этот обработчик надо прикрутить к событию OnClick кнопки "ОК" function Form1_cxButton1_OnClick(Sender) { if (UserForms.Form1.cxButtonEdit1.Text == "") { ShowMessage("Пожалуйста, введите номер проекта."); } else { UserForms.Form1.ModalResult = mrOk; } }
Только у меня курсор в cxButtonEdit1 при открытии формы почему-то по центру устанавливается...
#106645 Скрипт для обработки пользовательской формы
Отправлено автор: mskffo 13 июня 2012 - 13:13 в SmartBear (AutomatedQA) - Functional Testing
Спасибо, Ваш ответ очень помог.Сначала общие советы/замечания:
Код - примерно так:
- Кнопке "Отмена" поставьте ModalResult = mrCancel, Cancel = True.
- Вместо TextEdit + кнопка я бы посоветовала использовать компонент TcxButtonEdit, в котором кнопки встроенные. Зайдите в редактор свойства Properties.Buttons и установите кнопке Kind = bkText и Caption = Очистить. Получится так, как на скриншоте в аттаче.
Так лучше в плане user experience - понятно, что кнопка "Очистить" относится именно к данному полю.
К тому же, компоненту TcxButtonEdit можно назначить маску, чтобы запретить ввод невалидных символов (букв и т.п.).- На кнопку "OK" я бы навесила дополнительную проверку, что текст непустой.
function Main() { var frm = UserForms.Form1; var res = frm.ShowModal(); if (res == mrOk) { NumProject = parseInt(frm.cxButtonEdit1.Text); } else { Runner.Stop(); } } // Этот обработчик надо прикрутить к событию OnButtonClick компонента TcxButtonEdit function Form1_cxButtonEdit1_OnButtonClick(Sender, AButtonIndex) { UserForms.Form1.cxButtonEdit1.Text = ""; } // Этот обработчик надо прикрутить к событию OnClick кнопки "ОК" function Form1_cxButton1_OnClick(Sender) { if (UserForms.Form1.cxButtonEdit1.Text == "") { ShowMessage("Пожалуйста, введите номер проекта."); } else { UserForms.Form1.ModalResult = mrOk; } }
Только у меня после появления сообщения о вводе номера проекта и нажатия в нем кнопки "Ок" скрипт прерывается
#106646 Скрипт для обработки пользовательской формы
Отправлено автор: mskffo 13 июня 2012 - 13:18 в SmartBear (AutomatedQA) - Functional Testing
Здесь сама виновата...пробелы в свойстве "Text" стоялиСпасибо, Ваш ответ очень помог.
Сначала общие советы/замечания:Код - примерно так:
- Кнопке "Отмена" поставьте ModalResult = mrCancel, Cancel = True.
- Вместо TextEdit + кнопка я бы посоветовала использовать компонент TcxButtonEdit, в котором кнопки встроенные. Зайдите в редактор свойства Properties.Buttons и установите кнопке Kind = bkText и Caption = Очистить. Получится так, как на скриншоте в аттаче.
Так лучше в плане user experience - понятно, что кнопка "Очистить" относится именно к данному полю.
К тому же, компоненту TcxButtonEdit можно назначить маску, чтобы запретить ввод невалидных символов (букв и т.п.).- На кнопку "OK" я бы навесила дополнительную проверку, что текст непустой.
function Main() { var frm = UserForms.Form1; var res = frm.ShowModal(); if (res == mrOk) { NumProject = parseInt(frm.cxButtonEdit1.Text); } else { Runner.Stop(); } } // Этот обработчик надо прикрутить к событию OnButtonClick компонента TcxButtonEdit function Form1_cxButtonEdit1_OnButtonClick(Sender, AButtonIndex) { UserForms.Form1.cxButtonEdit1.Text = ""; } // Этот обработчик надо прикрутить к событию OnClick кнопки "ОК" function Form1_cxButton1_OnClick(Sender) { if (UserForms.Form1.cxButtonEdit1.Text == "") { ShowMessage("Пожалуйста, введите номер проекта."); } else { UserForms.Form1.ModalResult = mrOk; } }
Только у меня курсор в cxButtonEdit1 при открытии формы почему-то по центру устанавливается...
#106683 Скрипт для обработки пользовательской формы
Отправлено автор: mskffo 14 июня 2012 - 11:04 в SmartBear (AutomatedQA) - Functional Testing
Коллеги, а есть ли какой-нибудь способ дефолтной установки курсора в объект ButtonEdit при открытии пользовательской формы?
#107050 Можно ли написать запрос в БД с использованием переменных
Отправлено автор: mskffo 25 июня 2012 - 06:28 в SmartBear (AutomatedQA) - Functional Testing
В случае использования данной строки скрипт прерывается с ошибкой "Недопустимое имя столбца "undefined", только пока непонятно, что именно имеется в виду.Да и вообще непонятно зачем вам передавать параметры в этот запрос, если можно просто сформировать нужный запрос в виде строки:
FindQry.SQL = 'Select Count(*) as counter FROM ' + tab + ' WHERE ' + field + ' = ' + variab;
#106728 Можно ли написать запрос в БД с использованием переменных
Отправлено автор: mskffo 15 июня 2012 - 06:37 в SmartBear (AutomatedQA) - Functional Testing
Доброго времени суток, уважаемые!
Возник вопрос: можно ли как-то написать универсальный запрос для проверки наличия в БД какого-либо значения.
Конкретный пример:
У меня выполнение данной функции прерывается ошибкой про неверно заданные параметры на строке "FindQry.Open();"
function CheckExistence (table, field, variable)
{
var FindQry = ADO.CreateADOQuery();
FindQry.ConnectionString = "DSN=TestBase";// соединение с базой настроено через "Администратор ODBC"; коннект есть, другие запросы выполняются
FindQry.SQL = 'Select Count(*) as counter FROM :tab WHERE :fiel = :variab';
FindQry.Parameters.ParamByName("tab").Value = table;
FindQry.Parameters.ParamByName("fiel").Value = field;
FindQry.Parameters.ParamByName("variab").Value = variable;
FindQry.Open();
FindQry.First();
var RowCount = VarToInt(FindQry.FieldByName("counter").Value);
FindQry.Close();
Log.Message("RowCount = " + RowCount);
if (RowCount > 0)
{ Log.Error("В базе имеется указанное значение");}
else {Log.Message("В базе нет строк с указанным значением");}
}
function test ()
{
var param;
param = GenerateINN(); // функция генерит уникальный ИНН
CheckExistence("CounterAgent","INN", param);
}
Может, я тут что-то намудрила, а может, такое в принципе нельзя сделать и для проверки каждой таблицы придется писать запрос?
Помогите разобраться.
Возник вопрос: можно ли как-то написать универсальный запрос для проверки наличия в БД какого-либо значения.
Конкретный пример:
У меня выполнение данной функции прерывается ошибкой про неверно заданные параметры на строке "FindQry.Open();"
function CheckExistence (table, field, variable)
{
var FindQry = ADO.CreateADOQuery();
FindQry.ConnectionString = "DSN=TestBase";// соединение с базой настроено через "Администратор ODBC"; коннект есть, другие запросы выполняются
FindQry.SQL = 'Select Count(*) as counter FROM :tab WHERE :fiel = :variab';
FindQry.Parameters.ParamByName("tab").Value = table;
FindQry.Parameters.ParamByName("fiel").Value = field;
FindQry.Parameters.ParamByName("variab").Value = variable;
FindQry.Open();
FindQry.First();
var RowCount = VarToInt(FindQry.FieldByName("counter").Value);
FindQry.Close();
Log.Message("RowCount = " + RowCount);
if (RowCount > 0)
{ Log.Error("В базе имеется указанное значение");}
else {Log.Message("В базе нет строк с указанным значением");}
}
function test ()
{
var param;
param = GenerateINN(); // функция генерит уникальный ИНН
CheckExistence("CounterAgent","INN", param);
}
Может, я тут что-то намудрила, а может, такое в принципе нельзя сделать и для проверки каждой таблицы придется писать запрос?
Помогите разобраться.
#106810 Можно ли написать запрос в БД с использованием переменных
Отправлено автор: mskffo 18 июня 2012 - 07:53 в SmartBear (AutomatedQA) - Functional Testing
Коллеги, у кого-нибудь есть идеи?
Очень надо с этим вопросом разобраться.
Help me please!!!
Очень надо с этим вопросом разобраться.
Help me please!!!
#115362 Отлов ошибок JavaScript на web-странице
Отправлено автор: mskffo 04 марта 2013 - 07:40 в SmartBear (AutomatedQA) - Functional Testing
Доброго дня, уважаемые!
Такой вопрос: есть какие-нибудь способы выполнить проверку на наличие JavaScript'овых ошибок на всех страницах explorer' а во время прогона тестов? При чем проверка должна происходить до того как страница прогрузилась.
Прогулки по интернету в поисках ответа на этот вопрос пока результатов не принесли...может я не там ищу?..
Такой вопрос: есть какие-нибудь способы выполнить проверку на наличие JavaScript'овых ошибок на всех страницах explorer' а во время прогона тестов? При чем проверка должна происходить до того как страница прогрузилась.
Прогулки по интернету в поисках ответа на этот вопрос пока результатов не принесли...может я не там ищу?..
#109862 Дерево Aliases для Silverlight-приложения
Отправлено автор: mskffo 18 сентября 2012 - 05:08 в SmartBear (AutomatedQA) - Functional Testing
Всем доброго утра.
Существует проект для Silverlight-приложения, которым давно никто не занимался. Работа с объектами приложения осуществляется через Aliases. За время простоя проекта многие объекты (в силу кропотливого труда наших славных кодеров) изменили свое положение в дереве объектов. Соответственно, теперь при запуске скриптов тест завершается неудачей всякий раз, когда не находит нужный объект на указанном месте.
В связи с этим возник вопрос: можно ли каким-то чудесным образом автоматически обновить все дерево Aliases (скрипт, функция, обработчик или еще как-то) или мне придется вручную проверять путь каждого объекта (а их количество, боюсь соврать, приближается к тысяче)?
Существует проект для Silverlight-приложения, которым давно никто не занимался. Работа с объектами приложения осуществляется через Aliases. За время простоя проекта многие объекты (в силу кропотливого труда наших славных кодеров) изменили свое положение в дереве объектов. Соответственно, теперь при запуске скриптов тест завершается неудачей всякий раз, когда не находит нужный объект на указанном месте.
В связи с этим возник вопрос: можно ли каким-то чудесным образом автоматически обновить все дерево Aliases (скрипт, функция, обработчик или еще как-то) или мне придется вручную проверять путь каждого объекта (а их количество, боюсь соврать, приближается к тысяче)?
- Форум тестировщиков
- → Публикации mskffo
- Политика Конфиденциальности
- Правила форума ·