我有一个Delphi应用程序,它有许多依赖项,并且很难重构它以使用DUnit(它很大),所以我考虑使用像AutomatedQA的TestComplete这样的东西从前端UI进行测试.
我的主要问题是错误修复或新功能有时会破坏之前测试过的旧代码(手动),并且用于工作.
我已经设置了应用程序以使用命令行开关来打开可以测试的特定表单,并且我可以创建一组需要完成的值和点击.
但在我做任何激烈的事情之前我有几个问题......(在购买之前)
我用PHP运行Selenium RC.我运行一个简单的登录测试,成功完成,但在关闭浏览器之前,我收到以下错误:
23:50:09.969 INFO - 命令请求:testComplete [,]在会话d7a1effeabc24b0b9b46ad6fdb3eebec 23:50:09.969信息 - 杀死谷歌Chrome ... 23:50:10.286信息 - 得到结果:确定会话d7a1effeabc24b0b9b46ad6fdb3eebec 23:50:10.349 INFO - 命令请求:getLocation [,] on session null 23:50:10.351 ERROR - 在会话上运行'getLocation'命令的异常null.java.lang.OullPointerException:sessionId不应为null; 这个会议已经开始了吗?在Org.openqa.selenium.server.SeleniumResourceHandler的org.openqa.selenium.server.commands.SeleniumCoreCommand.execute(SeleniumCoreCommand.java:34)上的org.openqa.selenium.server.FrameGroupCommandQueueSet.getQueueSet(FrameGroupCommandQueueSet.java:216) .doCommand(SeleniumDriverResourceHandler.java:562)org.openqa.selenium.java:357)at org.openqa.jetty.util.ThreadPool $ PoolThread.run(ThreadPool.java:534)23:50:10.364 INFO - 得到的结果:ERROR服务器异常:sessionId不应为null; 这个会议已经开始了吗?在会话上null
我找不到解决办法......请帮忙.
我们一直在使用FinalBuilder作为Delphi项目的持续集成服务器.
目前,我们的构建由subversion签入自动触发,dUnit测试在构建单元测试可执行文件后运行,AQtime生成测试覆盖率统计信息,同时运行单元测试可执行文件.
我们的下一个目标是让我们的回归套件(在TestComplete 7中开发)作为夜间进程运行.我们已尝试通过COM启动TestComplete的vbs脚本和FinalBuilder本身附带的TestComplete任务.两种方法都以TestComplete方式启动,并且在交互式运行FinalBuilder项目时成功运行应用程序.
但是当我们将作业提交给FinalBuilder服务器时,TestComplete脚本崩溃,因为TestComplete似乎无法读取应用程序屏幕.我们认为这可以通过允许每个服务(TestComplete和FinalBuilder)与桌面交互来解决,但这不起作用.
有没有人能够让TestComplete 7项目在FinalBuilder中正常工作?
当应用程序在使用测试完成启动的Windows Server 2008 R2上运行时,将从mscorwks.dll引发异常代码C0000005.其他平台(Windows XP,Server 2003 R2,Windows 7 32位和64位)不会出现此异常.
来自单个执行的事件日志具有以下许多事件,其中事件ID 1023由.NET运行时引发:
.NET运行时版本2.0.50727.4952 - 致命执行引擎错误(7383851A)(80131506)
应用程序本身使用Visual Studio从WSDL文件生成的SOAP接口,具有嵌入式互操作的COM对象,并以.NET 4 为目标.
运行sfc/scannow,发现受影响系统上的系统文件没有问题.
可以通过哪些故障排除来确定解决方案?
c# exception testcomplete mscorwks.dll windows-server-2008-r2
我们正在尝试使用TestComplete在我们的日常构建中集成测试,到目前为止,我们有一台专用于测试的机器,我们的构建脚本会将TestComplete测试所需的一切复制到此机器(应用程序,数据库,测试脚本项目和源文件等) .
基本上我们可以手动打开TestComplete项目并运行测试.
现在我们想要自动化这个过程,那你怎么做呢?或者您认为如何成为实现这种自动化的最简单,最好的方法?
保持简短,我们希望在每次构建后自动执行打开TestComplete的过程,运行所有测试并发送包含测试结果的电子邮件.
任何人都可以分享一些经验吗?
谢谢.
build-automation automated-tests dailybuilds finalbuilder testcomplete
我们正在使用AQTime的TestComplete来测试客户端的GUI和我们的客户端/服务器应用程序.它是使用Delphi 2007编译的.客户端源大约有140万个源代码.硬件是采用Windows XP Pro的Intel双核2.13 Mhz,2 GB RAM.
我使用所有调试选项编译应用程序,并且还链接到TCOpenApp,tcOpenAppClasses,tcPublicInfo,tcDUnitSupport,如文档中所述,以使其成为Open Application.生成的exe文件大约为50 MB.
现在,当运行testscript并且它工作,但运行非常慢.CPU运行速度为100%,由于速度慢,更改测试脚本有点令人沮丧.我已经关闭所有桌面效果,如圆角窗口.没有桌面背景.
其他任何有相同经验甚至解决方案的人?
我正在尝试使用TestComplete在ESXi虚拟机中设置自动GUI测试.据我所知,问题在于,当没有与ESXi虚拟机建立远程桌面连接时,TestComplete不可能执行屏幕捕获并因此自动执行GUI测试.据我了解,这是因为当没有人查看时,Windows不会生成任何用户界面.
我确定其他人都遇到过这个问题.你是怎么解决的?您是否使用第三方计算机在运行测试之前自动启动远程桌面连接?
是否可以从无头虚拟机启动远程桌面到另一个虚拟机来伪造某人观看?
还有其他更智能的解决方案吗?
我正在Delphi 5中构建一个项目.我已经成功构建了项目并生成了输出exe.直到这个状态一切正常.现在我在生成的exe上使用测试自动化工具'TestComplete'.但在TestComplete中,只有已发布的属性可见.我无法看到私人和公共财产.TestComplete文档提出了一种在调试Debug选项的情况下构建exe的方法.为此我修改了项目 - >选项 - >链接器 - >执行和DLL选项 - >包含TD32调试信息的设置,并尝试构建项目,但我收到"[致命错误]内部错误:DBG2439".我尝试关闭delphi并再次打开项目.我还尝试删除所有DCU.但每次都得到同样的错误.任何人都可以帮我这个.谢谢您的帮助.
Testcomplete链接或参考:http://support.smartbear.com/viewarticle/29770/
谷歌搜索时有一个链接,但没有理解步骤.任何人都可以帮助我理解.它真的很吸引人. https://groups.google.com/forum/?fromgroups#!msg/borland.public.delphi.ide/PDJUVyFbfQ8/huCmBa3eCVIJ
我们正在使用TeamCity开始测试。TeamCity代理在运行Windows Server 2012的无头计算机(由Hyper-V管理)的主VM上作为服务运行。
现在,Get-DisplayResolution返回1024X728。并尝试使用更改显示分辨率时Set-DisplayResolution,它返回:
T h e s e t t i n g s p a s s e d i n c o u l d n o t b e a p p l i e d t o t h e g r a p h i c s d e v i c e .
看来这台机器正在使用Microsoft的Basic Display Adapater驱动程序(因为没有实际显示),并且该驱动程序将分辨率固定为1024x768(虚拟分辨率)。但是要执行测试,我们希望具有1920x1080的分辨率。我们不是直接在这台机器上执行UI测试,而是TestComplete将在从属计算机上创建不同的RDP连接以启动UI测试。这些RDP连接将使用主机的分辨率。这就是为什么我们希望在TeamCity代理所在的主服务器上获得更好的解决方案。
是否可以使用Hyper-V更改此分辨率,或者可以使用Powershell脚本或其他方法通过TeamCity更改显示设置?
感谢您的回答,
卡米尔
我正在尝试使用 Windows 最新映像在 Microsoft Azure 托管代理上运行 TestComplete 自动化测试项目。测试永远不会结束,最终会出现 60 分钟的作业超时。
我已将测试超时减少到 5 分钟,并将测试可视化器屏幕截图上传到管道工件,我可以看到我的测试失败,因为 Chrome 首次在顶部显示“打开广告隐私功能”对话框。我的应用程序。
在运行测试之前,我可以调用命令行来禁用此功能吗?或者我是否需要在测试套件中编写特定检查的代码来手动清除此对话框?
testcomplete ×10
delphi ×4
finalbuilder ×2
azure-agent ×1
c# ×1
dailybuilds ×1
esxi ×1
exception ×1
gui-testing ×1
headless ×1
mscorwks.dll ×1
null ×1
oracle ×1
phpunit ×1
resolution ×1
session ×1
teamcity ×1
testing ×1
vmware ×1