我正在尝试使用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 回答
慕无忌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或两者都不兼容...)。
总结:
删除 org.seleniumhq.selenium 3.6 重复的依赖关系,
清空“目标”目录
运行“maven clean”任务。
然后一切都恢复了工作。因此,appium 7.0.2,selenium 3.141.59和com.squareup.okhttp3 3.11.0再次一起做得很好。
添加回答
举报
0/150
提交
取消