Перейти к содержимому

modbear

Регистрация: 18 апр 2007
Offline Активность: 02 дек 2016 09:45
*****

#118532 Проблема с переходом к процессу

Написано modbear 07 июня 2013 - 08:27

Несколько замечаний:
  • При проверке точно надо использовать IsOpen? IsOpen - это индикатор того, является ли приложение т.н. open app'ом, т.е. видны ли TestComplete'у нативные свойства/методы его объектов. msiexec, по-моему, никак не open app. Чтобы проверить, видно ли приложение на экране, надо у окна приложения проверять Visible или VisibleOnScreen.
  • В Find-методах не используйте Name. Name - это составное свойство, в данном случае состоящее из WndClass и WndCaption. Надо искать по этим конкретным свойствам. Так синтаксис проще - не запутаетесь с " ' кавычками.
  • От цикла можно избавиться, если перенести проверку IsOpen в условие поиска:

    var p = Sys.FindСhild(["ProcessName", "IsOpen"], ["msiexec", true], 1);
    p.FindChild(["WndClass", "WndCaption"], ["Button", "&Yes"], 1).Click();

  • 1


#112425 Как использовать CSS и XPath в TestComplete 9?

Написано modbear 29 ноября 2012 - 10:12

Если имеются ввиду CSS селекторы, то они тоже поддерживаются - см. Page.QuerySelector и Page.QuerySelectorAll.
  • 1


#112420 TestComplete + Excel - как заставить забирать все данные из Excel файл

Написано modbear 29 ноября 2012 - 08:43

Что значит "не работает"? Запостите сюда полный текст и Additional Information ошибки из лога.

Навскидку - попробуйте заменить в Excel'е Navigate("http://drom.ru/") на Run("http://drom.ru/"). Navigate подразумевает, что браузер уже запущен, иначе будет ошибка; а Run сам запускает браузер.
  • 1


#112418 Как использовать CSS и XPath в TestComplete 9?

Написано modbear 29 ноября 2012 - 08:31

Вы написали, что используете TC 9. Метод FindChildByXPath появился в версии 9.10, так что если у вас 9.0 - надо обновиться.

Если же скрипт не работает в 9.10 - запостите сюда полный текст ошибки и Additional Information из лога.
  • 1


#112341 Как использовать CSS и XPath в TestComplete 9?

Написано modbear 28 ноября 2012 - 07:51

У меня ваш скрипт работает нормально.

Возможно, проблема из-за того, что перед запуском скрипта вы не закрыли браузер, в нем было открыто несколько табов, и Page("*") нашел не ту страницу. В таком случае надо использовать Page(url) вместо Page("*"). И url лучше писать полностью, с http:// и / на конце - в точности, как в адресной строке браузера.

Попробуйте так:
var url = "http://mail.ru/";
Browsers.Item(btIExplorer).Run(url);
var page = Sys.Browser().Page(url);

...

  • 1


#112336 TestComplete + Excel - как заставить забирать все данные из Excel файл

Написано modbear 28 ноября 2012 - 07:05

Так же, eval'ом:
var oExcel = Sys.OleObject("Excel.Application");
var oWorkbook = oExcel.Workbooks.Open("C:\\functions.xlsx");

eval(oWorkbook.Sheets("Sheet1").Cells(1, 1).Text); // Загружаем функцию login
login();

eval(oWorkbook.Sheets("Sheet2").Cells(1, 1).Text); // Загружаем функцию logout
logout();

  • 1


#112242 Как использовать CSS и XPath в TestComplete 9?

Написано modbear 27 ноября 2012 - 07:02

Нужно использовать метод Page.FindChildByXPath, как-то так:
var obj = Sys.Browser().Page("http://example.com").FindChildByXPath("//*[@id='ctl00_mnuMainn4']/table/tbody/tr/td/a");
obj.Click();
obj.Keys("12345");

  • 1


#112241 TestComplete + Excel - как заставить забирать все данные из Excel файл

Написано modbear 27 ноября 2012 - 06:57

Для конвертации строки "Aliases.browser.blahblahblah" в собственно объект Aliases.browser.blahblahblah нужно использовать eval:
var obj = eval("Aliases.browser.blahblahblah");
Т.е. в Вашем случае будет что-то вроде:
var passwordBox = eval(InputData.value("locator"));

  • 1


#110368 Как нажать кнопку [Down] n раз

Написано modbear 27 сентября 2012 - 14:19

Одной строкой можно так:
// JScript
Sys.Keys( Array(n+1).join("[Down]") );

  • 2


#109619 Сохранение изображения

Написано modbear 11 сентября 2012 - 14:57

Попробуйте сделать картинке scrollIntoView() перед снятием скриншота:

Aliases.firefox.Page("*").Form("aspnetForm").Panel(2).Image("bla-bla-bla").scrollIntoView();

MyImage = Aliases.firefox.Page("*").Form("aspnetForm").Panel(2).Image("bla-bla-bla").Picture();
MyImage.SaveToFile("C:\\1.jpg");

  • 1


#109217 DB Connection в TestComplete

Написано modbear 30 августа 2012 - 10:07

USEUNIT должен быть без ";"
//USEUNIT DB_Connection

  • 1


#108100 Красная рамка

Написано modbear 30 июля 2012 - 09:14

Вот здесь есть пример:
HighlightObject + OnScreenObject.Picture
  • 1


#107000 Как получить часть пути объекта?

Написано modbear 22 июня 2012 - 12:26

а реально менять модель внутри скрипта?

Options.Web.TreeModel = "Tag";

Но если вы планируете переходить на TC9, то Tag-модель не стоит использовать, т.к. она там deprecated, и для нее не работают кросс-браузерные плюшки.
  • 1


#106945 Как получить часть пути объекта?

Написано modbear 21 июня 2012 - 11:28

Может, так?
var colIdx = obj1.Parent.ColumnIndex;
var obj2 = obj1.Parent.Parent.Cell(2, colIdx).Link(0);
 
  • 1


#106677 TimeOut

Написано modbear 14 июня 2012 - 08:49

Options.Run.Timeout = 5000; // 5 sec

  • 2