2

我在尝试运行 appium 测试时遇到上述错误。我使用的罐子是:

我的 lib 文件夹中的罐子:

我的 lib 文件夹中的罐子

我的应用程序即将出现

driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), caps);

但在下一步中,

driver.wait(5000);

它失败了,但有以下例外:

我得到的例外

我是 appium 的初学者,因此下载了上面提到的 jar 文件来查看依赖项。我已经尝试了多种版本的 jar 组合,但它仍然给出了异常。你能告诉我如何进行吗?我使用 Ant 构建项目。

我也使用过 java 客户端 6.1.0,但使用它甚至无法启动我的应用程序。我也使用了最新的 gson jar,它是 2.8.5

我的 build.xml 如下:

<?xml version="1.0" encoding="UTF-8"?>

<property name="build.dir" location="bin">
</property>
<property name="src.dir" location="src">
</property>
<property name="docs.dir" location="docs">
</property>
<property name="dist.dir" location="dist">
</property>
<property name="lib.dir" location="lib">
</property>
<property name="resources.dir" location="resources">
</property>
<path id="build.classpath">
    <fileset dir="${lib.dir}" includes = "gson-2.8.5.jar">
        <include name="*.jar"/>
    </fileset>
</path>
<pathconvert property="classpathProp" refid="build.classpath" />
<echo>Classpath is ${classpathProp}</echo>
<target name="init">
    <mkdir dir="bin"/>
    <mkdir dir="dist"/>
    <mkdir dir="docs"/>

</target>
<target name="clean">
    <delete dir="${build.dir}"/>
    <delete dir="${docs.dir}"/>
    <delete dir="${dist.dir}"/>
</target>
<target name="compile" depends="clean,init">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" includeantruntime="false">
    </javac>
</target>
<target name="main" depends="compile">
    <java classname="core.Trigger" classpath="${build.dir}" classpathref="build.classpath"></java>
</target>

4

2 回答 2

0

对我来说,问题是由于使用父类 Webdriver 而不是 Android 驱动程序。我想让它同时适用于应用程序和桌面。我以前见过这样的用法,但对我来说它没有用。

于 2018-08-03T07:34:33.893 回答
0
  1. 你能更新gson库,即gson jar到最新版本吗
  2. 我也从未见过 appium 提供的直接等待方法。尝试在开始时使用隐式等待。

    driver.manage().timeouts().implicitlywait(10 timeunit.seconds)

  3. 还要提一下android驱动的类类型

driver = new AndroidDriver[MobileElement](new URL(" http://127.0.0.1:4723/wd/hub "), caps);

或者

driver = new AndroidDriver[WebElement](new URL(" http://127.0.0.1:4723/wd/hub "), caps);

  1. 还要确保您的 appium 服务器在正确的端口上运行。

注意 - 使用 [] 而不是更大和更少的括号,因为它们不会在页面上呈现。

于 2018-08-01T13:08:42.740 回答