有几种可能的解决方案:
Connection refused
表示由于某些原因,Appium服务器无法处理传入的请求。
1.检查可能的本地问题
检查是否已经启动了相同的进程或具有相同端口的进程。
2.以服务器为基础
或者干脆不要每次尝试测试时都运行Appium,打开服务器,让它保持服务器应有的行为,一直运行,并在需要时处理请求。
在start中,我也尝试过这种方法,通过编程方式运行服务器,但它确实不是必需的,速度较慢,需要维护,而且您必须始终启动它。
我的意见是这很耗时,而且没有必要。从命令行/控制台启动,有多种方法,节点。js,shell脚本,Appium服务器IDE。
下面是最简单的命令(来自mac)
appium --address 127.0.0.1 --port 4723
3.可能的解决方案
AppiumDriverLocalService
AndroidDriver<MobileElement> driver=null;
AppiumDriverLocalService service=null;
service = AppiumDriverLocalService.buildDefaultService();
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platormName", "Android");
capabilities.setCapability("deviceName", "yourAppUdid");
capabilities.setCapability("appPackage","YourAppPackage");
capabilities.setCapability("appActivity","yourAppActivity");
(or IOS)
DesiredCapabilities capabilities = new DesiredCapabilities();
// Set ios deviceName desired capability. Set your device name.
capabilities.setCapability("deviceName", "My iPhone");
// Set BROWSER_NAME desired capability. Itâs iOSin our case here.
capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
// Set iOS VERSION desired capability. Set your mobile deviceâs OS version.
capabilities.setCapability(CapabilityType.VERSION, "11.2.6");
// Set iOS platformName desired capability. Itâs Android in our case here.
capabilities.setCapability("noReset", false);
capabilities.setCapability("platformName", "iOS");
//capabilities.setCapability("platformVersion", "7.1.1");
// Set your applicationâs appPackage if you are using any other app.
capabilities.setCapability("xcodeSigningId", "iPhone Developer");
capabilities.setCapability("appActivity", "com.<redacted>.<redacted>.<redacted>");
// It will launch app in iOS device.
capabilities.setCapability("udid", "<redacted>");
capabilities.setCapability("xcodeOrgId", "<redacted>");
capabilities.setCapability("automationName", "XCUITest");
capabilities.setCapability("bundleId", "com.<redacted>.<redacted>");
System.out.println("capabilities Set.");
service.start();
driver = new AndroidDriver<MobileElement>(service, capabilities);
注意:如果您使用的是appium 1.5.3或更高版本,则必须在环境变量中设置appium_BINARY_PATH。
e、 g.应用程序二进制路径=。。。\节点\u modules\appium\build\lib\main。js
希望这有帮助,