簡體   English   中英

AndroidDriver-Selenium庫問題,無法讀取AndroidManifest.xml錯誤

[英]AndroidDriver - Selenium library issues and unable to read AndroidManifest.xml error

我正在嘗試在Android模擬器(Mac)上運行在https://code.google.com/p/selenium/wiki/AndroidDriver#Run_the_Tests上找到的示例測試,但是在嘗試運行測試時遇到了問題。

我已經安裝了模擬器並安裝了WebDriver APK,然后在Eclipse中創建了一個新的Android應用程序項目,並創建了一個OneTest.java類,並復制了代碼(還導入了org.openqa.selenium.WebDriver;示例代碼)。 然后,我將兩個selenium-java-2.33.0 jar導入到庫中。 我也將androidmanifest更新為:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.test.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <uses-library android:name="android.test.runner" />
    </application>
    <instrumentation android:name="android.test.InstrumentationTestRunner"
    android:targetPackage="com.example.test" />
</manifest>

當我嘗試將OneTest.java作為Android Junit測試運行時,看到錯誤:

[2013-07-25 11:53:36 - Test] The library 'selenium-java-2.33.0.jar' contains native libraries that will not run on the device.
[2013-07-25 11:53:36 - Test] The following libraries were found:
[2013-07-25 11:53:36 - Test]  - org/openqa/selenium/firefox/amd64/libibushandler.so
[2013-07-25 11:53:36 - Test]  - org/openqa/selenium/firefox/amd64/x_ignore_nofocus.so
[2013-07-25 11:53:36 - Test]  - org/openqa/selenium/firefox/x86/libibushandler.so
[2013-07-25 11:53:36 - Test]  - org/openqa/selenium/firefox/x86/x_ignore_nofocus.so

如果我忽略該錯誤並嘗試再次運行它,我會看到:

[2013-07-25 11:59:43 - Test] Installing Test.apk...
[2013-07-25 11:59:44 - Test] Installation failed due to invalid APK file!
[2013-07-25 11:59:44 - Test] Please check logcat output for more details.
[2013-07-25 11:59:44 - Test] Launch canceled!

在LogCat中:

07-25 10:59:44.188: D/zipro(23141): Zip: EOCD not found, /data/local/tmp/Test.apk is not zip
07-25 10:59:44.188: D/asset(23141): failed to open Zip archive '/data/local/tmp/Test.apk'
07-25 10:59:44.219: W/PackageParser(23141): Unable to read AndroidManifest.xml of /data/local/tmp/Test.apk
07-25 10:59:44.219: W/PackageParser(23141): java.io.FileNotFoundException: AndroidManifest.xml
07-25 10:59:44.219: W/PackageParser(23141):     at android.content.res.AssetManager.openXmlAssetNative(Native Method)
07-25 10:59:44.219: W/PackageParser(23141):     at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:487)
07-25 10:59:44.219: W/PackageParser(23141):     at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:455)
07-25 10:59:44.219: W/PackageParser(23141):     at android.content.pm.PackageParser.parsePackageLite(PackageParser.java:733)
07-25 10:59:44.219: W/PackageParser(23141):     at com.android.defcontainer.DefaultContainerService$1.getMinimalPackageInfo(DefaultContainerService.java:171)
07-25 10:59:44.219: W/PackageParser(23141):     at com.android.internal.app.IMediaContainerService$Stub.onTransact(IMediaContainerService.java:110)
07-25 10:59:44.219: W/PackageParser(23141):     at android.os.Binder.execTransact(Binder.java:351)
07-25 10:59:44.219: W/PackageParser(23141):     at dalvik.system.NativeStart.run(Native Method)
07-25 10:59:44.219: W/DefContainer(23141): Failed to parse package

我在這里嘗試了建議, 如何解決Selenium中的庫問題? 改用android_webdriver_library.jar,但是在導入org.openqa.selenium.android.AndroidDriver時出現錯誤; 和WebDriver driver = new AndroidDriver(); 我可以使用android.AndroidWebDriver解決第一個問題; 但我無法解決AndroidDriver()的問題。

因為我是Eclipse / Android新手,所以任何幫助都將非常有用:)

編輯:我通過添加一些進步:

<uses-permission android:name="android.permission.INTERNET" /> 

到清單,但是我看到錯誤“找不到類'org.openqa.selenium.android.AndroidDriver”,該錯誤是從方法com.example.test.OneTest.testGoogle引用的

我已經通過創建Java項目(包括一個主要方法並將其作為Java應用程序運行)解決了大多數問題。 我還必須導入selenium-server-standalone-2.33.0.jar,否則運行測試時會遇到錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM