簡體   English   中英

Android功能測試; 將地理位置發送到模擬器

[英]Android functional test; send geo location to emulator

我們的android應用程序變得相當大,我們希望為我們的應用程序使用功能測試來防止回歸。 我們正在尋找實現這一目標的方案。

我們使用地理位置,所以現在我們通過在DDMS中輸入lat / long來測試應用程序。 如果我們要測試它,應該可以以編程方式設置這些地理位置。

是否有一個框架,我們可以用來功能測試我們的Android應用程序,並將這些更新發送到我們的模擬器?

如果你在Eclipse中編譯,你可以偽造android模擬器中的lat / lon:

  • Windows>打開透視圖>其他。
  • 選擇DDMS
  • 搜索模擬器控制選項卡
  • 使用位置控件可以隨時發送緯度和經度。

我面臨同樣的問題。 雖然此解決方案未內置於robotium中,但您應該能夠將其變為可用於單元測試的實用程序。

單元測試位置服務

如果你使用monkeyrunner,那么你可以使用這個函數:

def telnet(host, port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.settimeout(2)

    # connect to remote host
    try :
        s.connect((host, port))
    except :
        print 'Unable to connect'
        sys.exit()

    print 'Connected to remote host'
    return s

def geo_fix(port, lat, lng):
    print "setting gps to " + str(lat) + "," + str(lng)
    socket = telnet("localhost", port)
    socket.send("geo fix " + str(lng) + " " + str(lat) + "\n")
    socket.send("exit\n")
    socket.close()

geo_fix(5554, 32.0878802, 34.797246)

我找不到從MonkeyDevice獲取模擬器端口的方法,所以我手動傳遞端口,但如果我們可以從設備對象中弄清楚它會更好

暫無
暫無

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

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