问题标签 [device-emulation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arm - 除了 QEMU,还有其他用户模式仿真工具吗?
我目前正在搜索用户模式仿真工具来自定义 ARM 设备的图像。如此处所述:Qemu-ARM 用户仿真。使用 Go 时出错QEMU 无法正常使用 Go,我现在正在寻找替代方案。
rspec - 升级到 chromedriver 2.30 后,错误:无法解析功能:chromeOptions/无法解析 mobileEmulation/'Apple iPhone 6' 必须是有效设备
在我们用 Ruby 编写的 Capybara/Rspec 套件中,我们使用一个特殊的驱动程序来测试触摸交互和移动屏幕尺寸。
此代码适用于 Chromedriver 2.28
我们在 spec/spec_helper.rb 中的设置
上面的代码在 Chromedriver 2.28 中工作
检查确切版本:
升级到 Chromedriver 2.30 后,上面的代码在升级后破坏了似乎违反规范的版本:
红宝石规范失败:
1) 妹子选择器查看手机妹子选择器应该在页面Failure/Error: visit "/products/boxer-briefs"
qemu - Qemu Aarch64 支持的板子
几年前,我开始学习 Arm 架构。我找到了 Qemu,并使用它的 realview a8 仿真板基于 Armv7 进行编程。该板有一个 LCD 控制器、一个中断控制器等。我可以找到他们所有的规格,最后做了一个非常非常基本的调度程序,在 Arm 汇编中对所有内容进行编程,这很酷。然后我停下来忙我的工作。
现在我正试图回到它,这次是使用 Armv8 和 AArch64。但我找不到 AArch64 支持哪些板。查询 Qemu 会显示 qemu-system-arm 和 qemu-system-aarch64 的相同板列表。甚至基于 Armv7 的 a8、a9 和 A15 板也出现在 qemu-system-aarch64 列表中。这是否意味着没有板仿真,我应该针对 A53 之类的特定 cpu 进行编程(正如我在网上的一些示例中看到的那样)。
ios - 当我在 xcode 中的任何模拟器上运行程序时,尺寸都很好,但是当我在自己的 iPhone 上运行时,按钮位于不同的位置
我正在制作一个计算器应用程序,但无法弄清楚可能导致此问题的原因。我有故事板的动态布局,我可以在 xcode 中的任何 iPhone 版本/iPad 版本上运行我的应用程序,并且一切都正确布局。然而,一旦我在自己的 iPhone 5s 上运行它,按钮就完全不同了,它们会移动、调整大小并且不再有数字。
我很困惑,因为我什至尝试在 iPhone 5s 模拟器上运行与我的 iPhone 相同的 ios 并且运行良好。
这里有什么我没有考虑的吗?
ios - 我可以在连接到 Windows 机器的 iOS 设备上运行 nativescript 应用吗
当我想在本地 Windows 机器上的 iOS模拟器上运行 nativescript 应用程序时,我了解限制。但是是否可以使用以下 CLI 命令在连接到 Windows 的iOS设备上运行该应用程序?
如果 tns 可以生成,即将原生脚本编译为 iOS 平台原生文件,那么为了在连接的 iOS 设备上运行 iOS 应用程序缺少什么?
qemu - 如何在 QEMU 中模拟 SATA 磁盘驱动器
我想在 QEMU 中模拟 SATA 磁盘驱动器来检查我正在尝试开发的设备驱动程序。如何才能做到这一点?非常感谢您的帮助。
android - Android Studio 模拟器错误和问题
我在运行 android studio 模拟器时遇到问题。我尝试了很多在线解决方案,但是我没有找到适合我所拥有场景的任何解决方案。起点是:* Windows 7, 8gbRam, 64bit。* 全新安装的 android studio 环境(IDE、SDK 等)。* 一个简单的项目(“hello world”) * AVD 管理器中的设备定义。
现在,我正在运行设备并等待它启动。我正在此设备上运行应用程序,并且构建正在开始。然后设备崩溃。然后我尝试再次启动它,在它启动后,它再次崩溃并继续记录错误。我正在重新启动 Android Studio。然后在 AVD 管理器中,我有一条消息说没有安装模拟器。然后我按下安装,什么也没有发生……另一个奇怪的事情是 avd.exe 已从 android sdk 文件夹中的平台工具中删除。在卸载所有环境并再次安装后,这种情况再次发生(我的意思是删除所有内容,包括 JVM、SDK、IDE ......)我做了一个屏幕录制...... https://youtu.be/ 9XVsQF7QufA
请帮我解决这个问题...我一个多月没有找到解决方案...谢谢。
performance-testing - 在现代硬件上模拟旧的慢速处理器的最佳方法?
我真的很喜欢在旧硬件上运行、优化我的软件的想法,因为当事情变慢(或变快!)时,你可以发自内心地感受到。最明显的方法是购买一个旧系统并将其用于开发,但这会降低我的 IDE、编译器和所有其他开发任务,这不太有用,而且(可能)是不必要的。
我希望能够:
- 按需以各种性能级别运行我的应用程序
- 同时全速运行我的IDE、调试器、编译器
- 在单个系统上
很高兴有:
- 以一定的准确性模拟真实的、特定的旧系统
- 同样限制内存速度和大小
- 可选择缓慢运行我的构建系统
gcc - 在使用 MinGW 构建的标准可执行文件中捕获内存访问
所以我的问题听起来像这样。
我有一些依赖于平台的代码(嵌入式系统),它们写入一些在特定地址硬编码的 MMIO 位置。
我在标准可执行文件(主要用于测试)中使用一些管理代码编译此代码,但也用于模拟(因为在实际硬件平台中查找基本错误需要更长的时间)。
为了减轻硬编码的指针,我只是将它们重新定义为内存池中的一些变量。这非常有效。
问题是在某些 MMIO 位置(例如 w1c)上存在特定的硬件行为,这使得“正确”测试变得几乎不可能。
这些是我想到的解决方案:
1 - 以某种方式重新定义对这些寄存器的访问并尝试插入一些立即函数来模拟动态行为。这并不是真正可用的,因为有多种方法可以写入 MMIO 位置(指针和东西)。
2 - 以某种方式将地址硬编码并通过段错误捕获非法访问,找到触发的位置,准确提取访问的位置,处理并返回。我不确定这将如何工作(即使可能)。
3 - 使用某种仿真。这肯定会奏效,但它会破坏在标准计算机上快速和本地运行的全部目的。
4 - 虚拟化 ?? 可能需要很多时间来实施。不确定收益是否合理。
有谁知道这是否可以在不深入的情况下完成?也许有一种方法可以以某种方式操纵编译器来定义一个内存区域,每次访问都会生成一个回调。不是 x86/gcc 方面的专家。
编辑:似乎真的不可能以独立于平台的方式做到这一点,而且由于它只是 Windows,我将使用可用的 API(这似乎按预期工作)。在这里找到这个 Q:
我会将整个“模拟”寄存器文件放在多个页面中,保护它们,并触发一个回调,我将从中提取所有必要的信息,做我的事情然后继续执行。
谢谢大家的回复。
android - 两个模拟器之间的 Android Studio 测试
好的,我有两个模拟器在运行。我想编写一个测试,其中一台设备使用 VOIP 呼叫另一台设备。我的目标是自动化 VOIP 测试。
在测试类中定义了一个successCount
变量来验证测试是否成功。
我需要在我的测试课上采取的步骤:
- 使用设备 A 登录 SIP 服务器。
- 使用设备 B 登录 SIP 服务器。
- 设备 A 调用设备 B(成功计数加 1)。
- 设备 B 接听电话(成功计数加 1)。
- 设备 B 在 5 秒后挂断(成功计数增加 1)。
- 断言成功计数等于 3。
现在我遇到的问题是设备上的步骤顺序。例如,在设备 B 登录到 SIP 服务器后,我需要告诉设备 A 呼叫设备 B。目前我无法在仪器测试或单元测试中完成此操作。
有谁知道在 Android Studio 的两个设备模拟器中顺序执行(单元/仪表化)测试代码的解决方案?这甚至可能吗?