为了账号安全,请及时绑定邮箱和手机立即绑定

Appium 由于驱动程序而引发错误

Appium 由于驱动程序而引发错误

茅侃侃 2022-08-17 16:09:49
我正在尝试使用appium运行自动测试,但我总是收到以下错误:FAILED: fjava.lang.NoSuchMethodError: org.openqa.selenium.remote.http.HttpClient$Factory.createDefault()Lorg/openqa/selenium/remote/http/HttpClient$Factory;我注意到,如果我删除从驱动程序声明到底部的所有内容,则测试成功。这是我的代码:package test;import java.net.MalformedURLException;import java.net.URL;import org.openqa.selenium.By;import org.openqa.selenium.Platform;import org.openqa.selenium.WebDriver;import org.openqa.selenium.remote.BrowserType;import org.openqa.selenium.remote.DesiredCapabilities;import org.openqa.selenium.remote.RemoteWebDriver;import org.testng.annotations.Test;import io.appium.java_client.AppiumDriver;import io.appium.java_client.MobileElement;import io.appium.java_client.android.AndroidDriver;import io.appium.java_client.remote.MobileCapabilityType;public class FirstTest {  @Test  public void f() throws MalformedURLException, InterruptedException {        new DesiredCapabilities();        //Set the Desired Capabilities        DesiredCapabilities caps = new DesiredCapabilities();        caps.setCapability(MobileCapabilityType.BROWSER_NAME, BrowserType.CHROME);        caps.setCapability(MobileCapabilityType.PLATFORM_NAME , Platform.ANDROID);        caps.setCapability(MobileCapabilityType.DEVICE_NAME, "My Phone");        caps.setCapability("udid", "K6T6R16C01001259"); //Give Device ID of your mobile phone        caps.setCapability("platformName", "Android");        caps.setCapability(MobileCapabilityType.VERSION, "7.0");        caps.setCapability("appPackage", "com.android.chrome");        caps.setCapability("appActivity", "com.google.android.apps.chrome.Main");        caps.setCapability("noReset", "true");        //Instantiate Appium Driver        AppiumDriver<MobileElement> driver = null;        try {            driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);        } catch (MalformedURLException e) {            System.out.println(e.getMessage());        }        driver.get("http://www.google.com");  }}
查看完整描述

2 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

我自己解决了。我将项目转换为maven项目,它现在就像一个魅力。


查看完整回答
反对 回复 2022-08-17
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

我在一个双appium + selenium项目上遇到了同样的问题,这个项目一直运行良好。它停止工作,除了我升级intellij的那天,同样的例外......不知何故,一个重复的依赖项入到pom.xml中。(3.141.59和3.6.版本中现有的org.seleniumhq.selenium),我不知道,我怀疑这是由安装引入的,而不是由我的一些错过的举动引入的。因此,错误的来源来自这个重复的组织.seleniumhq.selenium 3.6。(与Appium 7.0.2或com.squareup.okhttp3或两者都不兼容...)。

总结:

  1. 删除 org.seleniumhq.selenium 3.6 重复的依赖关系,

  2. 清空“目标”目录

  3. 运行“maven clean”任务。

然后一切都恢复了工作。因此,appium 7.0.2,selenium 3.141.59和com.squareup.okhttp3 3.11.0再次一起做得很好。


查看完整回答
反对 回复 2022-08-17
  • 2 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信