if-else in testcomplete

时间:2013-11-05 10:33:11

标签: testing automation testcomplete

我有应用程序“应用程序”,它具有与skype,QQ等相同的自动化服务(您必须使用您的登录名/密码登录) 我需要在这个应用程序的设置中测试一些功能,所以我使用testcomplete:

  1. 我需要运行应用程序
  2. 转到设置
  3. 改变一些事情
  4. 保存
  5. 而且非常简单。但是如果你被记录下来,我需要重现这样的场景:

    1. 运行应用程序 1.1。如果记录 - 使用(testlogin / testpassword)
    2. 记录
    3. 转到设置
    4. 改变一些事情
    5. 保存
    6. 如何在TestComplete中重现此类功能? 我是新手,所以我需要帮助:) 感谢

3 个答案:

答案 0 :(得分:3)

让您的测试检查是否显示登录窗口。您可以使用Wait*方法之一执行此操作。如果显示登录窗口,则调用将执行登录的测试例程/关键字测试,然后继续常规测试流程。

...
var loginWindow = Sys.Process("Application").WaitWinFormsObject("loginDialog", 3000);
if (loginWindow.Exists) {
  doLogin();
}
...
function doLogin()
{
  // perform login
}

答案 1 :(得分:0)

虽然你的答案是完全正确的,但我想知道这是否可行:

如果loginWindow不存在,TC会给出错误,是否可以忽略此错误并将其保留在日志之外,除了锁定日志或禁用日志?

与Java或C#类似:

if(object.Exists)
  do something;
else
  do other thing;

这会在TC中引发错误而我不想要它,因为我已经在检查对象是否存在...

答案 2 :(得分:0)

您不能在不存在的对象上使用方法。

解决方法是首先检查一个对象,然后像这样使用Exists方法..

if (object && object.Exists) {
    // doSomething
} else {
    // doSomethingElse
}