当前位置: 首页 > 知识库问答 >
问题:

Appium-Android混合应用程序

邹英悟
2023-03-14

执行测试脚本后,我看到控制台“驱动程序null”错误

剧本:

capabilities.setCapability("appium-version", "1.4.0");
System.out.println("<<< Detects android device / emulator >>>");
capabilities.setCapability("deviceName","New1");
capabilities.setCapability("platformVersion", "4.4.2");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("autoWebview","true");
capabilities.setCapability("automationName","Appium");
//capabilities.setCapability("newCommandTimeout", "180");
capabilities.setCapability("app", "com.android.launcher");
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("appActivity", "com.sciit.mat");
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
<<< Detects android device / emulator >>>
<<< Utlizes remote webdriver >>>
Driver in App screen : null
FAILED: sampletestmethod
java.lang.NoSuchMethodError: org.openqa.selenium.remote.ErrorHandler.<init>(Lorg/openqa/selenium/remote/ErrorCodes;Z)V
at io.appium.java_client.AppiumDriver.<clinit>(AppiumDriver.java:46)
at com.sci.matapp.sampleScript1.TestScript1.sampletestmethod(TestScript1.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:639)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
at org.testng.TestRunner.privateRun(TestRunner.java:773)
at org.testng.TestRunner.run(TestRunner.java:623)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:359)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)
at org.testng.SuiteRunner.run(SuiteRunner.java:261)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)
at org.testng.TestNG.run(TestNG.java:1018)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:112)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:176)
===============================================
Default test
Tests run: 1, Failures: 1, Skips: 0
===============================================

===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0
===============================================
[TestNG] Time taken by org.testng.reporters.XMLReporter@1064425: 521 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@6ea0c6: 508 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 131 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@899482: 746 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@d17bee: 551 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@16432db: 81 ms

如果我错过了什么,有人能帮忙吗。谢谢,

共有1个答案

陈朗
2023-03-14

当jar文件之间存在版本冲突时,您将获得ClassNotFoundExcepthtml" target="_blank">ion/NosuchMethodError。另外,它在AppiumDriver上给出了错误。

  • selendroid-client-0.16.0.jar
  • selendroid-standalone-0.16.0.-with-dependanies.jar
  • Selenium-Server-Standalone-2.45.0.jar或更高版本
  • Selenium-Java-2.44.0
  • java-client-3.1.0(1.0.1太旧)

编辑

    null
String nr = driver.getWindowHandles().toString();
System.out.print(nr); 
[NATIVE_APP, WEBVIEW_1, WEBVIEW_0]
driver.switchTo().window("WEBVIEW_1");

请注意:Appium在多个网络视图之间的切换并不好。(至少我面对过这个问题。)

 类似资料:
  • 我只是在iPhone模拟器上安装了Appium 1.3.6来测试我的混合cordova iOS应用程序。能够找到按钮元素及其文本,宽度,高度。但是click()不工作。但是我得到了200成功的响应为click。请查看下面的appium日志。

  • 在这一点上,我只是不知道该去哪里找。Appium网站似乎没有关于用于测试的命令的详细文档。

  • 我是一名PHP、HTML5、CSS3、Javascript、Jquery、Angular的全栈开发人员,热衷于学习任何新技术 现在,我有了一个混合移动应用程序项目(更简单,只需少量的curd操作和web服务),而且它还将是web应用程序,我需要尽快交付。所以我的问题是为正确的工作选择正确的工具 混合应用程序可以使用 平台:Phonegap或cordova,根据我的理解,cordova是Phoneg

  • 混合应用 It's possible to connect infinite count of microservices to your existing Nest web application. 可能会在你现有的Nest web应用程序中上连接无数微服务。 Example: 示例: const app = NestFactory.create(ApplicationModule); cons

  • 我在移动领域已经有一段时间了,我们已经有了原生的Android和iOS应用程序。现在我们公司正计划加强我们的移动网站,我们的团队已经选择Angular 2 TypeScript Ionic 2。我们非常困难地完成了我们在爱奥尼亚的注册表格开发。现在我了解了NativeScript,它可以在不使用webview的情况下开发混合应用程序,而且由于它使用了本机UI组件,人们说它的外观 我有点困惑选择一个

  • 我对appium比较陌生,并且积极参与poc。要求是从下拉列表中选择一个值,但是我可以单击微调器元素,但下面的任何内容都无法识别我的uiautomator。因此,我无法从微调器元素中选择任何值。我正在附加脚本的代码块以及元素树快照。 快照1 快照2 我想从Snapshot2的微调器下拉列表中选择值。但是我无法在uiautomator中找到它们。寻求帮助。提前谢谢。