我有一个简单的代码,以自动化我的手机,让它自己打开Chrome浏览器,并打开www.example.com,但我得到了一个错误,我不知道如何修复.google.com but I get an error which I'm not sure how to fix.
我有所有更新的jar
package browser_tests;
import java.net.MalformedURLException;
import java.net.URL;
import java.io.File;
import java.io.IOException;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.MobileElement;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
public class ChromeTest {
public static void main(String[] args) {
//Set the Desired Capabilities
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("deviceName", "My Phone");
caps.setCapability("udid", "77d1232f"); //Give Device ID of your mobile phone
caps.setCapability("platformName", "Android");
caps.setCapability("platformVersion", "8.0");
caps.setCapability("browserName", "Chrome");
caps.setCapability("noReset", true);
//Set ChromeDriver location
System.setProperty("webdriver.chrome.driver","C:\\selenium_drivers\\chromedriver.exe");
//Instantiate Appium Driver
AndroidDriver<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());
}
//Open URL in Chrome Browser
driver.get("http://www.google.com");
}
}
- 线程"main" java. lang中出现异常。错误:未解决的编译问题:AndroidDriver类型不是通用类型;不能使用参数将其参数化AndroidDriver类型不是泛型;不能使用参数将其参数化
at browser_tests.ChromeTest.main(ChromeTest.java:31)**
3条答案
按热度按时间yftpprvb1#
设置Android驱动程序从其
findElement
调用返回MobileElement
并不是错误(请参见Appium的Github中的AndroidDriver
类Javadoc),因此我们可以排除该问题。但是你的问题是,泛型类型不应该在调用
new AndroidDriver
时被放入构造函数调用/中,参见Appium的Github上BaseAndroidTest
的第34行和第54行,了解示例用法。因此,要解决您的问题,只需从
new AndroidDriver
构造函数中删除MobileElement
,但将其保留在声明中:您的驱动程序应示例化。
ig9co6j12#
不要使用最新的java_client 8.0,使用java_client 7.6.0,您的问题将消失
e37o9pze3#
更改为java-client-7.2.0.jar以解决go though this link问题