如何在 Microsoft Surface 上自动化非交互式测试

2024-02-19

我们有一套测试(本机库的测试用例),我们希望在 Microsoft Surface(ARM 版本)上运行。从 Visual Studio 中手动完成此操作很容易。然而,我们希望以一种可以编译、安装、运行和收集命令行输出(例如来自 Jenkins CI)的方式自动化该过程。

在 iOS 上,Fruitstrap 可以模拟 XCode 为 iOS 执行类似的任务。是否有 Microsoft/第三方工具可以帮助我们为 Surface 执行此操作?

关于自动化 GUI 测试的问题(测试 Microsoft Surface 应用程序的最佳方法 https://stackoverflow.com/questions/5491714/best-way-to-test-a-microsoft-surface-application)在这种情况下不相关,因为我们没有任何 GUI,问题是从主机以非交互方式在 Surface 上上传和启动应用程序。

编辑:有一个很好的视频,介绍了如何在 VS2012 中使用 Google Test 框架http://www.youtube.com/watch?v=o-Gi6REeGN0 http://www.youtube.com/watch?v=o-Gi6REeGN0但我们的问题是我们想在 Microsoft Surface 而不是主机上运行测试。


我之前使用 psexec 在特定环境上运行测试,看起来 psexec 在 Surface 上运行:

http://technet.microsoft.com/en-us/library/ee692107(v=surface.10).aspx http://technet.microsoft.com/en-us/library/ee692107(v=surface.10).aspx

我不确定您是否可以在表面上运行 mstest.exe 或 nunit.exe,所以如果不能的话,我会制作自己的轻量级测试框架,该框架将生成某种易于解析的输出(可能是 xml)以及测试结果和将其放在一个 .exe 文件中。

所以你的詹金斯构建脚本将具有如下步骤:

[Copy SurfaceTests.exe to \\mySurfaceDevice\c$\testfolder]
psexec.exe \\mySurfaceDevice c:\testfolder\surfacetests.exe  > c:\testfolder\output.xml
[Copy \\mySurfaceDevice\c$\testfolder\output.xml to jenkins folder]

那么你必须配置 jenkins 来解析你的输出。如果您研究 nunit 或 mstest 结果的输出,您可能可以在 Surfacetests.exe 中生成类似的内容,并设置 jenkins,就好像它是由其中之一生成的一样。我没有任何使用 Jenkins 的经验,但在 Cruisecontrol.net 中,制作解析 xml 输出并在构建报告中呈现的 xslt 文件非常容易。

如果 psexec 方法不起作用,我会制作一个始终在设备上运行的小型 wcf 服务主机。该服务有一个方法 (RunTests()),每当调用 Surfacetests.exe 时都会执行该方法。或者更好的是,也许只需从存储在磁盘上的程序集运行测试(您必须进行一些反射才能实现此目的),并在方法调用中返回结果。这是一篇文章,解释如何创建将在 Windows 应用商店应用程序上运行的服务

http://www.c-sharpcorner.com/uploadfile/7e39ca/simple-wcf-service-in-windows-store-apps/ http://www.c-sharpcorner.com/uploadfile/7e39ca/simple-wcf-service-in-windows-store-apps/

祝你好运。听起来是一项有趣的任务。请更新您最终如何解决此问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Microsoft Surface 上自动化非交互式测试 的相关文章

  • tmatesoft.svn.core.SVNAuthenticationException:svn:E170001

    我们正在一个遗留项目 maven 中工作来设置devop 詹金斯首发 Jenkins 构建现在没有问题 但是 在将 sonarqube 与 jenkins 集成时 我们收到以下错误 ERROR Error during SonarQube
  • PHPUnit - 使用配置文件时“未执行测试”

    问题 为了提高代码质量 我决定尝试学习如何使用单元测试来测试我的代码 而不是使用平庸的最佳测试解决方案 我决定使用 Composer 安装 PHPUnit 作为个人库 它可以让我实现常见的数据库功能 起初我没有 PHPUnit 的配置文件
  • 编辑并继续:“当......时不允许更改”

    即使我创建了一个干净的 WinForms 项目 编辑并继续 也不起作用并给出错误 当调试器已附加到已运行的进程或正在调试的代码在构建或运行时进行了优化时 不允许进行更改 在 工具 选项 调试 中选中 编辑并继续 选项 未启用优化 似乎没有设
  • 使用带有 OnException 定义的adviceWith进行Camel路由测试

    我有一个非常简单的 Camel 路由定义 其中只包含一些 OnException 谓词来处理相应的异常和一些日志语句 from hazelcast seda someQueue id someQueueID onException Cust
  • CSV 提供的数据源第一列中存在奇数字符

    我有一个 CSV 文件 已添加到 Visual Studio 单元测试项目中 它有七列 如下所示 assessmentitemid reviewer1 reviewer2 reviewer3 reviewer4 reviewer5 revi
  • 来自 jenkins api 的节点标签

    有什么方法可以从 jenkins API 中提取节点标签吗 这standard https wiki jenkins ci org display JENKINS Remote access API base url computer no
  • 在unittest.main()之后执行命令

    我从另一个 Python 脚本调用以下脚本 测试 py 日志文件 它应该运行测试并将结果保存在日志文件中 但由于某种原因 之后的命令unittest main testRunner runner 没有被执行 我什至不确定文件写入后是否会关闭
  • ASP.NET 网站“发布”与 Web 部署项目

    如果我决定对 ASP NET 网站使用 发布 选项 而不是 Web 部署项目 我可以执行自定义 msbuild 操作吗 或者 如果我想在编译 部署期间执行自定义 msbuild 操作 我是否需要坚持使用 WDP 我认为发布选项是 VS NE
  • 让设计者为 UserControl 的简单 List 属性生成 AddRange

    我创建了一个新的用户控件 如下所示 public partial class MyControl UserControl List
  • Seam 和 Mock 有什么区别?

    自从我使用 java 遗留代码以来已经有几个月了 这是我正在处理的一些事情 0 测试覆盖率 巨大的函数有时我什至看到有的代码超过300行 许多私有方法 有时还有静态方法 高度紧密耦合的代码 一开始我很困惑 我发现在遗留系统中使用TDD很难
  • 是否可以使用 Visual Studio 调试器的监视窗口来监视内存位置的值?

    是的 我知道有四个内存窗口 但我更喜欢在监视窗口中显示单个值 并且我想知道是否可以指定要在监视窗口中监视的内存位置 单独放置地址只会计算出十六进制地址 如果您想监视特定的内存位置 那么您需要告诉调试器该位置中的对象的类型 而不仅仅是0x00
  • index.g.cshtml 在哪里

    我正在尝试完成本教程 但是 通常 当我构建解决方案时 我会得到一个CS0234错误指出文件中缺少命名空间Index g cshtml cd 但是这个文件存在于哪里呢 我努力了 所有构建 清理 重建解决方案选项 我已重新启动 Visual S
  • 如何从詹金斯管道获取所有参数(参数化构建)?

    我正在较新版本的 jenkins 中构建一个参数化管道作业 在较旧版本的 jenkins 中 我使用 getbinding getVariables 来检索所有参数 但较新的版本它返回空值 如何在新版本的詹金斯中检索参数 全部 您可以使用
  • 使用 F5 时,finally 似乎没有在 C# 控制台应用程序中执行

    int i 0 try int j 10 i catch IOException e finally Console WriteLine In finally Console ReadLine 在VS2008中按F5时 finally块似乎
  • 运行 t4 脚本作为 resx 文件的自定义工具

    我有一个资源文件MyResource resx 我想改变MyResource Designer cs文件生成 我有一个 t4 脚本 它接受 resx 文件作为输入并给出结果转换 但是 我必须手动运行此 t4 才能使其工作 我看到 resx
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • 詹金斯没有运行任何作业

    我在尝试解决其他一些问题时成功地破坏了詹金斯 现在 每当我运行作业时 它都会立即失败并出现以下错误 java lang NullPointerException at java util TreeMap putAll TreeMap jav
  • 使用覆盖率信息测试 Go 中的 os.Exit 场景 (coveralls.io/Goveralls)

    这个问题 如何在 Go 中测试 os exit 场景 https stackoverflow com questions 26225513 how to test os exit scenarios in go 以及其中得票最高的答案 列出
  • 主游戏循环中的时间计算

    Quake 2 主游戏循环实现中有这样的代码 if initialized let base retain 16 bits of effectively random data base timeGetTime 0xffff0000 ini
  • 引用的程序集自动由 Visual Studio 替换

    我有 2 个项目 一个可移植类库和一个常规单元测试项目 在可移植类库中 我使用 NuGet 来引用 Microsoft BCL 可移植包 它附带 2 个程序集 System Threading Tasks dll and System Ru

随机推荐

  • 如何使用 boto3 提交 Mechanical Turk 外部问题

    我正在尝试使用 boto3 以编程方式创建一个关于 Mechanical Turk 的问题 但我似乎做错了一些事情 因为ExternalQuestion所需的数据结构create hit似乎不见了 我尝试像这样创建 HIT import b
  • 节点集群工作人员内存使用情况

    有谁知道是否有一种独立于平台的方法来获取工作人员的内存使用情况 我希望它会像这样工作 console log App process memoryUsage process memoryUsage cluster on online fun
  • Mac OS X(雪豹)上的 NI VISA + pyVisa

    有人使用 NI GPIB 模块在 Snow Leopard 上成功运行 pyVisa 吗 根据我在 NI 网站上阅读的所有论坛 NI VISA 和 pyVisa 的组合似乎无法在 Max OS X 上完成 麻烦的是 NI 网站有 NI VI
  • Facebook SDK 登录对话框出现两次

    在我的项目中 下一个代码向用户源发送一些消息 facebook authorize permissions delegate self facebook dialog feed andParams params andDelegate se
  • JavaScript 按钮样式单击时更改

    我已经将这段 JavaScript 放在一起 但由于我是新手 所以我在代码上遇到了困难 我想要做的是 当单击按钮时 它将更改背景颜色的不透明度 下面的代码执行此操作 但现在我希望再次单击按钮时将其恢复到正常状态 我怎样才能做到这一点 谢谢
  • getter 和 setters 不工作目标 c

    我不能在 Objective C 中这样做吗 interface Foo NSObject int apple int banana property int fruitCount end implementation Foo synthe
  • 当我的编译器告诉我正在使用不安全或未经检查的操作时,这意味着什么?

    我的程序编译得很好 但我的控制台输出以下内容 jGRASP exec javac g CreditGraphics java Note CreditGraphics java uses unchecked or unsafe operati
  • 当存在调试代码时如何禁止 git 提交

    我有一些调试代码 我想确保我不会提交到 Git 就像是 void myImportantFunction while true MyCode ifndef NDEBUG TODO remove before commit std this
  • yytext[0]是什么意思?

    yytext 0 是什么意思 为什么我们要在 lex 和 yacc 程序中使用 我是学习者 所以不要介意这是一个愚蠢的问题 yytext 保存与当前标记匹配的文本 因此 yytext 0 保存与当前标记匹配的文本的第一个字符 有时您有一个可
  • 将文本字段的输入存储在 PHP 变量中[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 将用户从文本字段输入的内容存储在变量
  • “?”有什么作用?意思是下面的语句

    请原谅我的 新手 问题 但是问号 到底是什么 下面这行代码的意思是 self navigationItem leftBarButtonItem title editing NSLocalizedString Done Done NSLoca
  • 设置 (M x N x N) 矩阵对角线的快速方法? Einsum / n 维 fill_diagonal?

    我正在尝试编写基于矩阵的快速 优化的代码 并且最近发现 einsum 作为实现显着加速的工具 是否可以使用它来有效地设置多维数组的对角线 或者它只能返回数据 在我的问题中 我尝试通过对每个方阵 N x N 矩阵中的列求和来设置方阵数组 形状
  • 使用 mapply cbind 两个列表中的元素

    如果我有两个清单 L1 lt list a1 a2 a3 L2 lt list b1 b2 b3 获取新列表的最佳方式是什么 L3 lt list c1 c2 c3 使得 c1 lt cbind a1 b1 c2 lt cbind a2 b
  • 如何在 XSL 中使用 count() 函数 - 尝试计算报告中“A”的数量

    我正在尝试计算数量A 学校报告里有吗 这是报告
  • 使用根 CA 签名者生成自签名证书

    场景 我正在使用 PowerShellWindows Server 2012r2生成根证书并希望使用它在动态生成 和销毁 的开发 测试环境中签署新创建的中间证书和 Web 证书 这些脚本是远程部署的 目的是尽可能保持纯 PowerShell
  • Android IAP的Java服务器端验证

    我想通过我的中央游戏服务器上的 Google API 验证 Android IAP 有很多关于此的部分信息 这让我大吃一惊 我还没有支付 25 欧元成为 Google 开发者 因为我不确定我是否能够让它发挥作用 进行 IAP 时 会返回一个
  • 将 PHP 对象传递给 javascript [重复]

    这个问题在这里已经有答案了 我在 php 中有对象 每个对象代表一个 项目 以及与其关联的所有信息 当用户浏览页面时 这些对象应该传递给javascript 理想情况下 镜像相同的结构 这样我就可以使用 Raphael 在我的网站上将每个项
  • NHibernate 防止延迟加载不匹配的引用

    我对 NHibernate 有很大的疑问 我有从 Table1 到 Table2 的引用 并且我希望 NHibernate 在 Table2 中找不到相应记录时 不要针对 Table2 发出 SELECT 语句 我不知道 要确保它实际上不在
  • Android:在服务类中读取NFC标签

    我正在开发一个应用程序 我需要读取存储在 NFC 标签中的数据 我所说的数据是指简单的整数值 例如 0 1 2 3 等 从 NFC 读取数据的功能在 Activity 类中工作正常 但我需要在后台运行应用程序 因此即使应用程序未在前台运行
  • 如何在 Microsoft Surface 上自动化非交互式测试

    我们有一套测试 本机库的测试用例 我们希望在 Microsoft Surface ARM 版本 上运行 从 Visual Studio 中手动完成此操作很容易 然而 我们希望以一种可以编译 安装 运行和收集命令行输出 例如来自 Jenkin