我正在尝试使用eclipse氧气运行我的第一个appium测试用例。 我一步一步地跟进了教程
http://www.automationtestinghub.com/appium-tutorial/
我的实际代码是
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
public class AppiumTest {
public static void main(String[] args) {
//Set the Desired Capabilities
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("deviceName", "SM-T211");
caps.setCapability("udid", "41022b138d311100"); //Give Device ID of your mobile phone
caps.setCapability("platformName", "Android");
caps.setCapability(CapabilityType.VERSION, "4.4.2");
caps.setCapability("appPackage", "com.isinolsun.app");
caps.setCapability("appActivity", "com.isinolsun.app.activities.OnBoarderActivity");
caps.setCapability("noReset", "true");
//Instantiate Appium Driver
try {
AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
driver.closeApp();
} catch (MalformedURLException e) {
System.out.println(e.getMessage());
}
}
我正在使用真实设备。
安装了Appium Desktop应用程序。 当我运行程序时,它在该行上给我例外
AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
driver.closeApp();
} catch (MalformedURLException e) {
System.out.println(e.getMessage());
}
异常消息是
Exception in thread "main" java.lang.NoClassDefFoundError: javax/websocket/DeploymentException
at io.appium.java_client.android.ListensToLogcatMessages.<clinit>(ListensToLogcatMessages.java:34)
at com.appiumtest.firsttestscript.AppiumTest.main(AppiumTest.java:27)
Caused by: java.lang.ClassNotFoundException: javax.websocket.DeploymentException
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
根据教程步骤包含所有jar文件。 还添加了sdk,android studio,jdk。
任何人都可以指导我吗?
答案 0 :(得分:2)
以下代码:
public class AppiumTest
{
public static void main(String[] args) throws Exception
{
// start appium server
Runtime.getRuntime().exec("cmd.exe /c start cmd.exe /k \"appium -a 0.0.0.0 -p 4723\"");
//get address of appium server
URL u=new URL("http://0.0.0.0:4723/wd/hub");
//provide device and app info
DesiredCapabilities dc=new DesiredCapabilities();
dc.setCapability(CapabilityType.BROWSER_NAME,"");
dc.setCapability("deviceName","NVRW499T9PVCSGTO");
dc.setCapability("platformName","android");
dc.setCapability("platformVersion","6.0");
dc.setCapability("appPackage","com.isinolsun.app");
dc.setCapability("appActivity","com.isinolsun.app.activities.OnBoarderActivity");
//create driver object to launch app in device
AndroidDriver driver;
while(2>1)
{
try
{
driver=new AndroidDriver(u,dc);
break;//terminate from loop
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
driver.closeApp();
//stop appium server
Runtime.getRuntime().exec("taskkill /F /IM node.exe");
Runtime.getRuntime().exec("taskkill /F /IM cmd.exe");
}
}
答案 1 :(得分:2)
您必须删除java-client-6.0.0-BETA5 JAR并添加java-client-5.0.0-BETA5 JAR。
干杯。