簡體   English   中英

通過Appium在Android OS上運行Selenium Test

[英]Running Selenium Test on Android OS through Appium

我試圖在android模擬器上運行我的硒測試,但這不能正常工作。 我使用eclipse在Java中編寫代碼,設置如下:1. selenium-server-standalone-jar.2.44.0 2. testng-6.8.jar 3. appium 1.3.4.1,這些是我要發送的功能Appium

@BeforeMethod()
public void setUp() throws Exception {

    //Appium needs the path of app build
    //Set up the desired capabilities and pass the iOS SDK version and app path to Appium
    DesiredCapabilities capabilities = new DesiredCapabilities();

    File appDir = new File("C:/Appium");
    File app = new File(appDir, "android-server-2.38.0.apk");        
    capabilities.setCapability("platformName", "Android");
    capabilities.setCapability("automationName", "Appium");       
    capabilities.setCapability("deviceName", "Nexus_5");
    capabilities.setCapability("browserName", "Firefox");

    driver = new SelendroidDriver(new URL("http://localhost:4723/wd/hub"), capabilities);

這是我通常從Eclipse獲得的輸出

FAILED CONFIGURATION: @AfterMethod tearDown
org.openqa.selenium.WebDriverException: Not yet implemented. Please help us: http://appium.io/get-involved.html (WARNING: The server did not provide any stacktrace information)

Appium設置的屏幕截圖

這是我通常從Appium獲得的輸出

> Starting Node Server
> info: Welcome to Appium v1.3.4 (REV c8c79a85fbd6870cd6fc3d66d038a115ebe22efe)
> info: Appium REST http interface listener started on 127.0.0.1:4723
> info: [debug] Non-default server args: {"app":"C:\\Appium\\android-server-2.38.0.apk","address":"127.0.0.1","fullReset":true,"logNoColors":true,"androidPackage":"org.openqa.selenium.android.app","androidActivity":".MainActivity","avd":"N5-Emulator","deviceName":"Nexus_5","platformName":"Android","platformVersion":"19","automationName":"Appium"}
> info: Console LogLevel: debug
> info: --> POST /wd/hub/session {"desiredCapabilities":{"automationName":"Appium","platformName":"Android","deviceName":"Nexus_5","browserName":"Firefox"}}
> info: Client User-Agent string: Apache-HttpClient/4.3.2 (java 1.5)
> info: [debug] Using local app from command line: C:\Appium\android-server-2.38.0.apk
> info: [debug] Creating new appium session daa741f2-6153-441d-951e-b4f17f3e4e09
> info: Starting android appium
> info: [debug] Getting Java version
> info: Java version is: 1.7.0_55
> info: [debug] Using fast reset? false
> info: [debug] Preparing device for session
> info: [debug] Checking whether app is actually present
> info: [debug] Checking whether adb is present
> info: [debug] Using adb from C:\Program Files (x86)\Android\sdk\platform-tools\adb.exe
> info: [debug] Trying to find N5-Emulator emulator
> info: [debug] Getting connected emulators
> info: [debug] Getting connected devices...
> info: [debug] executing cmd: "C:\Program Files (x86)\Android\sdk\platform-tools\adb.exe" devices
> info: [debug] 1 device(s) connected
> info: [debug] 1 emulator(s) connected
> info: [debug] Sending telnet command to device: avd name
> info: [debug] Getting running emulator port
> info: [debug] Socket connection to device created
> info: [debug] Socket connection to device ready
> info: [debug] Telnet command got response: N5-Emulator
> info: [debug] Found emulator N5-Emulator in port 5556
> info: [debug] Setting device id to emulator-5556
> info: [debug] Did not launch AVD because it was already running.
> info: [debug] Waiting for device to be ready and to respond to shell commands (timeout = 5)
> info: [debug] executing cmd: "C:\Program Files (x86)\Android\sdk\platform-tools\adb.exe" -s emulator-5556 wait-for-device
> info: [debug] executing cmd: "C:\Program Files (x86)\Android\sdk\platform-tools\adb.exe" -s emulator-5556 shell "echo 'ready'"
> info: [debug] Starting logcat capture
> info: [debug] Getting device API level
> info: [debug] executing cmd: "C:\Program Files (x86)\Android\sdk\platform-tools\adb.exe" -s emulator-5556 shell "getprop ro.build.version.sdk"

畢竟,我在模擬器上得到了一個空白屏幕,上面寫着“ WebDriver Ready”,僅此而已,它沒有打開瀏覽器或任何東西。 任何幫助將不勝感激。

我知道這個問題很老了。 但是,請在此處找到使用Appium的Android功能測試框架的示例工作模板,該模板是Java,可以從代碼中啟動Appium服務器。 意味着,您不必在運行這些測試之前每次都啟動Appium應用,並且它可以輕松集成到CI服務器。

我的建議是,在編寫任何代碼之前,請先手動嘗試,這樣,當您全部投入使用並投入運行時,它真的很容易投入代碼中。

請檢查以下要求:

  • 在服務器部分(Appium)上
  • 發射活動是真的嗎?
  • 模擬器名稱正確嗎?
  • API級別與模擬器相同

在代碼方面(java,pyhton,c#...):

  • 檢查服務器中提供的所有數據是否都以所需的功能“注入”

檢查此鏈接,這是一個很好的起點: https : //appium.io/docs/en/writing-running-appium/running-tests/#running-your-test-app-with-appium-android

暫無
暫無

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

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