- Форум тестировщиков
- → Публикации dguminsk
Публикации dguminsk
44 публикаций создано dguminsk (учитываются публикации только с 28 апреля 2023)
По типу контента
По пользователю
#110053 Хотелось бы понять: в чём причина неудачи
Отправлено автор: dguminsk 21 сентября 2012 - 13:37 в Начинающему тестировщику
Знакомое до боли задание =)))
Если все еще интересует что ,почему и как, пишите в ЛС, все поясню
Если все еще интересует что ,почему и как, пишите в ЛС, все поясню
#110365 Как нажать кнопку [Down] n раз
Отправлено автор: dguminsk 27 сентября 2012 - 13:15 в SmartBear (AutomatedQA) - Functional Testing
Если я правильно понял ваш вопрос, то код примерно такой:Доброго времени суток.
Собственно вопрос: есть цикл в котором нужно нажать например кнопку [Down] n раз, при чем значение n наращивается. Можно как то это сделать?
var a, count = 1; //Ваш цикл while(true) { a = 0; //Цикл для нажатия на кнопку while (a < count){ Sys.Keys("[Down]"); a++; } count++; }И все конечно же зависит от вашего объекта. Т.е. если например вы хотите делать нажатия в своем приложении, тогда метод Keys надо писать как-то так:
NameMapping.Sys.Process("notepad").bla-bla-bla.Keys("[Down]");
#103844 Проверка подключения к интернету
Отправлено автор: dguminsk 10 апреля 2012 - 07:37 в SmartBear (AutomatedQA) - Functional Testing
До, Вы правы, русская версия винды. Но вот теперь возникает следующий вопрос - Вместо Lost=0 пишет потеряно = 0. Но русские символы в данную строчку кода не катят. Что-то я совсем невнимательный и не могу разобраться в чем делоЕсли у вас локаль не английская, то паттерн "Lost = 0" надо заменить на локализованный.
Про пинг теоритически понятно, а вот как это будет выглядеть на практике?
Я просто не представляю как это реализовать. запустить cmd команду на пинг из TC смогу, а вот как получить результат пинга и как его обработать?!
Хотя... вот красивый вариант по факу:function isConnectionUp(){ var shell = new ActiveXObject("WScript.Shell"); var WshShellObj = new ActiveXObject("WScript.Shell"); var WshShellExecObj = WshShellObj.Exec("cmd.exe"); readTillChar(WshShellExecObj, ">"); WshShellExecObj.StdIn.Write("ping ya.ru\n"); var out = readTillChar(WshShellExecObj, ">"); var lostPattern = /.*Lost = 0.*/; return lostPattern.test(out); } function readTillChar(WshShellExecObj, endChar){ var out = ""; var curChar; while (!WshShellExecObj.StdOut.AtEndOfStream) { curChar = WshShellExecObj.StdOut.Read(1); out += curChar; if (curChar == endChar) break; } return out; } function test(){ Log.Message(isConnectionUp()); }
Странно, просто скопировал данный пример и вставил в проект. запустил и всегда возвращает false
#103847 Проверка подключения к интернету
Отправлено автор: dguminsk 10 апреля 2012 - 07:52 в SmartBear (AutomatedQA) - Functional Testing
C WMI возможно стоит разобраться, правда фигово, что там Vbscript. А насчет данного кода (все таки хочется разобраться, и так сказать добить его) Все равно возвращает false. Пробовал только цифры вставлять - все ок, с русским текстом - никак. Возможно кодировки другие?
До, Вы правы, русская версия винды. Но вот теперь возникает следующий вопрос - Вместо Lost=0 пишет потеряно = 0. Но русские символы в данную строчку кода не катят. Что-то я совсем невнимательный и не могу разобраться в чем делоvar lostPattern = new RegExp(".*потеряно = 0.*")
А вообще выше предложили вариант с WMI, который куда как лучше.
#103855 Проверка подключения к интернету
Отправлено автор: dguminsk 10 апреля 2012 - 09:01 в SmartBear (AutomatedQA) - Functional Testing
Не серчайте пожалуйста, но с WMI что-то очень тяжко. Я немного не улавливаю логику (видимо не вспался + еще только начинаю разбираться в программинге) но тут такой момент, нашел пример, поштудировал хелп и собрал примерно такую солянку, как на скриншоте. Но отказывается работать. Дайте пожалуйста хотя бы намек, либо примерно готовый вариант. Хочется реально разобраться. Спасибо
Ну, если хочется добить, то добивайте http://stackoverflow...lish-characters . Я забыл, что в JS с юникодом не так просто.
C WMI возможно стоит разобраться, правда фигово, что там Vbscript. А насчет данного кода (все таки хочется разобраться, и так сказать добить его) Все равно возвращает false. Пробовал только цифры вставлять - все ок, с русским текстом - никак. Возможно кодировки другие?
А что касается WMI, то я не очень понимаю в чем проблема. Если не знаете как им пользоваться, то найдите любой пример на JS и просто подставьте в него нужный запрос. Это будет самое надежное и быстрое решение.
Все, разобрался, прошу у всех прощения за отобранное время. Спасибо за помощь.
Все дело в InstanceOf! (точно не выспался). Необходимо использовать ExecQuery.
Вот тебе называется и собрал солянку.
Если я правильно понял, то возвращаемое значение 0 в лог означает - норм. пинг?
Кстати мало ли кому пригодится код:
function Ping(host) { var wmi = GetObject("Winmgmts:"); var eStatus = new Enumerator(wmi.ExecQuery("Select StatusCode from Win32_PingStatus Where Address='" + host + "'")); if (eStatus.item().StatusCode == 0){ Log.Message("Internet OK"); } else{ Log.Message("Internet Isn't OK"); } } function Test() { Ping("ya.ru") }
#103835 Проверка подключения к интернету
Отправлено автор: dguminsk 10 апреля 2012 - 06:25 в SmartBear (AutomatedQA) - Functional Testing
Про пинг теоритически понятно, а вот как это будет выглядеть на практике?
Я просто не представляю как это реализовать. запустить cmd команду на пинг из TC смогу, а вот как получить результат пинга и как его обработать?!
Хотя... вот красивый вариант по факу:function isConnectionUp(){ var shell = new ActiveXObject("WScript.Shell"); var WshShellObj = new ActiveXObject("WScript.Shell"); var WshShellExecObj = WshShellObj.Exec("cmd.exe"); readTillChar(WshShellExecObj, ">"); WshShellExecObj.StdIn.Write("ping ya.ru\n"); var out = readTillChar(WshShellExecObj, ">"); var lostPattern = /.*Lost = 0.*/; return lostPattern.test(out); } function readTillChar(WshShellExecObj, endChar){ var out = ""; var curChar; while (!WshShellExecObj.StdOut.AtEndOfStream) { curChar = WshShellExecObj.StdOut.Read(1); out += curChar; if (curChar == endChar) break; } return out; } function test(){ Log.Message(isConnectionUp()); }
Странно, просто скопировал данный пример и вставил в проект. запустил и всегда возвращает false
#103854 Проверка подключения к интернету
Отправлено автор: dguminsk 10 апреля 2012 - 08:56 в SmartBear (AutomatedQA) - Functional Testing
Не серчайте пожалуйста, но с WMI что-то очень тяжко. Я немного не улавливаю логику (видимо не вспался + еще только начинаю разбираться в программинге) но тут такой момент, нашел пример, поштудировал хелп и собрал примерно такую солянку, как на скриншоте. Но отказывается работать. Дайте пожалуйста хотя бы намек, либо примерно готовый вариант. Хочется реально разобраться. СпасибоНу, если хочется добить, то добивайте http://stackoverflow...lish-characters . Я забыл, что в JS с юникодом не так просто.
C WMI возможно стоит разобраться, правда фигово, что там Vbscript. А насчет данного кода (все таки хочется разобраться, и так сказать добить его) Все равно возвращает false. Пробовал только цифры вставлять - все ок, с русским текстом - никак. Возможно кодировки другие?
А что касается WMI, то я не очень понимаю в чем проблема. Если не знаете как им пользоваться, то найдите любой пример на JS и просто подставьте в него нужный запрос. Это будет самое надежное и быстрое решение.
#103794 Проверка подключения к интернету
Отправлено автор: dguminsk 09 апреля 2012 - 14:49 в SmartBear (AutomatedQA) - Functional Testing
Про пинг теоритически понятно, а вот как это будет выглядеть на практике?
Я просто не представляю как это реализовать. запустить cmd команду на пинг из TC смогу, а вот как получить результат пинга и как его обработать?!
Я просто не представляю как это реализовать. запустить cmd команду на пинг из TC смогу, а вот как получить результат пинга и как его обработать?!
#103749 Проверка подключения к интернету
Отправлено автор: dguminsk 09 апреля 2012 - 07:53 в SmartBear (AutomatedQA) - Functional Testing
Еще раз Здравствуйте.
Задался себе вопросом - а как лучше всего организовать проверку подключения к интернету по средствам TC?
Данным инструментом провожу функциональное тестирование веб-страницы. так вопрос стоит в том, чтобы самым первым делом в тесте шла проверка на наличие интернета. Т.е. если проверка провалилась, тест дальше не шел.
В голове есть вариант (и он на данный момент реализован): Переход на определенный урл (скажем яндекс) и проверка по какому-нибудь элементу, скажем по caption окна браузера. Но тут тоже проверку не всегда можно назвать правдивой - ведь может и кэпшн поменяться и например сайт яндекса ляжет и т.д.
Поделитесь пожалуйста своими умными мыслями по данному поводу.
Спасибо
Задался себе вопросом - а как лучше всего организовать проверку подключения к интернету по средствам TC?
Данным инструментом провожу функциональное тестирование веб-страницы. так вопрос стоит в том, чтобы самым первым делом в тесте шла проверка на наличие интернета. Т.е. если проверка провалилась, тест дальше не шел.
В голове есть вариант (и он на данный момент реализован): Переход на определенный урл (скажем яндекс) и проверка по какому-нибудь элементу, скажем по caption окна браузера. Но тут тоже проверку не всегда можно назвать правдивой - ведь может и кэпшн поменяться и например сайт яндекса ляжет и т.д.
Поделитесь пожалуйста своими умными мыслями по данному поводу.
Спасибо
#106992 Как получить часть пути объекта?
Отправлено автор: dguminsk 22 июня 2012 - 09:51 в SmartBear (AutomatedQA) - Functional Testing
мдааааа.... спасибо большое. Сейчас почитал про ТЭГ модель и понял, что все мои наработанные тесты, могли бы быть намного проще =)))) Честно сказать, даже не задумывался об этом, стандартом tree стояло, так я так и разрабатывал. Тогда возникает след. вопрос - а реально менять модель внутри скрипта?А почему вы не работаете с теговой моделью. так же все значительно проще и нагляднее для веб тестирования
Здравствуйте. Надеюсь на вашу помощь.
Скажем есть 2 объекта.
Путь к первому: Aliases.firefox.Page("*").Panel(0).Cell(1, 6).Link(0) - данный объект мы находим через FindChild и получаем его путь
Путь ко второму: Aliases.firefox.Page("*").Panel(0).Cell(2, 6).Link(0) - Путь к этому объекту необходимо составить вручную, выдрав значение Cell(1, 6) и изменив в нем первую цифру на заведомо известную
Сразу оговорюсь, что путь к первому может меняться (меняться именно вторая цифра значения Cell, первая стационарная.
Как это осуществить?
Надеюсь я нормально объяснил.
Спасибо
#106941 Как получить часть пути объекта?
Отправлено автор: dguminsk 21 июня 2012 - 09:43 в SmartBear (AutomatedQA) - Functional Testing
Здравствуйте. Надеюсь на вашу помощь.
Скажем есть 2 объекта.
Путь к первому: Aliases.firefox.Page("*").Panel(0).Cell(1, 6).Link(0) - данный объект мы находим через FindChild и получаем его путь
Путь ко второму: Aliases.firefox.Page("*").Panel(0).Cell(2, 6).Link(0) - Путь к этому объекту необходимо составить вручную, выдрав значение Cell(1, 6) и изменив в нем первую цифру на заведомо известную
Сразу оговорюсь, что путь к первому может меняться (меняться именно вторая цифра значения Cell, первая стационарная.
Как это осуществить?
Надеюсь я нормально объяснил.
Спасибо
Скажем есть 2 объекта.
Путь к первому: Aliases.firefox.Page("*").Panel(0).Cell(1, 6).Link(0) - данный объект мы находим через FindChild и получаем его путь
Путь ко второму: Aliases.firefox.Page("*").Panel(0).Cell(2, 6).Link(0) - Путь к этому объекту необходимо составить вручную, выдрав значение Cell(1, 6) и изменив в нем первую цифру на заведомо известную
Сразу оговорюсь, что путь к первому может меняться (меняться именно вторая цифра значения Cell, первая стационарная.
Как это осуществить?
Надеюсь я нормально объяснил.
Спасибо
#107001 Как получить часть пути объекта?
Отправлено автор: dguminsk 22 июня 2012 - 12:29 в SmartBear (AutomatedQA) - Functional Testing
Спасибо всем большое, очень помогли. На ТС9 ближайшие пол года-год перехода точно не будет, поэтому буду писать.а реально менять модель внутри скрипта?
Options.Web.TreeModel = "Tag";
Но если вы планируете переходить на TC9, то Tag-модель не стоит использовать, т.к. она там deprecated, и для нее не работают кросс-браузерные плюшки.
#106947 Как получить часть пути объекта?
Отправлено автор: dguminsk 21 июня 2012 - 11:40 в SmartBear (AutomatedQA) - Functional Testing
Спасибо, то, что надо!Может, так?
var colIdx = obj1.Parent.ColumnIndex; var obj2 = obj1.Parent.Parent.Cell(2, colIdx).Link(0);
#106428 Проверка редиректов
Отправлено автор: dguminsk 07 июня 2012 - 08:18 в SmartBear (AutomatedQA) - Functional Testing
Здравствуйте. Подскажите пожалуйсте, возможно ли сделать следующую проверку:
есть урл http://test.ru/ и в .htaccess прописаны 301 редиректы.
Т.е. при заходе на http://test.ru/ идет редирект на http://test.ru (в конце без слеша).
Вопрос: Возможно ли как-то проверить прошел ли редирект по средствам ТС? Понятно, что можно сделать ToUrl а потом считать новый урлик и проверить, но дело в том, что необходимо проверить именно код ответа 301! А вот как его проверить, я вообще ума не приложу.
Надеюсь на Вашу помощь, спасибо
есть урл http://test.ru/ и в .htaccess прописаны 301 редиректы.
Т.е. при заходе на http://test.ru/ идет редирект на http://test.ru (в конце без слеша).
Вопрос: Возможно ли как-то проверить прошел ли редирект по средствам ТС? Понятно, что можно сделать ToUrl а потом считать новый урлик и проверить, но дело в том, что необходимо проверить именно код ответа 301! А вот как его проверить, я вообще ума не приложу.
Надеюсь на Вашу помощь, спасибо
#100884 Selenium RC обработка Alert
Отправлено автор: dguminsk 11 февраля 2012 - 10:04 в Selenium - Functional Testing
Всем привет. Я только начал познавать автоматизацию в RC (Java). Столкнулся с проблемой обработки Alert. Надеюсь на вашу помощь.
Исходные данные - есть страница с формой Логин, пароль, мыло и кнопкой сабмит. После ввода всех данных и нажатия кнопки выскакивает Alert.
задача - считать алерт и сравнить его с некоторым текстом. Т.е. если они совпадают, то тест выполнен правильно. Уже вторые сутки бьюсь, нифига не выходит, тесты не проходят. Т.е. не видит алерта и все.
В Eclipse мой код выглядит так:
Привожу листинг тестируемой страницы:
Исходные данные - есть страница с формой Логин, пароль, мыло и кнопкой сабмит. После ввода всех данных и нажатия кнопки выскакивает Alert.
задача - считать алерт и сравнить его с некоторым текстом. Т.е. если они совпадают, то тест выполнен правильно. Уже вторые сутки бьюсь, нифига не выходит, тесты не проходят. Т.е. не видит алерта и все.
В Eclipse мой код выглядит так:
package com.example.tests;
import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;
public class test1 extends SeleneseTestCase {
public void setUp() throws Exception {
setUp("C:\testpage.html", "*googlechrome");
}
public void testTest1() throws Exception {
selenium.open("/");
selenium.type("name=email", "test@test");
selenium.type("name=login", "12345");
selenium.type("name=pass", "12345");
selenium.click("css=input[type=\"submit\"]");
selenium.waitForCondition("selenium.isAlertPresent()", "1000");
assertTrue( selenium.isAlertPresent() );
assertEquals( selenium.getAlert(), " Недопустимая длина поля " );
}
}
}
Привожу листинг тестируемой страницы:
<HTML>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
<head>
</head>
<body>
<form id="myForm" action="add.php" method="post">
<table>
<tr><td>email</td><td><input type="text" name="email"></td></tr>
<tr><td>Логин</td><td><input type="text" name="login"></td></tr>
<tr><td>Пароль</td><td><input type="text" name="pass"></td></tr>
</table>
<input type="submit" value="Регистрация" />
</form>
<div id="result" style="padding:5px;">
</div>
<script type="text/javascript">
parts=String(document.location).split("?",2)[1].split("&");
GET={};
for (i=0; i<parts.length; i++) {
curr = parts[i].split('=');
GET[curr[0]] = curr[1];
if (curr[1] == 1) { alert('Вы успешно зарегестрированны')}
if (curr[1] == 2) { alert('Неверно ведён Логин')}
if (curr[1] == 3) { alert('Неверно ведён Пароль')}
if (curr[1] == 4) { alert('Заполните поле Логин')}
if (curr[1] == 5) { alert('Неправильно введён email')}
if (curr[1] == 6) { alert('Введите все поля')}
if (curr[1] == 7) { alert('Ошибка!')}
if (curr[1] == 8) { alert('Вы уже зарегестрированы')}
if (curr[1] == 9) { alert('Недопустимая длина поля')}
}
</script>
</script>
</body>
</html>
#100890 Selenium RC обработка Alert
Отправлено автор: dguminsk 11 февраля 2012 - 13:31 в Selenium - Functional Testing
Теперь понял =) Просто в quote совсем другой кусочек текста был, поэтому не сообразилУ вас в заголовке указано
Крайне сочувствую, все такое.Уже все волосы на голове выдрал.
#100889 Selenium RC обработка Alert
Отправлено автор: dguminsk 11 февраля 2012 - 13:30 в Selenium - Functional Testing
А по поводу топика уже разобрался (умные люди помогли), суть в том, что невозможно обработать ошибку, т.к. javascript отрабатывает до полной загрузки страницы
#100887 Selenium RC обработка Alert
Отправлено автор: dguminsk 11 февраля 2012 - 13:27 в Selenium - Functional Testing
Совсем не понял Вашего юмора...Если сейчас попытаться продать вам патентованное средство для выращивания волос - это будет верхом цинизма?Я только начал познавать автоматизацию в RC (Java).
#107788 Скриншот случае ошибки
Отправлено автор: dguminsk 19 июля 2012 - 13:20 в SmartBear (AutomatedQA) - Functional Testing
Здравствуйте, возможно данный вопрос поднимался, но не нашел.
В тесте бывают ошибки, связанные с ненахождением элемента, например стоит такой if
if (Aliases.firefox.Page(*).Panel(0).Exists)
и вдруг у нас возникает whitepage и поэтому в лог идет ошибка о ненахождении элемента. Так вот вопрос:
Реально ли как-нибудь автоматически делать скриншот окна браузера, если вдруг произошла данная ошибка.
Спасибо
РЕШЕНИЕ:
Все-таки нашел ответ на форуме.
Проще всего в свойствах проекта (правый клик на имени проекта, Edit - Properties) на вкладке Playback поставить галочку Post image on error, тогда в случае ошибки будет создаваться скриншот всего экрана
В тесте бывают ошибки, связанные с ненахождением элемента, например стоит такой if
if (Aliases.firefox.Page(*).Panel(0).Exists)
и вдруг у нас возникает whitepage и поэтому в лог идет ошибка о ненахождении элемента. Так вот вопрос:
Реально ли как-нибудь автоматически делать скриншот окна браузера, если вдруг произошла данная ошибка.
Спасибо
РЕШЕНИЕ:
Все-таки нашел ответ на форуме.
Проще всего в свойствах проекта (правый клик на имени проекта, Edit - Properties) на вкладке Playback поставить галочку Post image on error, тогда в случае ошибки будет создаваться скриншот всего экрана
#104452 Ftp+testcomplete
Отправлено автор: dguminsk 18 апреля 2012 - 08:49 в SmartBear (AutomatedQA) - Functional Testing
#104434 Ftp+testcomplete
Отправлено автор: dguminsk 18 апреля 2012 - 06:37 в SmartBear (AutomatedQA) - Functional Testing
Здравствуйте. Меня интересует вопрос по работе ТС с ФТП сервером. Т.е. необходимо в какой-то момент теста залить файл на фтп. Понятное дело, что можно данную операцию провернуть как бы визуально, скажем запустить фтп-клиент, выбрать файл, залить и т.д. Но это не совсем интересно. Меня интересует возможно ли обращение и заливка файла на фтп по средствам кода. Думаю суть ясна. Возможно кто-то сталкивался, просто гуглил ничего схожего не нашел.
Спасибо
Спасибо
#105243 Ftp+testcomplete
Отправлено автор: dguminsk 07 мая 2012 - 08:48 в SmartBear (AutomatedQA) - Functional Testing
Все-таки руки дошли, поэтому реализовал, что хотел.
Сделал следующим образом:
Кстати, подскажите люди добрые, как можно из кода запустить бат файл? Я что-то не разобрался ,поэтому пришлось его добавлять как TestedApps?
Сделал следующим образом:
var CommandsVar = "open адрес\nлогин\nпароль\ncd test\nmput файл\ny\nbye"; aqFile.WriteToTextFile("C:\\commands.txt", CommandsVar, 20, true); aqFile.WriteToTextFile("C:\\ftpload.bat", "ftp -s:commands.txt", 20, true); TestedApps.ftpload.Run(1, true);Т.е. создаем текстовый файл с командами, создаем батник, который запустит данные команды и непосредственно запускаем батник
Кстати, подскажите люди добрые, как можно из кода запустить бат файл? Я что-то не разобрался ,поэтому пришлось его добавлять как TestedApps?
#105253 Ftp+testcomplete
Отправлено автор: dguminsk 07 мая 2012 - 14:33 в SmartBear (AutomatedQA) - Functional Testing
Отлично, спасибо, так работает =)По-идее, можно даже обойтись без bat-файла, как-то так:
Sys.OleObject("WScript.Shell").Run("ftp -s:C:\\commands.txt", 1, true);
#106767 Постоянно выходит задержка выполнения скрипта в testcomplete 7.
Отправлено автор: dguminsk 15 июня 2012 - 13:55 в SmartBear (AutomatedQA) - Functional Testing
Исходя из документации, сообщение: Delays the script execution for * milliseconds выводится при использовании aqUtils.Delay в коде. Таймаут отображается по другому. Возможно где-то в коде стоят данные дилеи, посмотрите внимательно, если нет, то будем тогда еще думать)Там стоит значение 10000 мс, так что это, получается, другой параметр.
Какое значение параметра "Auto-wait timeout, ms:" установлено в свойствах проекта в разделе "PlayBack" ?
#104614 Отключить автодополнение (ala intellisense)
Отправлено автор: dguminsk 20 апреля 2012 - 07:41 в SmartBear (AutomatedQA) - Functional Testing
tools/options/panel/code editor/editing/Auto Pop-upУважаемые,
эта фича со всплывающей подсказкой, появляющаяся после каждой точки, сильно мешает.
Каким образом ее настроить что бы вызывалась исключительно по моему хотению?
отключаешь и будет тебе счастье =)
- Форум тестировщиков
- → Публикации dguminsk
- Политика Конфиденциальности
- Правила форума ·