У нас в компании зарождается новый проект. Написан будет на flex. Поставлена задача ресерча тулзов для автоматического тестирования flex. В наличии уже имеется TC 6.12, попросили сравнить с QTP. Вот и стали интересны минусы/плюсы тестирования flex'a с помощью QTP и TestComplete.
Насколько я знаю TC разпознает обьекты flex и их пропети с помощью MSAA, QTP делает так же? какие минусы работы через MSAA?
Поделитесь опытом пожалуйста.
Selenium - Functional Testing -> Реакция на "Click" [error] There was an unexpected Alert
2009-04-09 15:28 vitorg
Пишу тесты недавно, ипользую PHPUnit и Selenium IDE. Прошу помочь с проблемой клика в Selenium IDE по конкретному элементу. Или что значит: [error] There was an unexpected Alert! [Fail undefined]. Как обойти ошибку выполнения теста? Перед тем как кликнуть на елемент (который загружает pop-up окно). Делаю проверку этой ссылки waitForElementPresent, verifyElementPresent - все окей, элемент link=... есть. Но дальнейшая команда Click по ней, дает [error] There was an unexpected Alert! [Fail undefined]. Удивляет что кликнув "ручками"(после остановки теста error-ом по тойже команде "Click") - он выполняет клик.
В дополнение:##### Код { ##### <a id="addwebs" href="#">Add Websites</a> ##### Код } ##### , это кусочек XHTML, моего элемента, по которому я кликаю.
AutomatedQA - Functional Testing -> поиск в Excel
2009-04-09 15:36 Danre
Имеется следующая задача: найти в любом документе Excel ячейки с ошибками типа "#ИМЯ" и т.п. Проблема в том, что диапазон поиска заранее неизвестен (ни количество строк, ни количество столбцов). Можно конечно тупо проийтись по массиву ячеек 1000х1000, но не факт что строк будет не 2300 или более (а может и менее), тоже самое и со столбцами.
Данную задачу можно как мне кажется эффективно решить вызовом метода Excel'a Find().
##### Код { ##### var MsExcel = Sys["OleObject"]("Excel.Application"); var temp = MsExcel["Workbooks"]["Item"](1)["Sheets"]["Item"](1)["UsedRange"]["Find"](........) ##### Код } #####
пример на Delphi (http://www.assalom.com/tag/find"]) ##### Код { ##### UsedRange := ISheet.UsedRange[0]; IDispatch(IFirst) := UsedRange.Find(What:=’Text’, LookIn := xlValues, SearchDirection := xlNext); ##### Код } #####
Теперь собственно главный вопрос - какие параметры передавать в этом методе?? Вызов типа var temp = MsExcel["Workbooks"]["Item"](1)["Sheets"]["Item"](1)["UsedRange"]["Find"]("Text", xlValues, xlNext); вызывает ошибку.
Excel.Range Fruits = Application.get_Range("A1", "B3"); // You should specify all these parameters every time you call this method, // since they can be overridden in the user interface. currentFind = Fruits.Find("apples", missing, Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false, missing, missing);
while(currentFind != null) { // Keep track of the first range you find. if (firstFind == null) { firstFind = currentFind; }
// If you didn't move to a new range, you are done. else if (currentFind.get_Address(missing, missing, Excel.XlReferenceStyle.xlA1, missing, missing) == firstFind.get_Address(missing, missing, Excel.XlReferenceStyle.xlA1, missing, missing)) { break; }
currentFind = Fruits.FindNext(currentFind); } } ##### Код } #####
AutomatedQA - Functional Testing -> TestComplete 5 и RDC
2009-04-09 16:05 eugene_l
Здравствуйте. У нас возникла такая проблема - при запуске тестов через Remote Desktop или VNC они могут несколько раз пройти, но после очередного запуска (неизвестно, после какого - проблема плавающая) скрипт перестает видеть контрол - в частности, поле для ввода логина. Там довольно нехилый test suite, скрипты полностью отрабатывают где-то за 3-4 часа. Так вот иной раз контрол перестает быть виден почти сразу, а иногда можно запускать скрипты хоть несколько раз подряд, и все проходят целиком.
Подскажите, пожалуйста, если кто сталкивался с такой проблемой, как ее решить?
TestComplete 5.11, тесты написаны на DelphiScript. Код выглядит так: [codebox] function ARAdmin: OleVariant; var p; begin try p:=Sys.WaitProcess('ArAdminUtilAutoQA', 40000); if p.exists then WaitForProcessResponding(p); result:=p; except raise('Exception while wating AR Admin Process '+ ExceptionMessage); end; end;
function ARAdmin_LoginForm:OleVariant; begin try result:=ARAdmin.WaitWindow(cstrWinFormsWndClassAdmin, cstrARAdmin_LoginWindow_Text,1,10000); GUICheckResult(result, 'ARAdmin_LoginForm'); except raise(ExceptionMessage); end; end;
function ARAdmin_LoginForm_txtLogin: OleVariant; begin try result:=ARAdmin_LoginForm.login_txt; GUICheckResult(result,'ARAdmin_LoginForm_txtLogin'); except raise(ExceptionMessage); end; end; [/codebox]
И вот через какое-то время функция ARAdmin_LoginForm_txtLogin выбрасывает эксепшн.