首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有OpenGL和嵌入式and视图的本地移动应用程序(iOS/Android)测试框架

带有OpenGL和嵌入式and视图的本地移动应用程序(iOS/Android)测试框架
EN

Stack Overflow用户
提问于 2014-02-07 03:18:13
回答 1查看 1.5K关注 0票数 1

我有一个跨平台的移动应用程序,即:

  • 90%用跨平台C++编写
  • 其中8%与平台相关( GUI代码)。对于iOS,我们使用目标C。对于Android,我们使用Java。
  • 其中2%是嵌入式Webviews (WebKit + Webhooks)。

找到一个合适的测试框架是很有挑战性的。

我们可以使用C++进行大量测试。然而,我们希望进行端到端的测试(比如Selenium),在OpenGL视图和Webview中拖拽/双击。

我看过Appium和Selenium,它们可以测试除了OpenGL接口(它触发了WebvViews)之外的所有东西,但是我找不到任何OpenGL测试的例子。

是否有一个很好的测试OpenGL应用程序的框架?

EN

回答 1

Stack Overflow用户

发布于 2014-02-18 10:27:41

我以前写过C++ ()和OpenGL的单元测试。我不知道它为什么不适用于Java。

对我起作用的是:

  • 抽象您的OpenGL上下文提供程序,以便您的其余代码独立于它。在我的例子中,主应用程序使用了Qt的QGLWidget,但是单元测试使用了一个基于pbuffer的程序,我可以在没有窗口基础设施的情况下创建它(除了指定的X11显示器)。后来,我添加了一个“屏幕外台面”(纯软件OpenGL实现),这样他们甚至可以在一个没有GPU的无头构建机器上工作。
  • 将OpenGL代码与GUI代码保持独立。在我的例子中,OpenGL“呈现引擎”对Qt类一无所知(例如鼠标事件)。定义您自己的可测试API,它不与任何特定的GUI概念相关联,并为它编写测试。
  • 在单元测试中,使用glReadPixels读取帧缓冲区中的内容,或者使用一些关于哪些像素应该是特定值的断言,或者沿着回归测试路线,将框架缓冲区捕获与您知道的存储图像进行比较(或者手动验证,或者因为它是从其他参考模型生成的)。
  • 允许在任何图像回归测试中有一点模糊性;大多数OpenGL实现产生的输出略有不同。
  • (不是我干的,但是.)理想情况下,您希望能够通过断言GUI层响应GUI活动对呈现引擎进行预期的调用来测试GUI层。如果它这样做了,而且你对你的渲染层有信心,因为上面的测试.其实没必要做渲染。因此,创建一个合适的渲染层模拟对象,以便在GUI测试时使用(我可以想象像“鼠标从这里拖到那里会导致调用呈现层来设置特定的转换矩阵”这样的测试。类似的东西)。

希望能帮上忙!我在..。参考文献Automated testing for OpenGL application

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

https://stackoverflow.com/questions/21618630

复制
相关文章

相似问题

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