如何在Eclipse与Appium Desktop中跳过安卓模拟器的Chrome欢迎页?
我来帮你完善这个Appium自动化脚本,实现在安卓模拟器的Chrome浏览器中打开指定URL的功能。下面是完整可运行的代码,还有关键的注意事项:
完整Appium安卓Chrome自动化实现脚本
首先,确保你的项目已经引入了Appium Java Client的依赖(如果是Maven项目,记得在pom.xml中添加对应依赖),然后使用下面的完整代码:
package Appium.appiumTest; import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit; import org.openqa.selenium.remote.DesiredCapabilities; import io.appium.java_client.AppiumDriver; import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; public class ChromeWebAutomation { public static void main(String[] args) { // 配置Appium所需的Capabilities参数 DesiredCapabilities caps = new DesiredCapabilities(); // 替换成你自己的安卓模拟器名称,可通过adb devices命令查看 caps.setCapability("deviceName", "Pixel_5_API_30"); caps.setCapability("platformName", "Android"); // 指定要启动的浏览器为Chrome caps.setCapability("browserName", "Chrome"); // 重点!这里要填和模拟器Chrome版本匹配的chromedriver路径,版本不兼容会直接报错 caps.setCapability("chromedriverExecutable", "/Users/yourname/Downloads/chromedriver"); // 设置noReset为true,避免每次运行都重置Chrome的状态 caps.setCapability("noReset", true); AppiumDriver<MobileElement> driver = null; try { // 连接本地的Appium Server,默认端口是4723 driver = new AndroidDriver<>(new URL("http://0.0.0.0:4723/wd/hub"), caps); // 设置隐式等待时间,避免页面元素加载慢导致报错 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); // 替换成你要访问的目标URL driver.get("https://www.your-target-url.com"); } catch (MalformedURLException e) { System.out.println("Appium连接出错:" + e.getMessage()); } finally { // 运行结束后关闭驱动,释放资源 if (driver != null) { driver.quit(); } } } }
关键注意事项
- 确保Appium Desktop已经启动,并且安卓模拟器处于正常运行状态(可以用
adb devices命令确认模拟器已成功连接) - chromedriver版本必须和模拟器中Chrome的版本完全匹配,这是最容易踩坑的点。你可以在Chrome的设置里查看当前版本,然后去Chrome官网下载对应版本的chromedriver
- 模拟器名称要和你实际使用的一致,比如Android Studio创建的模拟器名称可以在AVD Manager里查看
- 如果Appium Server使用了自定义端口,记得修改代码中的URL端口号
内容的提问来源于stack exchange,提问作者Javier de la Rica
相关产品推荐
相关产品推荐

