我对appium很陌生:
我想运行一个代码,在我的设备中打开chrome和google浏览器。通用域名格式:
@BeforeMethod
public void setUp() throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("browserName", "Browser");
capabilities.setCapability("device", "Android");
capabilities.setCapability("deviceName", "TA9330416L");
capabilities.setCapability("platformVersion", "5.1");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "com.android.chrome");
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
}
@AfterMethod
public void tearDown() throws Exception {
driver.quit();
}
@Test
public void launchWebsite()throws InterruptedException {
driver.get("http://www.google.com");
}
但是得到以下错误:
?* 配置失败:@BeforeMethod安装程序java。lang.NoClassDefFoundError:com/google/common/base/Function位于WhatsApp。在sun上设置(WhatsApp.java:36)。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(未知源)。反映DelegatingMethodAccessorImpl。在java上调用(未知源)。朗。反思。方法在组织中调用(未知源)。testng。内部的方法调用助手。org上的invokeMethod(MethodInvocationHelper.java:86)。testng。内部的调用者。org上的invokeConfigurationMethod(Invoker.java:514)。testng。内部的调用者。org上的invokeConfigurations(Invoker.java:215)。testng。内部的调用者。org上的invokeMethod(Invoker.java:589)。testng。内部的调用者。invokeTestMethod(Invoker.java:820)位于org。testng。内部的调用者。org上的invokeTestMethods(Invoker.java:1128)。testng。内部的TestMethodWorker。invokeTestMethods(TestMethodWorker.java:129)位于org。testng。内部的TestMethodWorker。在org上运行(TestMethodWorker.java:112)。testng。测试者。privateRun(TestRunner.java:782)位于org。testng。测试者。在org上运行(TestRunner.java:632)。testng。SuiteRunner。在org上运行测试(SuiteRunner.java:366)。testng。SuiteRunner。在org上按顺序运行(SuiteRunner.java:361)。testng。SuiteRunner。privateRun(SuiteRunner.java:319)位于org。testng。SuiteRunner。在org上运行(SuiteRunner.java:268)。testng。SuiteRunnerWorker。运行套件(SuiteRunnerWorker.java:52)位于org。testng。SuiteRunnerWorker。在org上运行(SuiteRunnerWorker.java:86)。testng。TestNG。在org上依次运行suitessequential(TestNG.java:1246)。testng。TestNG。在org上本地运行suitesLocal(TestNG.java:1171)。testng。TestNG。在org上运行(TestNG.java:1066)。testng。遥远的远程测试。在org上运行(RemoteTestNG.java:113)。testng。遥远的远程测试。initAndRun(RemoteTestNG.java:206)位于org。testng。遥远的远程测试。main(RemoteTestNG.java:177)由:java引起。lang.ClassNotFoundException:com.google.常见的基础函数在java上运行。网URLClassLoader。java上的findClass(未知源代码)。lang.ClassLoader。sun上的loadClass(未知源)。杂项。启动器$AppClassLoader。java上的loadClass(未知源)。lang.ClassLoader。loadClass(未知源)。。。还有27个
跳过配置:@Aftermethod tearDown
跳过:启动网站*/
必须创建任何测试类吗?错误表示找不到类定义。您必须首先在测试类上创建,并在类中定义函数。我没有在android浏览器上尝试过,但我已经使用appium实现了android混合应用和本机应用的自动化。
package test;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import io.appium.java_client.android.AndroidDriver;
public class TestBrowser {
public AndroidDriver driver;
public TestBrowser() {
//To do
}
@BeforeMethod
public void setUp() throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("appium-version", "1.0");
capabilities.setCapability("browserName", "Browser");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName", "TA9330416L");
capabilities.setCapability("platformVersion", "5.1");
capabilities.setCapability("appPackage", "com.android.chrome");
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}
@AfterMethod
public void tearDown() throws Exception {
if(driver!=null)
driver.quit();
}
@Test
public void launchWebsite()throws InterruptedException {
driver.get("http://www.google.com");
}
}
您需要添加这个依赖项https://code.google.com/p/guava-libraries/
以下版本的系统配置- Mac OS-10.12 Xcode-8.0 Appium-1.5.3
请任何人帮帮我...我已经试了两个星期了
控制台错误 有人面临这个问题吗?
我试图运行一个简单的登录测试,但我被困在这个。Appium不打开应用程序:( 下面是Java中的clode类: 有人知道我做错了什么吗?我是缺少任何导入还是语法错误?
问题内容: 您可以在外壳程序脚本运行时对其进行编辑,并使更改影响正在运行的脚本吗? 我对csh脚本的具体情况感到好奇,因为我有该批处理运行一系列不同的构建风格并整夜运行。如果在操作过程中发生什么事情,我想加入并添加其他命令,或注释掉未执行的命令。 如果不可能,是否有任何外壳或批处理机制可以使我做到这一点? 当然,我已经尝试过了,但是要知道它是否有效还需要几个小时,而且我对幕后正在发生或未发生的事情