Appium 测试用例抛出异常
Appium Test Case Throws Exception
我正在尝试 运行 我的第一个使用 eclipse oxygen 的 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 桌面应用程序已安装。
当我 运行 编程时,它在该行给了我异常
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 也添加了。
谁能指导我?
执行以下代码:
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");
}
}
您必须删除 java-client-6.0.0-BETA5 JAR 并添加 java-client-5.0.0-BETA5 JAR。
干杯。
我正在尝试 运行 我的第一个使用 eclipse oxygen 的 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 桌面应用程序已安装。 当我 运行 编程时,它在该行给了我异常
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 也添加了。
谁能指导我?
执行以下代码:
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");
}
}
您必须删除 java-client-6.0.0-BETA5 JAR 并添加 java-client-5.0.0-BETA5 JAR。
干杯。