如何将WebDriver连接到安卓端Edge实例运行自动化测试脚本?
你存在两个核心配置错误:
- 混淆了msedgedriver驱动本身的启动参数和Edge浏览器的启动参数:
--adb-port属于驱动启动参数,你用options.AddArgument添加的参数会全部传递给浏览器进程,驱动根本收不到这个配置。 - 没有指定要启动安卓端的Edge实例,驱动默认就会启动本地桌面端的Edge。
正确配置步骤
步骤1:通过EdgeDriverService配置驱动的adb端口参数
你需要先创建EdgeDriverService实例,将--adb-port=5037添加到驱动的启动参数列表中,示例代码:
var driverService = EdgeDriverService.CreateDefaultService(); // 给msedgedriver传递adb端口参数 driverService.ArgumentList.Add("--adb-port=5037");
步骤2:在EdgeOptions中指定安卓调试目标
需要明确告知驱动要启动安卓端的Edge,而不是本地桌面版,示例代码:
var options = new EdgeOptions { PageLoadStrategy = PageLoadStrategy.Normal, // 指定安卓端Edge的包名 UseAndroidPackage = "com.microsoft.emmx" }; // 如果同时连接多台安卓设备,可额外指定设备序列号,单设备可省略 // options.AndroidDeviceSerial = "your_device_serial";
步骤3:初始化驱动
将配置好的service和options同时传入EdgeDriver构造函数:
_driver = new EdgeDriver(driverService, options);
前置检查项
- 安卓设备已开启USB调试,执行
adb devices可以正常识别到设备 - 安卓设备上已安装微软Edge浏览器,且大版本号和你本地使用的msedgedriver大版本号一致
- 如果你修改过默认adb端口,要确保配置的端口和实际adb服务监听的端口一致
内容的提问来源于stack exchange,提问作者Ian Newson
相关产品推荐
相关产品推荐

