这是我的代码:
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("device","Android");
capabilities.setCapability("app", "Browser");
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Android");
capabilities.setCapability(CapabilityType.VERSION, "4.4");
capabilities.setCapability(CapabilityType.PLATFORM, "Ubuntu");
driver = new RemoteWebDriver(new URL("//127.0.0.1:4723/wd/hub"), capabilities);
driver .get(URL);
它在appium服务器中抛出一个异常。 ![appium] [1]
它说:
org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Could not find a connected Android device.) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 20.43 seconds
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'xyz', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'i386', os.version: '3.8.0-29-generic', java.version: '1.7.0_51'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
答案 0 :(得分:1)
是的,我们可以在没有源代码的情况下运行appium,你必须提供apk文件路径,并且需要从功能中删除活动和包名称。
答案 1 :(得分:0)
不,你必须指定一个apk文件和/或活动&包配置。
对于混合应用程序,您只需要apk文件和活动&包配置。
对于webapps,您只需要apk文件并确保指定要使用的浏览器并配置用户代理。
对于原生应用,您必须删除或注释掉apk文件,并且必须已配置活动&包配置。
这个错误发生了3个原因,我可以想到我的头脑。 1.)你没有打开appium服务器。 2.)您之前的测试没有完全终止。 3.)您没有说明哪个应用需要测试 4.)如果您不符合启动Web,混合和本机应用程序的标准。
答案 2 :(得分:0)
不通过“ app”功能,appium将根据所需功能传递的软件包名称和启动活动名称启动已安装的应用程序