我正在使用 Appium + WebDriverIO 为 React Native 应用程序运行 E2E 测试。
我有两种能力。一款用于 Android 模拟器,一款用于 iOS 模拟器。
我希望这些功能中的每一个都在两个单独的模拟器上并行运行,但让我的测试单独运行。
问题:
这些功能确实是并行运行的,但我的所有测试也是如此。这是一个大问题,因为所有测试都在同时控制同一个模拟器,所以它们最终都失败了。
如果我只有一个测试“spec”文件,一切正常。
我尝试在我的
maxInstances: 2
文件中设置 wdio.conf.js
,但这会导致 iOS 功能运行两次,而不是在两者之间拆分。
我不认为我做了什么不寻常的事。这是我的
wdio.conf.js
的相关部分:
export const config = {
capabilities: [
// Android
{
platformName: "Android",
automationName: "UiAutomator2",
app: "./path/to/apk/app-debug.apk",
deviceName: "Pixel_4_API_30",
platformVersion: "11.0",
},
// iOS
{
platformName: "iOS",
automationName: "XCUITest",
deviceName: "iPhone 11",
platformVersion: "13.5",
app: "./path/to/app/My App Name.app",
},
],
maxInstances: 10, // This was the default generated by the CLI
// ...
};
如何防止测试并行运行,同时仍允许测试在两个模拟器上并行运行?
我认为它会是
maxInstancesPerCapability
在 wdio.config 文件中