问题
我正在使用Android Studio运行Appium测试。通过AVD管理器,我有两个模拟器,一个用于Nexus,另一个用于Pixel。如果我想在我的Nexus上运行测试,它总是在Pixel上运行。不知道为什么。
环境
Appium version: v1.6.5
Last Appium version that did not exhibit the issue (if applicable):
Desktop OS/version used to run Appium: Windows 7
Mobile platform/version under test: Android 7.1.1
Real device or emulator/simulator: Emulator
Android Studio Version: 2.3.3
Details
我正在使用Android Studio运行Appium测试。通过AVD管理器,我有两个模拟器,一个用于Nexus,另一个用于Pixel。如果我想在我的Nexus上运行测试,它总是在Pixel上运行。不知道为什么。我正在使用所需功能设置设备,设备名称无法区分设备。虽然我已经指定了Nexus设备名称,但它总是在Pixel上运行。我首先通过Android AVD Manager和Pixel创建了Nexus模拟器。
代码重现问题
设备配置:
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.setCapability("deviceName", "Nexus_5X_API_25");
desiredCapabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");
desiredCapabilities.setCapability(CapabilityType.VERSION, "7.1.1");
desiredCapabilities.setCapability("platformName", "Android");
desiredCapabilities.setCapability("appPackage", "com.android.calculator2");
desiredCapabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
driver1 = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), desiredCapabilities);
driver1.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
使用命令行的设备列表
C:\Users\balnanad>android list avd
" android"命令已弃用。
对于手动SDK,AVD和项目管理,请使用Android Studio。
对于命令行工具,请使用tools\bin\sdkmanager.bat
和tools\bin\avdmanager.bat
调用" C:\ Users \ balnanad \ AppData \ Local \ Android \ sdk \ tools \ bin \ avdmanag AVD
Available Android Virtual Devices:
Name: Nexus_5X_API_25
Device: Nexus 5X (Google)
Path: C:\Users\balnanad.android\avd\Nexus_5X_API_25.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.1.1 (Nougat) Tag/ABI: google_apis/x86
Skin: nexus_5x
Sdcard: 100M
Name: Pixel_XL_API_25
Device: pixel_xl (Google)
Path: C:\Users\balnanad.android\avd\Pixel_XL_API_25.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.1.1 (Nougat) Tag/ABI: google_apis/x86
Skin: pixel_xl
Sdcard: 100M
C:\用户\ balnanad>
答案 0 :(得分:1)
添加udid
desiredCapabilities.setCapability("udid", "Nexus_5X_API_25")