首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIATable操作GetCellValue抛出错误“由于缺少或中断从UI自动化继承的API调用失败”

UIATable操作GetCellValue抛出错误“由于缺少或中断从UI自动化继承的API调用失败”
EN

Stack Overflow用户
提问于 2020-07-28 11:52:23
回答 1查看 360关注 0票数 3

我正在使用UI自动化外接程序来自动化和测试Java窗口中包含HTML对象的应用程序。我在对象存储库中识别和保存了UIATable,下面的方法可以很好地工作:

代码语言:javascript
复制
MsgBox UIAWindow("**").UIAObject("**").UIATable("**").RowCount     'Prints 3
MsgBox UIAWindow("**").UIAObject("**").UIATable("**").ColumnCount  'Prints 5

但是,当我尝试使用以下任何方法获取单元格值时:

代码语言:javascript
复制
MsgBox UIAWindow("**").UIAObject("**").UIATable("**").GetCellValue(1,1) 'Error
MsgBox UIAWindow("**").UIAObject("**").UIATable("**").GetCellData(1,1)  'Error
MsgBox UIAWindow("**").UIAObject("**").UIATable("**").GetCellName(1,1)  'Error

我收到一个错误消息,弹出如下消息:

由于无法恢复的错误,测试运行无法继续。<0x80070057>失败是由于从UI自动化继承的缺少或中断的API调用。

我使用的是UFT 14.02。造成这一错误的可能原因是什么?我能做些什么来解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-29 13:07:05

看一看UFT 14产品可用性矩阵。您需要"UFT测试UI自动化外接程序“一节。

UFT支持JavaFX,但UFT中的UI自动化框架不支持HTML。这可能就是为什么有些方法起作用,而另一些方法则不起作用。也就是说,您可以读取java表,但不能验证html内容。

(我假设您是在对javaFX应用程序进行测试?-您只是说java)

值得指出的是,“不支持”并不意味着它将无法工作,只是它还没有经过Microfocus的全面测试和认证。

此外,如果您检查支持页面,它有一个很大的注意事项:

注意:可用的测试对象和方法完全依赖于应用程序中实现的属性和模式。我们建议您熟悉应用程序对象的属性--特别是Control和支持的模式,以了解可以使用哪些测试对象和方法。

因此,错误可能不是你,也可能不是UFT。这可能是被测试应用程序交付的结果。

你可以尝试的东西..。

  • 尝试实际的java外接程序--可以同时使用多个外接程序--即使它只是一个对象的工作。
  • 尝试标准的windows对象标识符。
  • 确认应用程序是为支持Microsoft的UI自动化而构建的
  • 更新最新的UFT (UFT15.01在编写时,现在又称为UFT ),以确保您的库尽可能地更新

如果所有这些都失败了,请告诉我。UFT在GUI方面非常灵活,取决于您需要如何与表交互,我们还可以尝试其他一些解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63133509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档