如何在 Eclipse 中为 Appium Server 修复 URL 定义
Posted
技术标签:
【中文标题】如何在 Eclipse 中为 Appium Server 修复 URL 定义【英文标题】:How to fix URL definitions in Eclipse for Appium Server 【发布时间】:2019-04-17 01:44:36 【问题描述】:我是 Eclipse 的新手。我正在尝试在 android 设备上启动 Appium 测试。我的喜好:
Appium 1.8.2 jre1.8.0_191 jdk1.8.0_191 eclipse 4.9.0 测试NG AndroidStudio 3.2.1 AndroidDeveloperTools所以在安装后,配置 Appiumserver、Android SDK、Android 设备管理器 - 下一步是在 Eclipse IDE 中开始测试我在定义 URL 时遇到了问题,不知道该怎么做。 jar 文件:
java-client-6.1.0.jar gson-2.8.5.jar client-combined-3.9.0-sources.jar client-combined-3.9.0.jar seleium-3.9.0-nodeps-sources.jar seleium-3.9.0-nodeps.jar seleium-html-runner-3.9.0.jar seleium-server-standalone-3.9.0.jar 测试NG JRE 系统库就是这样
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class FirstScript
private URL serverUrl;
public static AndroidDriver driver;
public String APPIUM_PORT = "4723";
@BeforeClass
public void setUp() throws MalformedURLException
//Set the Desired Capabilities
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("deviceName", "Samsung S7");
caps.setCapability("udid", "******************"); //Give Device ID of your mobile phone
caps.setCapability("platformName", "Android");
caps.setCapability("platformVersion", "8.0");
caps.setCapability("appPackage", "com.***.***");
caps.setCapability("appActivity", "com.***.***.MainActivity");
caps.setCapability("noReset", "true");
try
serverUrl = new URL("http://127.0.0.1:4723/wd/hub");
catch (MalformedURLException e)
e.printStackTrace();
driver = new AndroidDriver (serverUrl,caps);
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
@Test
public void testExample() ***
@AfterClass
public void tearDown() driver.closeApp();
Running debug for this code with error
Server is working
【问题讨论】:
可以分享一下错误截图吗?这将帮助我们更好地了解您的问题。或者尝试使用 localhost 而不是 IP 地址。 Error screenshot 检查我的回答,希望它能解决您的问题。 【参考方案1】:我建议你使用maven项目和依赖:java-client、selenium-java和testng。
如果不想使用maven项目,需要在eclipse中导入以上库。为此,在您的 Eclipse 工作区中,右键单击左侧窗格中的项目 -> 属性 -> Java 构建路径 -> 添加罐子 -> 在此处添加罐子。
更改您的代码如下:
public class FirstScript
public static AppiumDriver<MobileElement> driver;
@BeforeClass
public void setUp() throws MalformedURLException
//Set the Desired Capabilities
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("deviceName", "Samsung S7");
caps.setCapability("udid", "******************"); //Give Device ID of your mobile phone
caps.setCapability("platformName", "Android");
caps.setCapability("platformVersion", "8.0");
caps.setCapability("appPackage", "com.***.***");
caps.setCapability("appActivity", "com.***.***.MainActivity");
caps.setCapability("noReset", "true");
driver = new AndroidDriver (new URL("http://127.0.0.1:4723/wd/hub"),caps);
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
【讨论】:
我已经在使用这些库了: 1. java-client-6.1.0.jar 2. gson-2.8.5.jar 3. client-combined-3.9.0-sources.jar 4 .client-combined-3.9.0.jar 5.seleium-3.9.0-nodeps-sources.jar 6.seleium-3.9.0-nodeps.jar 7.seleium-html-runner-3.9.0.jar 8.seleium -server-standalone-3.9.0.jar 9. TestNG 10. JRE 系统库 是的!但问题出在 Selenium 3.9.0 - 3.141.59 的最新版本中。由于某些原因,在代码中输入了您的问题的解决方案是您使用 Selenium 的最新稳定版本,即 3.141.5
如果您有 Java 项目,那么在添加新的最新版本 jar 之前,请确保首先删除所有与 selenium 相关的旧 jar,然后将新下载的 jar 版本添加到构建路径。
如果是 Maven 项目,请将 selenium 依赖版本更新为最新版本并在终端上运行以下命令,
$ mvn clean install
【讨论】:
以上是关于如何在 Eclipse 中为 Appium Server 修复 URL 定义的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Eclipse 在 Appium 上运行脚本测试?